Arquitetura de Computadores
Parte 03 – Introdução ao Assembly
Arquitetura
• 8086
– Barramento interno de 16bits
– Barramento de Dados de 16bits
– Lançado em 1978 operava a 4,77MHz
• 8088
– Barramento interno de 16bits
– Barramento de Dados de 8bits
– 29.000 transistores
• 8 bits – AH, AL, BH, BL, CH, CL, DH, DL
• 16 bits – AX, BX, CX e DX
Arquitetura
Arquitetura
• O barramento de endereço possui 20 bits.
Podendo acessar até 220 (1.048.576)
endereços entre RAM, ROM e portas de
E/S.
• Cada endereço possui um byte.
O que é Assembly
Linguagem criada para “facilitar” a programação quando o que
tínhamos era apenas a forma binário de programação (linguagem de
máquina).
RAM – Real Linguagem de
Prog ASM
Prog ASM
Máquina
MOV AL, 07h
MOV AX, 02h
0h
1h
Mov AL
07h
0h
1h
0001
0111
NOP
2h
3h
4h
Mov AX
02h
nop
2h
3h
4h
1111
0010
1100
Exemplo de código assembly
•
•
•
•
•
0D62:0100 mov ax,0002
0D62:0103 mov bx,0004
0D62:0106 add ax,bx
0D62:0108 nop
0D62:0109
Conceitos
• LSB - least significant bit – Menos
Significativo
• MSD - most significant bi - Mais Sinificativo
• Assembly – Lingagem de Programação
• Assembler – Compilador
• bytes – 8 bits – 0 a 7
• words – 16 bits – 0 a 15
Softwares
• Simulação/Emulação (simulador ou interpretador)
– Simulação: Comporta-se como se fosse a própria
arquitetura
– Emulação: Apenas simula as entradas
• Compilação/Linkedição (compilador/linker)
– Compila o código e liga os binários (Assembler)
– Exemplos (TASM, Borland Turbo C)
• Depuração (debug)
– Consiste em detectar erros e corrigi.
– Exemplos (MS-DOS DEBUG, TASM, Borland Turbo C)
Utilização do programa
DEBUG
• O DEBUG é um programa do sistema operacional
MS-DOS, e serve para a criação e depuração de
programas. Através do DEBUG, pode-se verificar os
registradores do sistema, realizar consultas na
memória do sistema e o desenvolvimento e
alteração de programas simples.
• O DEBUG pode apenas criar arquivos com a
extensão .COM, e por causa das características
deste tipo e programa, eles não podem exceder os
64 KB, e também devem iniciar no endereço de
memória 0100H dentro do segmento específico.
• Programas .COM, de acordo com o MS-DOS e
posteriormente Windows, não são realocáveis em
memória.
Exercícios
1. Qual a diferença entre os processadores 8086 e
8088?
2. O que significa dizer que os programas .COM não
são realocáveis?
3. O registrador AX permite armazenarmos um word?
4. O que significa o H e o L dos registradores e qual
a sua relação com o número de bits?
5. O que é LSB?
6. Os processadores atuais aceitam os set de
instruções do 8086? Justifique o motivo de sua
resposta.
Referências
• Disciplina de Organizacao e Arquitetura
de Computadores - Introducao aos
processadores x86 - Prof. Dr. Luciano Jose
Senger.
http://www.ljsenger.net/classroom.html
• Programando em Assembler 8086/8088 –
IBM PC – McGraw-Hill
Download

Arquitetura de Computadores Parte 03 – Introdução ao Assembly