Escolar Documentos
Profissional Documentos
Cultura Documentos
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3-1 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3-2
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3-5 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3-6
Introduo linguagem assembly do 8086 Introduo linguagem assembly do 8086
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 13 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 14
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 15 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 16
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 17 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 18
Introduo linguagem assembly do 8086 Introduo linguagem assembly do 8086
Definio de variveis de tipo word: Array: sequncia de bytes ou words consecutivos na memria
Armazenar dados relacionados;
Armazenar caracteres ASCII organizados (ex: texto).
Nome DW valor_inicial
Exemplos:
BYTE_ARRAY DB 10h,20h,30h
Exemplos:
WORD_ARRAY DW 1000h,123h,0h,0FFFFh
WORD1 DW 0h ; equivale a 0000h WORD1+1 12h
CONTA DW 0150h ; OK!, por que? WORD 34h
Um array pode conter um string de caracteres, sendo
C DW ? ; no inicializada
definido como:
WORD1 DW 1234h ; byte baixo 34h, endereo WORD1
; byte alto 12h endereo WORD1+1
LETRAS DB abC ; e equivalente aos caracteres ASCII
LETRAS DB 61h,62h,43h ;depende se maiscula ou
; minscula
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 19 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 20
Combinao de caracteres e nmeros numa mesma Constantes: um nome simblico para um dado de valor
constante, que seja muito utilizado num programa.
definio: Para atribuir um nome a uma constante, utiliza-se a pseudo-
instruo EQU (equates -> igual a) e a sintaxe:
MENSAGEM DB Alo!, 0Ah,0Dh,$ Nome EQU valor_da_constante
Exemplos:
OBS.: Para alguns servios da BIOS o caracter '$'
marca o fim de uma string de caracteres (e no LF EQU 0Ah ;caracter Line Feed como LF
exibido). CR EQU 0Dh ;caracter Carriage return como CR
LINHA1 EQU Digite seu nome completo
MENSAGEM DB LINHA1,LF,CR
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 21 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 22
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 23 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 24
Introduo linguagem assembly do 8086 Introduo linguagem assembly do 8086
Antes Depois
MOV AX,WORD1 ;movimenta o contedo da posio de AX AX
;memria WORD1 para o registrador AX 0006h 8FFFh
WORD1 WORD1
8FFFh 8FFFh
MOV AH,A ;transfere o caracter ASCII A para AH
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 25 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 26
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 27 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 28
FFFFh 0006h
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 29 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 30
Introduo linguagem assembly do 8086 Introduo linguagem assembly do 8086
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 31 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 32
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 33 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 34
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 37 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 38
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 41 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 42
Estrutura de um programa em Linguagem
Montadora
Introduo linguagem assembly do 8086
Exemplo de uma estrutura de programa assembly completa
TITLE nome_do_programa Instrues de entrada e sada
.MODEL SMALL IN e OUT -> instrues Assembly para acessar portas de
.STACK 100h
.DATA E/S para perifricos
;
;definio dos dados: variveis e constantes
; No so utilizadas na maioria das aplicaes:
.CODE os endereos das portas de E/S variam conforme o modelo
EXEMPLO PROC
; do PC mais fcil utilizar o SO (DOS) ou o BIOS para
;seqncia de instrues Funes de E/S
;
EXEMPLO ENDP
; Para acessar as rotinas de E/S do BIOS ou DOS
;segue outras procedures utiliza-se a instruo:
;
END EXEMPLO INT nmero_de_interrupo
Obs:
se no houver definio de procedure, usa-se apenas END. 2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 43 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 44
Em uma chamada do BIOS (ou funo do DOS) o Funo 1h: Entrada de um caracter simples pelo teclado
programa em curso interrompido, passando o Acesso: AH = 1h
controle para o DOS, que realiza a operao de E/S Resultado: AL = cdigo ASCII do caracter digitado no
e retorna o controle para o programa. teclado
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 45 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 46
Cdigo
ASCII Smbolo Funo
07h BEL Bell (som de bip)
08h BS Back Space (espao para trs)
09h HT Tab (tabulao)
0Ah LF Line Feed (ir para uma nova
linha)
0Dh CR Carriage Return (ir para inicio
linha)
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 49 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 50
2S2006 2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 57 MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 58
Especificao do programa:
- apresente ao usurio uma mensagem do tipo:
Entre com uma letra minuscula:
- ler um caracter do teclado (no necessrio testar se
letra)
- apresente uma segunda mensagem do tipo:
Em maiuscula ela fica:
- apresente em seguida a letra convertida
- retornar ao SO
2S2006
MC404 Organizao Bsica de Computadores e Linguagem de Montagem 3 - 61