miércoles, 25 de abril de 2018

Ejemplo de compañero en clase - Macros


Archivo de texto -------
 inicializa MACRO
 mov ax,data
 mov ds, ax
 mov cx,9
 mov di, offset max
 mov si,offset a
ENDM



Codigo ----


INCLUDE mac.TXT

.model small
.stack

.data
a db 12,13,14,15,50,32,12,99
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] ;mueve si numero del vector
    mov bl,[di] ;guarda numero mas grande
    cmp bl,al   ;si es el mayor
    jnb incrementa ;salta a incremente
    mov [di], al   ;guarda numero a comparar en la siguiente vuelta

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

No hay comentarios:

Publicar un comentario