-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcarriles.asm
87 lines (76 loc) · 2.04 KB
/
carriles.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
;Aplicacion que utiliza el modo grafico.
;Dibuja un punto en el centro de la pantalla y permite
;moverlo mediante las teclas 8, 4, 6 y 2.
;Y obviamente organizado mediante macros.
;GRAPH MACRO ;iniciamos modo grafico
; MOV AH,00H
; MOV AL,12H ;640x480
; INT 10H
; ENDM
;
;PALETA MACRO color ;Permite definir la paleta
; MOV AH,0BH
; MOV BH,00H
; MOV BL,color
; INT 10H
; ENDM
;
PUNTO MACRO x,y,color
MOV AH,0CH
MOV AL,color ;Color blanco
MOV BH,0
MOV CX,x
MOV DX,y
INT 10H
ENDM
LINEASALTEADA MACRO X,Y,XX,YY
LOCAL AMARILLO,MOVAMARILLO,SEGUNDALINEA,SALIR
AMARILLO:
MOV CX,0020
MOVAMARILLO: push cx
PUNTO xx,yy,0Eh
pop cx
MOV AX,y
MOV yy,AX ;Guardamos posicion anterior
mov bx,x ;X lo movemos a XX
MOV xx,bx
INC AX
CMP AX,460
JE SEGUNDALINEA
MOV y,AX
LOOP MOVAMARILLO
ADD Y,20
JMP AMARILLO
SEGUNDALINEA:
MOV Y,10
INC X
CMP X,321
JBE AMARILLO
SALIR:
ENDM
;.model small
;.stack
;.data
; xx dw 1
; yy dw 1
; x dw 319
; y dw 10
;.code
;
; mov ax,@data
; mov ds,ax
;
; GRAPH ;Seteamos modo gráfico 640*480
;
; LINEASALTEADA X,Y,XX,YY
;
; MOV AH,01H
; INT 21H
;
; MOV AH,00H
; MOV AL,03H
; INT 10H
;
; mov ah,4ch
; int 21h
;end