Uso básico de las macros

Creación de un macro (gotoxy, write y writes). La macro gotoxy posiciona el cursor en una coordenada especifica. La Macro write permite escribir un caracter en pantalla. La macro writes permite escribir un caracter tantas veces sea requerido.

Búsqueda de ejemplos en Ensamblador
;Autor Victor De la Rocha
;URL http://www.mis-algoritmos.com

gotoxy macro fila,columna              ;Macro Gotoxy
                MOV AH,02h                        ;Set cursor position
                MOV DH,fila                    ;Fila
                MOV DL,columna      ;Columna
                MOV BH,0                                ;pagina
                INT 10h     ;Video (int 10)
        endm                        ;End macro gotoxy

writes macro caracter, veces    ;Macro writes: "Permite repetir un caracter"
                MOV AH,09h                        ;Write attributes/characters at cursor position (Int 10/09)
                MOV AL,caracter   ;character to write
                MOV BH,0                                ;pagina
                MOV BL,7                                ;color
                MOV CX,veces            ;veces
                INT 10h     ;Video (Int 10)
        endm                        ;End macro writes

write macro caracter            ;Macro write: "permite escribir 1 caracter"
                MOV AH,02H                        ;Display output
                MOV DL,caracter   ;Character to send to standart output
                INT 21H     ;DOS (Int 21)
        endm                        ;End macro write

cls macro                                          ;Macro Clear Screen (cls)
                MOV AH,00H                        ;Set video mode
                MOV AL,03                            ;mode
                INT 10h     ;Video (int 10)
        endm
       
.model small
.stack
.data
.code
.startup

        cls                                   ;cls
        gotoxy 10,10                ;gotoxy [10,10] (x,y)
        write 64                                        ;Escribe la '@'
        write 10                                        ;Escribe Line Feed
        write 13                                        ;Escribe Salto de línea
        writes 'a',10            ;Escribe el caracter 'a' 10 veces

.exit
end