Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação em Linguagem de Montagem no Processador 8088, Notas de aula de Matemática

Neste documento, aprenda a programar usando uma linguagem de montagem no processador intel 8088. Saiba como funciona o simulador as88 e como utilizar registradores, memória segmentada e instruções básicas do processador. Este conteúdo é ideal para universidade ou aprendizagem autodidata.

Tipologia: Notas de aula

Antes de 2010

Compartilhado em 04/10/2010

willian-liell-8
willian-liell-8 🇧🇷

1

(1)

5 documentos

1 / 24

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
BC1503: Arquitetura de Computadores
1o Trimestre / 2009
Aula 13:
Programação em
Linguagem de Montagem
Prof. Raphael Y. de Camargo
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Pré-visualização parcial do texto

Baixe Programação em Linguagem de Montagem no Processador 8088 e outras Notas de aula em PDF para Matemática, somente na Docsity!

BC1503: Arquitetura de Computadores

1o Trimestre / 2009

Aula 13: Programação em Linguagem de Montagem

Prof. Raphael Y. de Camargo

[email protected]

Resumo

  • Vimos nas últimas aulas
    • Projeto da Arquitetura do Conjunto de Instruções (ISA)
  • Veremos hoje
    • Como programar utilizando uma linguagem de montagem
    • as88, um simulador do processador 8088
    • Arquitetura ISA do processador 8088

Linguagem de Montagem

ISA (Instruction Set Architeture)

Instruções, registradores e outras características

Linguagens de Montagem

Representação simbólica da ISA Utilizam símbolos como ADD, SUB, MOV no lugar de binários Permitem o uso de rótulos para endereços de memória e nomes simbólicos para constantes

Assembler

Converte um programa escrito em linguagem de montagem em um programa binário, executável pela máquina

Por que Usar Linguagens de Montagem?

Exemplo de Rastreador

as88: Assembler para o Intel 8088

Por que a arquitetura do 8088?

Mais simples que a dos processadores Intel modernos Facilita o entendimento e aprendizado Pode ser executada em processadores modernos É uma boa introdução aos que desejam se aprofundar

O simulador as

Permite o aprendizado da programação em Assembly Fornece um simulador para arquitetura 8088

Pode ser baixado em:

http://www.prenhall.com/tanenbaum_br

Parte II: Arquitetura ISA do 8088

Organização de Memória do 8088

8088 possui registradores de 16 bits

Permitem endereçar 64kB de memória

Mas arquitetura permite utilizar 1MB de memória!

Como resolver este problema????

Quebrando a memória em múltiplos segmentos

Cada segmento tamanho 64kB e são apontados por registradores específicos CS: Segmento de código DS: Segmento de dados SS: Segmento de pilha (stack) ES: Segmento extra

Registradores de Uso Geral AX: Registrador Acumulador Registrador de uso geral, como o BX, CX e DX Destino implícito de diversas instruções, como MUL BX: Registrador de Base Pode ser utilizado como ponteiro de memória MOV AX,BX / MOV AX,(BX) CX: Registrador de Contador Pode ser utilizado como contador para laços Automaticamente decrementado e testado no fim do laço DX: Registrador de Dados Pode ser utilizado para operações com números de 32 bits AX (16 bits de ordem baixa) e DX (16 bits de ordem alta)

Segmento de Pilha

Mantém informações de contexto durante uma execução

Normalmente dividida em quadros de pilha Um quadro é alocado para cada procedimento Ponteiro SP aponta para o topo e BP para a base do quadro Também podem conter dados temporários de operações Instruções PUSH e POP permitem modificar o topo da pilha

Pilhas normalmente crescem de “cima” para “baixo”

PUSH decrementa o SP em 2 / POP incrementa SP em 2

Normalmente SS e DS apontam para o mesmo segmento

Assim ponteiros podem ser usados para referenciar a memória em qualquer dos segmentos

Endereçamento no 8088

O 8088 suporta diversos modos de endereçamento

Em instruções de 2 operandos, o 1º é destino e o 2º fonte Existem instruções em que o operando é implícito, como MUL Registradores podem ser utilizados em qualquer dos operandos

Parte III: Conjunto de Instruções do 8088

  • Registradores do
  • Endereçamento no
  • Instruções do