completed rec and again fixed echo

This commit is contained in:
Jaka Furlan 2025-11-08 17:05:13 +01:00
parent 8c8a68cb89
commit b16c3e23d8
6 changed files with 371 additions and 14 deletions

View file

@ -2,9 +2,12 @@ echo START 0
start .LDCH txt
.JSUB char
.JSUB nl
LDA #txt
JSUB string
JSUB nl
.LDA #txt
.JSUB string
.JSUB nl
LDCH #12
JSUB num
halt J halt
@ -45,19 +48,63 @@ nl STB regB
string STA regA
STB regB
STT regT
STL regL
.STL regL
STS regS .shranimo registre
loop LDB #1
CLEAR A .da lahko comparamo z 0
LDCH @regA
COMP #0
JSUB char
WD #1
.add +1 to regA
LDA regA
ADD #1
STA regA
JGT loop
LDA regA .obnovimo registre
LDB regB
LDT regT
.LDL regL
LDS regS
RSUB
.izpiše število zapisano v A na std izhod
num STA regA
STB regB
STT regT
STL regL
STS regS .shranimo registre
LDX #4 .X steje stevke, 4 je zadnji index arraya velikosti 5
LDS #10 .za množenje/deljenje
LDT #0x30 .za pretvorbo v ascii
loop2 RMO A, B
DIVR S, B .B = B/10
MULR S, B .B= B*10
SUBR B, A .A = ostanek
ADDR T, A .pretvorimo A v ascii
STCH digs, X .shranimo ascii ostanek
.zmanjšamo X in primerjamo z #5
RMO X, A
SUB #1
RMO A, X
LDA #0
COMPR X, A
RMO B, A .premaknemo kar je še potrebno izračunati v A
DIVR S, A .A je sedaj naslednja števka
JEQ loop2
JGT loop2
.kličemo string za izpis
LDA #digs
JSUB string
JSUB nl
LDA regA .obnovimo registre
LDB regB
LDT regT
@ -66,12 +113,14 @@ loop LDB #1
RSUB
.digits za num
digs RESB 5 .0 bo prazna za lazje izpisovanje
BYTE 0 .konec števke
.txt
txt BYTE C'hi'
BYTE 0
.parametri
param1 RESB 1
param2 RESB 2
.constante
newline BYTE 0x0D