Ejemplo 3
.286
.MODEL tiny
CODIGO SEGMENT PUBLIC
ASSUME CS:CODIGO,DS:CODIGO,ES:CODIGO,SS:CODIGO
ORG 100H
INICIO:
MOV AH, NUMERO ; Carga el contenido de NUMERO en
; en el registro AH
LEA BX, TABLA ; Carga la dirección de la etiqueta
; TABLA en BX
LEA DI, MENSAJE ; Carga la dirección de la etiqueta
; MENSAJE en DI
MOV AL, AH ; Carga el contenido de AH en AL
SHR AL, 4 ; Desplaza a la derecha el contenido
; de AL rellenando con 0 por la izquierda
XLAT ; AL <-- [BX+AL]
; Traduce el valor numérico al carácter
; Hexadecimal adecuado
MOV [DI], AL ; Lo guarda para luego imprimir
MOV AL, AH ; Carga el contenido de AH en AL
AND AL, 0FH ; Se queda con la parte baja de AL
XLAT ; AL <-- [BX+AL]
; Traduce el valor numérico al carácter
; Hexadecimal adecuado
INC DI ; Apunta al siguiente carácter
MOV [DI], AL ; Lo guarda para luego imprimir
LEA DX, MENSAJE ; Impresión de un mensaje como en el
; eje2.asm
MOV AH, 09H
INT 21H
INT 20H
MENSAJE: DB '00$'
NUMERO DB 123
TABLA: DB '0123456789ABCDEF'
CODIGO ENDS
END INICIO
|
|