-
Notifications
You must be signed in to change notification settings - Fork 0
/
dibujar_marco.txt
148 lines (107 loc) · 3.35 KB
/
dibujar_marco.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
;*********************************************
;* Macro para dubujar el marco de juego *
;*********************************************
marco_juego macro x,y,length,grosor
mov ah,00h
mov al,12h
int 10h
;Parametros basicos para dibujo
mov x,01h
mov y,01h
mov length,0027Fh
mov grosor,03h
dibujar_top_line:
mov x,00h
mov length,0027Fh
draw_horizontal_top_line() x,y,length
fin_dibujo_top_line:
inc y
dec grosor
jnz dibujar_top_line
mov grosor,03h
mov x,00h
mov y,01DFH
dibujar_bot_line:
mov x,00h
mov length,0027Fh
draw_horizontal_bot_line() x,y,length
fin_dibujo_bot_line:
dec y
dec grosor
jnz dibujar_bot_line
mov grosor,03h
dibujar_right_line:
mov y,01E0H
mov length,1E0H
draw_vertical_right_line() x,y,length
fin_dibujo_right_line:
dec x ;Izquierda
dec grosor
jnz dibujar_right_line
mov grosor,03h
mov x,00h
dibujar_left_line:
mov y,01E0H
mov length,1E0H
draw_vertical_left_line() x,y,length
fin_dibujo_left_line:
inc x ;Derecha
dec grosor
jnz dibujar_left_line
endm
draw_horizontal_top_line() macro x,y, length
LOCAL loop_dibujo_top
loop_dibujo_top:
mov cx, x ; column
mov dx, y ; row
mov al, 00Fh ; white
mov ah, 0ch ; put pixel
int 10h
inc x
dec length
jnz loop_dibujo_top
endm
draw_horizontal_bot_line() macro x,y, length
LOCAL loop_dibujo_bot
loop_dibujo_bot:
mov cx, x ; column
mov dx, y ; row
mov al, 00Fh ; white
mov ah, 0ch ; put pixel
int 10h
inc x
dec length
jnz loop_dibujo_bot
endm
draw_vertical_right_line() macro x,y, length
LOCAL loop_dibujo_right
loop_dibujo_right:
mov cx, x ; column
mov dx, y ; row
mov al, 00Fh ; white
mov ah, 0ch ; put pixel
int 10h
dec y ;Arriba
dec length
jnz loop_dibujo_right
endm
draw_vertical_left_line() macro x,y, length
LOCAL loop_dibujo_left
loop_dibujo_left:
mov cx, x ; column
mov dx, y ; row
mov al, 00Fh ; white
mov ah, 0ch ; put pixel
int 10h
dec y ;Arriba
dec length
jnz loop_dibujo_left
endm
drawpixel() macro x,y
mov cx, x ; column
mov dx, y ; row
mov al, 00Fh ; white
mov ah, 0ch ; put pixel
int 10h
ret
endm