MACROS.ASM:
Listado de MACROS.ASM
retorno MACRO
MOV ah, 4ch
INT 21h
ENDM
display MACRO cadena
MOV dx, OFFSET cadena
MOV ah, 09h
INT 21h
ENDM
leer_teclado MACRO
MOV ah, 08h
INT 21h
ENDM
En nuestro ordenador estamos realizando nuestro programa:
PILA SEGMENT STACK
'STACK'
dw 100h dup (?)
PILA ENDS
DATOS SEGMENT 'DATA'
paso db "MIOOO"
control db 5 dup (?)
men1 db "Clave de acceso:".13,10,"$"
men2 db "Bienvenido","$"
DATOS ENDS
CODIGO SEGMENT 'CODE'
ASSUME CS: CODIGO, DS: DATOS,
SS: PILA
EMPEZAR:
MOV ax, DATOS
MOV ds, ax
INCLUDE A:\ MACROS,ASM ; Aquí le
decimos al programa que incluya las macros del porgrama que se encuentra en el fichero MACROS:ASM que
se encuentra en un disco en la unidad A de nuestro ordenador.
DOS:
MOV si, 0
display men1 ;
"display" es una MACRO que tiene parámetro.
MOV cx, 5
UNO:
leer teclado ; Otra MACRO. Esta
macro no tiene parámetros.
MOV control[SI], al
INC si
LOOP UNO
MOV si, 0
MOV cx, 5
TRES:
MOV al, control[SI]
CMP al, paso[SI]
JNE DOS
INC SI
LOOP TRES
display men2 ; Otra MACRO
retorno ; Otra MACRO
sin parámetros
CODIGO ENDS
ENDS EMPEZAR
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
display MACRO cadena
PUSH dx
PUSH ax
MOV dx, offset cadena
MOV ax, 09h
INT 21h
POP ax
POP dx
ENDM




No hay comentarios:
Publicar un comentario