lunes, 23 de abril de 2018

Convertir un numero a ascii con macro emu8086 (ejemplo)

Primero debemos de hacer el macro en un bloc de notas y colocamos en una carpeta destinada en la siguiente direccion:

Direccion: C:\EMU8086\inc


-Codigo-

    inicializa MACRO
mov ax,data
mov ds, ax
mov cx,6
mov di, offset max
mov si,offset a
ENDM


 Ahora si empezamos con el codigo en emu

-Codigo-
INCLUDE mac.TXT

.model small
.stack

.data
a db 12,5,34,85,10,25
max db 0
numero db '12$'
diez db 10
msg1 db 'numero mas grande de la pila=$'
msg2 db 10,13,'caracter ascii=$'

.code
INICIO:
inicializa 

comparar:
    mov al,[si]
    mov bl,[di]
    cmp bl,al
    jnb incrementa
    mov [di], al
 
incrementa:
    inc si
    loop comparar
    ;convertir el numero a cadenta intToString
    mov al, max
    mov ah,0
    div diez
    add ah, '0'
    mov numero[1], ah
    add al, '0'
    mov numero[0], al
    ;desplegar el mensaje
    mov dx, offset msg1
    mov ah, 09h
    int 21h
    mov dx, offset numero
    mov ah, 09h
    int 21h
    mov dx, offset msg2
    mov ah, 09h
    int 21h
    mov dl,[di]
    mov ah, 02h
    int 21h
    mov ah, 4ch
    int 21h
end inicio
end



0 comentarios:

Publicar un comentario