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

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

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

Apresentações semelhantes


Apresentação em tema: "EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC."— Transcrição da apresentação:

1 EEL 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é 2 20 posições de memória (00000H a FFFFFH): Possui 2 16 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é 2 20 posições de memória (00000H a FFFFFH): Possui 2 16 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 00000H12H Conteúdo lido da memória em 00000H: 3412H 00001H34H Conteúdo lido em 00001H: 56 34H 00002H56H Conteúdo lido da memória em 00002H: 78 56H 00003H78H Conteúdo lido em 00003H: 91 78H 00004H91H Conteúdo do byte 4H 00005H23H Conteúdo do byte 5H.... FFFFEHABH Conteúdo lido da memória em FFFFEH: CD ABH FFFFFHCDH

6 8088

7 Registradores do 8088

8 Registradores do Pentium Registradores de Dados

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 FLAGSETADO 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 1s 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): IPInstruction Pointer SP Stack Pointer BP Base Pointer SI Source Index DI Destination Index

14 Barramento do 8088 : A19 a A16 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. S4S3Segmento 00Dados Extra 01Pilha 10Código 11Dados

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ÓDIGOCS:IP PILHASS:SP SS:BP (certas instruções) DADOS DS:BX DS:SI DS:DI (manipulação de strings) DS:SI ES:DI

17 Endereçamento 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 10000CS*16 A000 + IP 1A000H

18 Endereçamento Exemplo: Existem diversas possibilidade de endereçar a mesma posição de memória CS = 0F00H; IP = B000H 0F000CS*16 B000 + 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 = 0040H; DI = A000H a) do código b) da pilha

20 Organização da memória

21

22 Dado segue o opcode 1) IMEDIATO AntesDepois Ex. 1: MOV DX, 1234HDXABCDH1234H AntesDepois Ex. 2: MOV CH, 23HCHCDH23H MODOS DE ENDEREÇAMENTO

23 2) VIA REGISTRADOR AntesDepois Ex.1: MOV CX, SICX1234H5678H SI5678H AntesDepois Ex.2: MOV DL, AHDL89HBCH AHBCH

24 AntesDepois Ex.1: MOV BX, [5634H]BXABCDH8645H 1000:5634H45HLSB DS=1000H1000:5635H86HMSB 3) DIRETO OU ABSOLUTO AntesDepois Ex.2: MOV CL, [5634H]CLF2H30H 3000:5634H30H DS=3000H3000:5635H66H

25 AntesDepois Ex.1: MOV BX, ES:[5634H]BXABCDH8645H 2000:5634H45HLSB ES=2000H2000:5635H86HMSB 3) DIRETO COM OVERIDE

26 AntesDepois Ex. 3: MOV BH, [VALOR]BHC5H78H Programa.DATA VALOR DB 78H

27 AntesDepois Ex.1: MOV CL, [SI]CL20H78H SI3456H DS=1000H1000:3456H78H 4) INDIRETO (BX,BP,DI,SI) AntesDepois Ex.2: MOV DX, [BP]DXF232H3567H BPA2B2H DS=1000H 4020 :A2B2H 67HLSB SS=4020H 4020 :A2B3H 35HMSB

28 AntesDepois Ex.1: MOV DH, [2345H+BX]DH45H67H 2345H é o offsetBX4000H 4000H+2345H = 6345H DS=3500H3500:6345H67H 5) INDEXADO (OFFSET+(BX,BP,DI,SI)) AntesDepois Ex.2: MOV AX, [45H+BP]AX1000HCDABH 45H é o offset BP3000H 3000H + 45H = 3045H4600:3045HABH LSB BP SS (SS=4600H)4600:3046HCDH MSB

29 6) BASEADO ((BX,BP,DI,SI) + OFFSET)) AntesDepois Ex1:MOV CL,[BX+05H]CL40H67H 0300H+05H=0305H BX0300H DS=3500H3500:305H67H

30 7) BASEADO INDEXADO ((BX ou BP) + (DI ou SI) + OFFSET)) AntesDepois Ex1:MOV CL,[BX+SI]CL40H67H SI2000H 0300H+2000H=2300HBX0300H DS=1000H1000:2300H67H AntesDepois Ex2:MOV CX,[BP+DI+4H]CX6000H6385H BP0020H DI3004H 20H+3004H=3024H4600:3024H85HLSB BP SS (SS=4600H)4600:3025H63HMSB

31 AntesDepois Ex3: MOV DL, [BX+DI+37H]DL40H12H 37H é o offsetBX2000H 2000H+0050H+37H=2087HDI0050H DS=1000H1000:2087H12H 7) BASEADO INDEXADO ((BX ou BP) + (DI ou SI) + OFFSET)) AntesDepois Ex4: MOV BX, [BP+SI+1234H]3000H3665H 1234 é o offsetSI4000H BP0020H =5254H1000:5254H65HLSB BP SS (SS=1000H)1000:5255H36HMSB

32 8) RELATIVO (CALL, JMP e DESVIOS CONDICIONAIS): -128 a +127 EndereçoOpcodesInstrução 1CD7:10029 D0SUB AX,DX 1CD7: JNC CD7:104B8 00MOV AX,00 1CD7:107

33 ASSEMBLY DO 8088 InstruçãoComentá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çãoComentá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çãoBase Reg. Index Reg. Offset MOV BX, DS:[5634H]NNS MOV CL,[SI]NSN MOV DX,[BX]SNN MOV DH, [BX+2345H]SNS MOV DX, [35H+DI]NSS MOV CL, [BX+SI+37H]SSS MOV DL, [BP+DI+40H]SSS

37 Classifiçação das instruções em relação ao modo de endereçamento. InstruçãoBase Reg. Index Reg. OffsetModo de Endereçamento MOV BX, DS:[5634H]NNSDireto MOV CL,[SI]NSN Indireto MOV DX,[BX]SNN MOV DH, [BX+2345H]SNSBaseado MOV DX, [35H+DI]NSSIndexado MOV CL, [BX+SI+37H]SSS Baseado Indexado MOV DL, [BP+DI+40H]SSS

38 Endereçamento de IO AntesDepois Ex.1: IN AL,83HAL34H78H Porta de IO 83H78H AntesDepois Ex.2: IN AX,83HAX5634HF278H Porta de IO 83H78H Porta de IO 84HF2H

39 Antes Depois Ex. 3: IN AL, DXAL30H60H DX1234H Porta de IO 1234H60H Antes Depois Ex. 4: IN AX,DXAX3040H7060H DX4000H Porta de IO 4000H60H Porta de IO 4001H70H


Carregar ppt "EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC."

Apresentações semelhantes


Anúncios Google