This repository has been archived by the owner on Jun 14, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
imprime_tablero.asm
82 lines (70 loc) · 2.16 KB
/
imprime_tablero.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
.module imprimir_tablero
.globl imprime_tablero
.globl imprime_cadena
.globl contador_tablero
.globl intentos
texto_cont_tablero: .asciz "Tablero: "
texto_vidas: .asciz "Intentos: "
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; imprime_tablero ;
; saca por la pantalla el tablero cuando la X llega a 16 ;
; ;
; Entrada: X-direccion de comienzo de la cadena ;
; Salida: ninguna ;
; Registros afectados: X, CC. ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
imprime_tablero:
pshs a,b
;Le suma a X el tablero en el que nos encontramos
;x = x + 16*pos
lda #16
ldb contador_tablero
mul
abx
ldb #0
bra salto_linea
lda #'\t
sta 0xFF00
bucle:
lda ,x+
sta 0xFF00
incb
cmpb #4
beq salto_linea
cmpb #8
beq salto_linea
cmpb #12
beq salto_linea
cmpb #16
beq terminar
bra bucle
salto_linea:
lda #'\n
sta 0xFF00
lda #'\t
sta 0xFF00
bra bucle
terminar:
lda #'\n
sta 0xFF00
sta 0xFF00
lda #'\t
sta 0xFF00
ldx #texto_cont_tablero
jsr imprime_cadena
lda contador_tablero
adda #'0
sta 0xFF00
lda #'\n
sta 0xFF00
lda #'\t
sta 0xFF00
ldx #texto_vidas
jsr imprime_cadena
lda intentos
adda #'0
sta 0xFF00
lda #'\n
sta 0xFF00
puls a,b
rts