-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcarga_mat.asm
86 lines (76 loc) · 1.01 KB
/
carga_mat.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
.module carga_mat
pantalla .equ 0xFF00
teclado .equ 0xFF02
m .equ 0xE000
.globl carga_mat
.globl leer_num
.globl imprimir_num
.globl imprime_cadena
.globl imp_mat
tempb : .word 0
tam: .word 0
contador: .word 0
contfilas: .word 0
contcol: .word 0
numero: .word 0
columnas: .byte 0
filas: .byte 0
dato: .asciz"\nDato: "
carga_mat:
ldy #m
std tam
ldd #0
std contador
;mientras contador != tam
buclecarga:
ldx #dato
jsr imprime_cadena
jsr leer_num
std ,y++
ldd contador
addd #1
std contador
cmpd tam
bne buclecarga
rts
imp_mat:
ldy #m
sta filas
stb columnas
clra
clrb
buclefilimp:
ldb contfilas
cmpb filas
bge fin_filas
ldb #0
stb contcol
buclecolimp:
ldb contcol
cmpb columnas
bge fin_col
clrb
ldb #'\t
stb pantalla
ldd #0
ldd ,y++
jsr imprimir_num
ldd #0
ldb contcol
incb
stb contcol
bra buclecolimp
fin_col:
clrb
ldb #'\n
stb pantalla
ldb contfilas
incb
stb contfilas
bra buclefilimp
fin_filas:
ldb #0
stb contfilas
ldb #0
stb contcol
rts