-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcarretera.asm
154 lines (138 loc) · 3.44 KB
/
carretera.asm
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
148
149
150
151
152
153
154
GRAPH MACRO ;iniciamos modo gráfico
MOV AH,00H
MOV AL,12H
INT 10H
ENDM
PALETA MACRO color ;Permite definir la paleta
MOV AH,0BH
MOV BH,00H
MOV BL,color
INT 10H
ENDM
PUNTO2 MACRO x,y,color
MOV AH,0CH
MOV AL,color
MOV BH,0
MOV CX,x
MOV DX,y
INT 10H
ENDM
FONDO MACRO
MOV AX,0600h
MOV BH,0D8h
MOV CX,0013h
MOV DX,2040h
INT 10H
ENDM
BORDER MACRO ;640*480
mov cx,0315
moverR: push cx
PUNTO2 xx,yy,08h ;0fh
PUNTO2 x,y,08h
pop cx
MOV AX,x
MOV xx,AX ;Guardamos posicion anterior
mov bx,y ;y lo movemos a yy
MOV yy,bx
INC AX
MOV X, AX
loop moverR
mov cx,0460
moverR2: push cx
PUNTO2 xx,yy,08h
PUNTO2 x,y,08h
pop cx
MOV AX,y
MOV yy,AX ;Guardamos posicion anterior
mov bx,x ;X lo movemos a XX
MOV xx,bx
INC AX
MOV y, AX
loop moverR2
mov cx,0315
moverR3: push cx
PUNTO2 xx,yy,08h
PUNTO2 x,y,08h
pop cx
MOV AX,x
MOV xx,AX ;Guardamos posicion anterior
mov bx,y ;y lo movemos a yy
MOV yy,bx
DEC AX
MOV X, AX
loop moverR3
mov cx,0460
moverR4: push cx
PUNTO2 xx,yy,08h
PUNTO2 x,y,08h
pop cx
MOV AX,y
MOV yy,AX ;Guardamos posicion anterior
mov bx,x ;X lo movemos a XX
MOV xx,bx
DEC AX
MOV Y, AX
loop moverR4
ENDM
;.model small
;.stack
;.data
; xx dw ?
; yy dw ?
; x dw ?
; y dw ?
;
;
;
;.code
;
; mov ax,@data
; mov ds,ax
;
; GRAPH ;Seteamos modo gráfico 640*480
; PALETA 02H
;
;
;;HEX BIN COLOR
;
;;0 0000 black
;;1 0001 blue
;;2 0010 green
;;3 0011 cyan
;;4 0100 red
;;5 0101 magenta
;;6 0110 brown
;;7 0111 light gray
;;8 1000 dark gray
;;9 1001 light blue
;;A 1010 light green
;;B 1011 light cyan
;;C 1100 light red
;;D 1101 light magenta
;;E 1110 yellow
;;F 1111 white
;
;
; mov xx, 10
; mov yy, 10
; mov x, 155
; mov y,10
;
; BORDER
; FONDO
; PUSH AX
; PUSH BX
;
;
; MOV AH,07H ;READKEY
; INT 21H
;
; SALIR:
;
; MOV AH,00H
; MOV AL,03H
; INT 10H
;
; mov ah,4ch
; int 21h
;end