MC 404 - Organização Básica de Computadores e Linguagem de Montagem

Ricardo Pannain – pannain@unicamp.br

MC 404

ORGANIZAÇÃO BÁSICA DE COMPUTADORES E LINGUAGEM DE  MONTAGEM
 

Programa do Curso

1. Conceitos básicos
 1.1 Representação de números e caracteres
 1.2 Organização de um computador digital
 1.3 A CPU e a execução de um programa
 1.4 Linguagem de máquina e linguagem montadora
 1.5 Introdução aos montadores (assemblers)

2. Arquitetura do Microprocessador 8086
 2.1 A família Intel 8086 de Microprocessadores
 2.2 Organização dos Microprocessadores 8086 e 8088
 2.3 Organização de um PC (Personal Computer)

3. Introdução à linguagem montadora do 8086
 3.1 A sintaxe Assembly do 8086
 3.2 Formato de dados, variáveis e constantes
 3.3 A estrutura do programa
 3.4 Instruções de entrada e saída
 3.5 Criando e rodando um programa

4. O registrador de sinalizadores (FLAGS)
 4.1 Flags de status e Flags de controle
 4.2 Overflow (erro de transbordamento)
 4.3 Como as instruções afetam os Flags

5. Instruções de controle de fluxo
 5.1 A instrução de comparação
 5.2 Salto condicional
 5.3 Salto incondicional
 5.4 Estruturas de linguagens de alto nível

6. Instruções lógicas, de deslocamento e rotação
 6.1 Instruções lógicas
 6.2 Instruções de deslocamento
 6.3 Instruções de rotação
 6.4 E/S de números binários e hexadecimais

7. A pilha (stack) e subrotinas (procedures)
 7.1 Organização da pilha
 7.2 Terminologia para subrotinas
 7.3 Chamada e retorno de subrotinas

8. Instruções de Multiplicação e Divisão
 8.1 Instruções de multiplicação
 8.2 Instruções de divisão
 8.3 Extensão do sinal do dividendo
 8.4 E/S de números decimais
 

9. Arrays e modos de endereçamento
 9.1 Arrays unidimensionais
 9.2 Modos de endereçamento
 9.3 Arrays bidimensionais
 9.4 A instrução XLAT

10. Instruções de manipulação de Strings
 10.1 O flag de direção
 10.2 Operações com strings
 10.3 Forma geral de instruções para manipular strings
 
 
 11. Introdução aos microcontroladores


Bibliografia

 

Ytha Yu & Charles Marut Mitchell, "Assembly Language Programming and Organization of the IBM PC" - McGraw Hill, 1992.

Hamacher et al, “ Computer Oragnization” - McGraw Hill, 1989

John P. Hayes, ¨Computer Architecture” - McGraw Hill, 1999.

Edison Raymundi Jr. & Jeremias P. dos Santos, "Programando em Assembly do 8086/8088", Makron Books/McGraw Hill (referência de consulta).

Wilson Alonso Dias, "8086/8088 - Hardware, software, aplicações e projetos", McGraw Hill.

Alan Miller, "Assembly do IBM PC - Técnicas de programação", EBRÁS.

Christopher L. Morgan & Mitchell Wait, "8086/8088 - Microprocessadores: hardware", Makron Books.