Escolar Documentos
Profissional Documentos
Cultura Documentos
Tpicos
n
Assembly 8086
Formato de Dados
MACROS
Formato de Dados
Formato de dados
Formato de dados
Formato de dados
Tabela ASCII
Formato de dados
Formato de dados
Formato de dados
Pode-se utilizar a diretiva DUP para reservar espao na memria que seja mltiplo
do tipo escolhido:
text DW 10 DUP (W) ;reserva 20 bytes na memria e inicializa com o ASCII de W
text DW 10 DUP (?) ;reserva 20 bytes na memria, sem inicializao
Formato de dados
Formato de dados
Tabela ASCII
Estrutura de um Programa
Assembly
10
Modelo
TINY
SMALL
MEDIUM
COMPACT
Descrio
Todos os registradores de Segmento (DS, CS,
SS e ES) tm o mesmo valor.
Cdigo em 1 segmento;
Dados em 1 segmento
Cdigo em mais de 1 segmento;
Dados em 1 segmento
Cdigo em 1 segmento;
Dados em mais de 1 segmento
LARGE
HUGE
11
12
OBS:
13
Conjunto de Instrues de
Movimento de Dados
14
PUSH AX
crescimento
da pilha
POP BX
reduo
da pilha
15
16
17
18
19
Conjunto de Instrues
Aritmticas
20
PROC
NEAR
ADD AX, CX
ADC BX, DX
RET
SUM32
ENDP
21
JAE SUBER
22
Para 8 bits:
resultado em AX
Para 16 bits:
resultado em DX e AX
23
Para 8 bits:
quociente em AL, e o resto para AH
Para 16 bits (dividendo DX e AX):
quociente em AX, e o resto para DX
24
EXEMPLO ?
25
Instruo NOT
Aceita um operando. Realiza a inverso lgica de todos os bits do
operando: o COMPLEMENTO 1.
NOT operando
Instruo NEG
Aceita um operando. Realiza a inverso aritmtica do operando: o
COMPLEMENTO 2. Muda o operando de positivo para negativo, ou
vice-versa.
NEG operando
TEST
A instruo de TEST executa uma operao AND. A diferena que a instruo AND modifica o
operando destino, enquanto TEST no o faz. A instruo TEST afeta apenas o Registrador de Flags.
Exemplo:
TEST AL,1
JNZ RIGHT
JNZ LEFT
26
Conjunto de Instrues de
Deslocamento e Rotao
Deslocamento
27
Rotao
28
Comparao de strings
SCAS (String scan)
29
Conjunto de Instrues de
Controle do Programa (Desvios)
30
31
32
NOME PROC
NEAR / FAR
instruo 1
Instruo 2
M
instruo N
RET
NOME ENDP
O endereo de retorno
armazenado na PILHA
33
instruo
Pilha
instruo
retorno
34
hardware (derivado
INT 3
VETOR DE INTERRUPO ?
TABELA DE VETORES DE INTERRUPO ?
35
NOME
PROC
FAR
instruo 1
Instruo 2
M
instruo N
IRET
NOME
ENDP
36
MACROS
37
MACROS
Macro um conjunto de instrues que realiza uma tarefa especfica, da mesma
MACRO
parametros
instruo 1
Instruo 2
M
instruo N
ENDM
MACROS
MOVE
MACRO
A, B
PUSH AX
MOV AX, B
MOV A, AX
POP AX
ENDM
TRECHO DE PROGRAMA:
INTERPRETAO DO MONTADOR:
M
PUSH AX
MOV AX, VAR2
MOV VAR1, AX
POP AX
ADD CX, VAR1
PUSH AX
MOV AX, VAR4
MOV VAR3, AX
POP AX
M
Obs.: Diferente do procedimento, uma macro no
demanda tempo do processador para desviar o
ponto de execuo do programa.
38
Bibliografia Bsica
n
Material da Disciplina
SIGAA - Sistema Integrado de Gesto de Atividades Acadmicas
39