Specifications
MICROPROCESSADORES
EXEMPLOS E EXECRCÍCIOS
6
Luís Miguel Charrua Figueiredo 6 - 7 E.N.I.D.H.
Exemplo 2
Este programa mostra os caracteres ABCDEFGHIJ no ecran.
;nome do programa: two.asm
.model small
.stack
.code
PRINT_A_J PROC
MOV DL,'A' ;move o caracter A para o registo DL
MOV CX,10 ;move o valor decimal 10 para o registo CX
;este valor é usado para fazer um loop com 10 iterações
PRINT_LOOP:
CALL WRITE_CHAR ;Imprime o caracter em DL
INC DL ;Incrementa o valor do registo DL
LOOP PRINT_LOOP ;Loop para imprimir 10 caracteres
MOV AH,4Ch ;Função 4Ch, para sair ao DOS
INT 21h ;Interrupção 21h
PRINT_A_J ENDP ;Finaliza o procedimento
WRITE_CHAR PROC
MOV AH,2h ;Função 2h, imprime caracter
INT 21h ;Imprime o caracter que está em DL
RET ;Retorna o controle ao procedimento que chamou
WRITE_CHAR ENDP ;Finaliza o procedimento
END PRINT_A_J ;Finaliza o programa
Exemplo 3
;nome do programa: three.asm
.model small
.STACK
.code
TEST_WRITE_HEX PROC
MOV DL,3Fh ;Move o valor 3Fh para o registo DL
CALL WRITE_HEX ;Chama a sub-rotina
MOV AH,4CH ;Função 4Ch
INT 21h ;Retorna o controlo ao DOS
TEST_WRITE_HEX ENDP ;Finaliza o procedimento
PUBLIC WRITE_HEX
;........................................................;
;Este procedimento converte para hexadecimal o byte ;
;armazenado no registo DL e mostra o dígito ;
;Use:WRITE_HEX_DIGIT ;
;........................................................;










