
















Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
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
1 / 24
Esta página não é visível na pré-visualização
Não perca as partes importantes!

















Aula 13: Programação em Linguagem de Montagem
Linguagem de Montagem
Instruções, registradores e outras características
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
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
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
Permite o aprendizado da programação em Assembly Fornece um simulador para arquitetura 8088
http://www.prenhall.com/tanenbaum_br
Parte II: Arquitetura ISA do 8088
Organização de Memória do 8088
Permitem endereçar 64kB de memória
Como resolver este problema????
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
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
PUSH decrementa o SP em 2 / POP incrementa SP em 2
Assim ponteiros podem ser usados para referenciar a memória em qualquer dos segmentos
Endereçamento no 8088
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