19.04.2018 Views

Tutorial de ensamblador

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Nótese que este MACRO recibe dos parámetros, argumentos, valores o<br />

cosas.<br />

En la primera línea limpia el registro BH.<br />

En la segunda envía el valor <strong>de</strong> X al registro <strong>de</strong> datos en la parte baja<br />

En la tercera envía el valor <strong>de</strong> Y al registro <strong>de</strong> datos en la parte alta<br />

Macro para imprimir<br />

IMPRIME MACRO arg1<br />

push ax<br />

push dx<br />

lea dx,arg1<br />

mov ah,9<br />

int 21h<br />

pop dx<br />

pop ax<br />

ENDM<br />

Este MACRO recibe un argumento. Mete AX y DX en la pila para<br />

almacenarlos temporalmente. Se posiciona en el parámetro arg1 (el valor que se<br />

le envió) y lo manda a DX, manda la instrucción para mostrar, con su<br />

correspondiente instrucción. Luego <strong>de</strong> que lo hubo mostrado, se sacan AX y DX<br />

<strong>de</strong> la pila. Esto es para que, al mostrar los datos, no afecte los valores <strong>de</strong> AX y<br />

DX.<br />

Macro para leer<br />

LEE MACRO arg1<br />

ENDM<br />

push ax<br />

push dx<br />

lea dx,arg1<br />

mov ah,10<br />

int 21h<br />

pop dx<br />

pop ax<br />

Almacena temporalmente AX y DX en la pila, se posiciona en arg1, da la<br />

instrucción para leer <strong>de</strong>s<strong>de</strong> el teclado (MOV AH, 10), usa la interrupción 21H para<br />

ejecutar la captura, luego se sacan AX y DX <strong>de</strong> la pila.<br />

Llamar macros<br />

INICIO:<br />

LIMPIAR<br />

GOTOXY 0,0<br />

IMPRIME mensaje0<br />

GOTOXY 1,2<br />

94

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!