Specifications

MICROPROCESSADORES
EXEMPLOS E EXECRCÍCIOS
6
Luís Miguel Charrua Figueiredo 6 - 4 E.N.I.D.H.
297D:0112 INT 21 ;Chama interrupção do DOS
297D:0114 INT 20 ;Finaliza o programa
Exemplo 8
Este programa imprime o primeiro de dois dígitos hexadecimais.
-a100
297D:0100 MOV AH,02 ;Função 2 (escreve um caractere no ecran)
297D:0102 MOV DL,BL ;Põe o valor de BL em DL
297D:0104 MOV CL,04 ;Põe o valor 04 em CL
297D:0106 SHR DL,CL ;Desloca os 4 bits mais altos do número ao nibble mais à direita
297D:0108 ADD DL,30 ;Adiciona 30 a DL
297D:010B CMP DL,3A ;Compara Dl com 3A
297D:010E JL 0113 ;Salta ao endereço 0113, se menor
297D:0110 ADD DL,07 ;Adiciona 07 a DL
297D:0113 INT 21 ;Chama interrupção do DOS
297D:0115 INT 20 ;Finaliza o programa
Exemplo 9
Este programa imprime o segundo de dois dígitos hexadecimais.
-a100
297D:0100 MOV AH,02 ;Função 2 (escreve um caractere no ecran)
297D:0102 MOV DL,BL ;Põe o valor de BL em DL
297D:0104 MOV CL,04 ;Põe o valor 04 em CL
297D:0106 SHR DL,CL ;Desloca os 4 bits mais altos do número ao nibble mais à direita.
297D:0108 ADD DL,30 ;Adiciona 30 a DL
297D:010B CMP DL,3A ;Compara Dl com 3A
297D:010E JL 0113 ;Salta ao endereço 0113, se menor
297D:0110 ADD DL,07 ;Adiciona 07 a DL
297D:0113 INT 21 ;Chama interrupção do DOS
297D:0115 MOV DL,BL ;Põe o valor de BL em DL
297D:0117 AND DL,0F ;Transporta fazendo AND dos números bit a bit
297D:011A ADD DL,30 ;Adiciona 30 a DL
297D:011D CMP DL,3A ;Compara Dl com 3A
297D:0120 JL 0125 ;Salta ao endereço 0125, se menor
297D:0122 ADD DL,07 ;Adiciona 07 a DL
297D:0125 INT 21 ;Chama interrupção do DOS
297D:0127 INT 20 ;Finaliza o programa