A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

EEL Microprocessadores

Apresentações semelhantes


Apresentação em tema: "EEL Microprocessadores"— Transcrição da apresentação:

1 EEL7030 - Microprocessadores
Prof. Raimes Moraes GpqCom – EEL UFSC

2 8086 Primeiro (1980) da família do Pentium (80x86). Componente com arquitetura similar (8088) utilizado no primeiro IBM PC. Cada descendente executa código dos antepassados e possui: Mesmo conjunto básico de registradores (Mais bits, contudo) Mesmo conjunto básico de instruções (Mais muitas outras, contudo) Mesmo mecanismo de interrupções

3 8086 Processador de 16-bits: Registradores de 16 bits
Possui 20 pinos de endereçamento (16 destes são multiplexados com os dados) Endereça até 220 posições de memória (00000H a FFFFFH): Possui 216 endereços para dispositivos de I/O: (0000H a FFFFH) Pode-se ler byte ou palavra de 16 bits da memória

4 8088 Processador de 16-bits (Mesmo cj. de instruções do 8086):
Registradores de 16 bits Possui 20 pinos de endereçamento (8 destes são multiplexados com o barramento de dados. Palavra de 16 bits é lida da memória byte a byte) Endereça até 220 posições de memória (00000H a FFFFFH): Possui 216 endereços para dispositivos de I/O: (0000H a FFFFH) Pode-se ler byte ou palavra de 16 bits da memória

5 Distribuição de dados na memória: LSB, MSB
00000H 12H Conteúdo lido da memória em 00000H: 3412H 00001H 34H Conteúdo lido em 00001H: 56 34H 00002H 56H Conteúdo lido da memória em 00002H: 78 56H 00003H 78H Conteúdo lido em 00003H: 91 78H 00004H 91H Conteúdo do byte 4H 00005H 23H Conteúdo do byte 5H . FFFFEH ABH Conteúdo lido da memória em FFFFEH: CD ABH FFFFFH CDH

6 8088

7 Registradores do 8088

8 Registradores de Dados Registradores do Pentium

9 Papel especial de registradores em instruções específicas
BX: Usado em endereçamento CX: Usado como contador default DX é usado para: - Endereçamento de Portas de I/O de 16-bits (IN AL, DX) - Registrador mais significativo do resultado de produto de operandos de 16 bits - Registrador mais significativo de dividendo de 32 bits. Acumulador : 8-bit AL, 16-bit AX, 32-bit DX AX

10 Flags Aritméticos FLAG SETADO SE OPERAÇÃO TEM RESULTADO :
OF (OVERFLOW) OPERAÇÃO EXCEDE TAMANHO DO REG. SF (SINAL) NEGATIVO Z F(ZERO) ZERO AF (CARRY AUXILIAR) VAI ou VEM 1 do BIT3 para o BIT4 do Acc PF (PARIDADE) PARIDADE PAR (NRO DE ‘1’s no Acc é PAR) CF (CARRY) VAI ou VEM 1 (Operações aritméticas)

11 Flags de Controle DF Direcão (forward/backward)
Usado em Instruções de manipulação de strings IF Habilita/Desabilita Interrupções TF Habilita/Desabilita execução de instrução passo a passo

12 Registradores Utilizados na Manipulação de Dados
Registradores de 16-bits: AX, BX, CX, DX, SI, DI, BP, SP Registradores de dados (8-bits): AH, AL, BH, BL, CH, CL, DH, DL

13 Registradores de Endereçamento
Registradores de Segmento (16-bits): CS Code Segment DS Data Segment SS Stack Segment ES Extra Segment Registradores de Offset (16-bits): IP Instruction Pointer SP Stack Pointer BP Base Pointer SI Source Index DI Destination Index

14 Barramento do 8088 : A19 a A16 S4 S3 Segmento Dados Extra 1 Pilha
ADDRESS/STATUS: Durante ciclo de clock T1, disponibilizam os 4 MS bits do endereço ou “0” em operações de I/O. Durante demais ciclos, informação de status. S6 é sempre baixo. S5 indica nível do bit IF. S4 e S3 indicam qual registrador de segmento está sendo usado. S4 S3 Segmento Dados Extra 1 Pilha Código Dados

15 Endereçamento Como endereçar 1 Mbytes a partir de registradores de 16 bits? 8088: Reg. de Segmento x 16 + Reg. Offset

16 Composição de endereços com registradores de segmentos e offset
CÓDIGO CS:IP PILHA SS:SP SS:BP (certas instruções) DADOS DS:BX DS:SI DS:DI (manipulação de strings) ES:DI

17 Endereçamento CS = 1000H; IP = A000H 10000 CS*16 A000 + IP 1A000H
Como endereçar 1 Mbytes a partir de registradores de 16 bits? 8088: Reg. de Segmento x 16 + Reg. Offset Exemplo: Endereçamento do Código CS = 1000H; IP = A000H CS*16 A IP 1A000H

18 Endereçamento CS = 0F00H; IP = B000H 0F000 CS*16 B000 + IP 1A000H
Exemplo: Existem diversas possibilidade de endereçar a mesma posição de memória CS = 0F00H; IP = B000H 0F000 CS*16 B IP 1A000H

19 Endereçamento Conhecendo o valor dos registradores abaixo, calcule os endereços físicos (20 bits) em hexadecimal: CS = 1660H; DS = 1700H; SS = 1760H; ES = 1650H IP = 00A0H; SP = 0400H; SI = H; DI = A000H a) do código b) da pilha

20 Organização da memória

21 Organização da memória

22 MODOS DE ENDEREÇAMENTO
1) IMEDIATO Antes Depois Ex. 1: MOV DX, 1234H DX ABCDH 1234H Ex. 2: MOV CH, 23H CH CDH 23H Dado segue o opcode

