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
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