400 likes | 521 Views
EEL7030 - Microprocessadores. Prof. Raimes Moraes GpqCom – EEL UFSC. 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:
E N D
EEL7030 - Microprocessadores Prof. Raimes Moraes GpqCom – EEL UFSC
8086 • Primeiro (1980) dafamília do Pentium (80x86). Componente com arquitetura similar (8088) utilizado no primeiro IBM PC. • Cada descendente executa código dos antepassados e possui: • Mesmoconjuntobásico de registradores (Mais bits, contudo) • Mesmoconjuntobásico de instruções (Maismuitasoutras, contudo) • Mesmo mecanismo de interrupções
8086 • Processador de 16-bits: • Registradores de 16 bits • Possui 20 pinos de endereçamento (16 destessãomultiplexados com os dados) • Endereçaaté 220 posições de memória (00000H a FFFFFH): 1048576. • Possui 216 endereçosparadispositivos de I/O: (0000H a FFFFH) • Pode-se ler byte oupalavra de 16 bits damemória
8088 • Processador de 16-bits (Mesmocj. de instruções do 8086): • Registradores de 16 bits • Possui 20 pinos de endereçamento (8 destessãomultiplexados com o barramento de dados. Palavra de 16 bits é lidadamemória byte a byte) • Endereçaaté 220 posições de memória (00000H a FFFFFH): 1048576. • Possui 216 endereçosparadispositivos de I/O: (0000H a FFFFH) • Pode-se ler byte oupalavra de 16 bits damemória
Registradores de Dados Registradoresdo 8088 Registradoresdo Pentium
Papel especial de registradoreseminstruçõesespecíficas • BX: Usadoemendereçamento • CX: Usadocomocontador default • DX é usadopara: • - Endereçamento de Portas de I/O de 16-bits (IN AL, DX) • - Registradormaissignificativo do resultado de produto de operandos de 16 bits • - Registradormaissignificativo de dividendo de 32 bits. • Acumulador: 8-bit AL, 16-bit AX, 32-bit DX AX
Flags de Controle DF Direcão (forward/backward) UsadoemInstruções de manipulação de strings IF Habilita/Desabilita Interrupções TF Habilita/Desabilita execução de instrução passo a passo
RegistradoresUtilizadosnaManipulaçã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
Registradores de Endereçamento Registradores de Segmento (16-bits): CS CodeSegment DS Data Segment SS StackSegment ES Extra Segment Registradores de Offset (16-bits): IP Instruction Pointer SP Stack Pointer BP Base Pointer SI Source Index DI DestinationIndex
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.
Endereçamento Como endereçar 1 Mbytes a partir de registradores de 16 bits? 8088: Reg. de Segmento x 16 + Reg. Offset
Composição de endereços com registradores de segmentos e offset • CÓDIGO CS:IP • PILHA SS:SP • SS:BP (certasinstruções) • DADOS • DS:BX • DS:SI • DS:DI • (manipulação de strings) • DS:SI • ES:DI
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
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
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
MODOS DE ENDEREÇAMENTO 1) IMEDIATO • Dado segue o opcode
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
Classifique as instruçõesabaixoemrelaçãoaomodo de endereçamento.
Classifiçação das instruçõesemrelaçãoaomodo de endereçamento.