23 2) Via Registrador Antes Depois Ex.1: MOV CX, SI CX 1234H 5678H SI
Ex.2: MOV DL, AH DL 89H BCH AH

24 3) Direto OU ABSOLUTO Antes Depois Ex.1: MOV BX, [5634H] BX ABCDH
LSB DS=1000H 1000:5635H 86H MSB Antes Depois Ex.2: MOV CL, [5634H] CL F2H 30H 3000:5634H DS=3000H 3000:5635H 66H

25 3) Direto Com OveRide Antes Depois Ex.1: MOV BX, ES:[5634H] BX ABCDH
LSB ES=2000H 2000:5635H 86H MSB

26 Antes Depois Ex. 3: MOV BH, [VALOR] BH C5H 78H Programa .DATA VALOR DB 78H

27 4) inDireto (BX,BP,DI,SI) Antes Depois Ex.1: MOV CL, [SI] CL 20H 78H
DS=1000H 1000:3456H Antes Depois Ex.2: MOV DX, [BP] DX F232H 3567H BP A2B2H DS=1000H 4020:A2B2H 67H LSB SS=4020H 4020:A2B3H 35H MSB

28 5) inDexado (offset+(BX,BP,DI,SI))
Antes Depois Ex.1: MOV DH, [2345H+BX] DH 45H 67H 2345H é o offset BX 4000H 4000H+2345H = 6345H DS=3500H 3500:6345H Antes Depois Ex.2: MOV AX, [45H+BP] AX 1000H CDABH 45H é o offset BP 3000H 3000H + 45H = 3045H 4600:3045H ABH LSB BP SS (SS=4600H) 4600:3046H CDH MSB

29 6) baseado ((BX,BP,DI,SI) + offset))
Antes Depois Ex1:MOV CL,[BX+05H] CL 40H 67H 0300H+05H=0305H BX 0300H DS=3500H 3500:305H

30 7) Baseado indexado ((BX ou BP) + (DI ou SI) + offset))
Antes Depois Ex1:MOV CL,[BX+SI] CL 40H 67H SI 2000H 0300H+2000H=2300H BX 0300H DS=1000H 1000:2300H Antes Depois Ex2:MOV CX,[BP+DI+4H] CX 6000H 6385H BP 0020H DI 3004H 20H+3004H=3024H 4600:3024H 85H LSB BP SS (SS=4600H) 4600:3025H 63H MSB

31 7) Baseado indexado ((BX ou BP) + (DI ou SI) + offset))
Antes Depois Ex3: MOV DL, [BX+DI+37H] DL 40H 12H 37H é o offset BX 2000H 2000H+0050H+37H=2087H DI 0050H DS=1000H 1000:2087H Antes Depois Ex4: MOV BX, [BP+SI+1234H] 3000H 3665H 1234 é o offset SI 4000H BP 0020H =5254H 1000:5254H 65H LSB BP SS (SS=1000H) 1000:5255H 36H MSB

32 8) Relativo (Call, JMP e Desvios Condicionais): -128 a +127
Endereço Opcodes Instrução 1CD7:100 29 D0 SUB AX,DX 1CD7:102 73 03 JNC 0107 1CD7:104 B8 00 MOV AX,00 1CD7:107

33 Assembly do 8088 Instrução Comentários MOV AX,[BX]
; Palavra apontada por DS:[BX] vai para AX MOV BL,[BX] ; Byte apontado por DS:[BX] vai para AL INC [BX] ; ? Incrementar Byte ou Palavra

34 Assembly do 8086 Instrução Comentários INC BYTE PTR [BX]
; Incrementa byte apontado por DS:[BX] vai para AX INC WORD PTR [BX] ; Incrementa palavra apontada por DS:[BX]

35 Código de Máquina Seja a instrução MOV DX, 316BH; BA 6b 31
o código de máquina do 8088 para a instrução de transferência de dado imediato para um registrador é dada por: 1011 W RRR - Dado (8 bits) - Dado (8 bits) onde: W = 0 se instrução opera em 1 byte de dados e W = 1 se instrução opera em 1 palavra de dados RRR = 000, 001, 010, 011, 100, 101, 110, 111 estabelece o registrador que recebe o dado: AX, CX, DX, BX, SP, BP, SI, DI se W = 1 ou AL, CL, DL, BL, AH, CH, DH, BH se W = 0

36 Classifique as instruções abaixo em relação ao modo de endereçamento.
Instrução Base Reg. Index Reg. Offset MOV BX, DS:[5634H] N S MOV CL,[SI] MOV DX,[BX] MOV DH, [BX+2345H] MOV DX, [35H+DI] MOV CL, [BX+SI+37H] MOV DL, [BP+DI+40H]

37 Classifiçação das instruções em relação ao modo de endereçamento.
Instrução Base Reg. Index Reg. Offset Modo de Endereçamento MOV BX, DS:[5634H] N S Direto MOV CL,[SI] Indireto MOV DX,[BX] MOV DH, [BX+2345H] Baseado MOV DX, [35H+DI] Indexado MOV CL, [BX+SI+37H] Baseado Indexado MOV DL, [BP+DI+40H]

38 Endereçamento de IO Antes Depois Ex.1: IN AL,83H AL 34H 78H Antes
Porta de IO 83H Antes Depois Ex.2: IN AX,83H AX 5634H F278H Porta de IO 83H 78H Porta de IO 84H F2H

39 Antes Depois Ex. 3: IN AL, DX AL 30H 60H DX 1234H Porta de IO 1234H Antes Depois Ex. 4: IN AX,DX AX 3040H 7060H DX 4000H Porta de IO 4000H 60H Porta de IO 4001H 70H


Carregar ppt "EEL Microprocessadores"

Apresentações semelhantes


Anúncios Google