Cuadro
Macro que dibuja un cuadro en las coordenadas especificadas en la macro.
;Autor Hector Torres
;URL
gotoxy macro fil,col
mov ah,02h
mov bh,0h
mov dh,fil
mov dl,col
int 10h
endm
poncar macro car
mov ah,02h
mov dl,car
int 21h
endm
poncar2 macro car2,cuanto
mov ah,0Ah
mov al,car2
mov bh,0h
mov bl,07h
mov CX,cuanto
int 10h
endm
color macro fondo,lineas,ffi,cci,fff,ccf
mov ah,06h
mov al,lineas
mov bh,fondo
mov ch,ffi
mov cl,cci
mov dh,fff
mov dl,ccf
int 10h
endm
cuadro macro fi,ci,ff,cf,colores
local vertical
mov cl,ff
sub cl,fi
color colores,cl,fi,ci,ff,cf
; pone las lineas horizontales
mov dl,cf
sub dl,ci
push DX
gotoxy fi,ci
pop DX
mov dh,0
poncar2 205,DX
mov dl,cf
sub dl,ci
push DX
gotoxy ff,ci
pop DX
mov dh,0h
poncar2 205,DX
; pone las lineas verticales
mov cl,ff
sub cl,fi
mov ch,0
mov ah,fi
mov var2,ah
vertical:
gotoxy var2,ci
poncar 186
gotoxy var2,cf
poncar 186
inc var2
loop vertical
gotoxy fi,ci
poncar 201
gotoxy fi,cf
poncar 187
gotoxy ff,ci
poncar 200
gotoxy ff,cf
poncar 188
endm
espera macro
mov ah,07h
int 21h
endm
clrscr macro
mov ah,00h
mov al,03h
int 10h
endm
.model small
.stack
.data
var db ?
var2 db ?
.code
.startup
clrscr
cuadro 1,1,24,79,07
cuadro 5,5,20,70,27
cuadro 10,10,15,55,07
cuadro 12,30,14,35,12
espera
.exit
end