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