Poskusu dokoncat rekurzijo, neki ne dela, dosti imam
This commit is contained in:
parent
9f753e66c4
commit
c305a8bdb4
3 changed files with 31 additions and 13 deletions
|
|
@ -1,4 +1,4 @@
|
||||||
1
|
10
|
||||||
5
|
5
|
||||||
7
|
6
|
||||||
0
|
0
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
prog START 0
|
prog START 0
|
||||||
+JSUB sinit
|
JSUB sinit
|
||||||
LDA #5
|
LDA #5
|
||||||
JSUB fa
|
JSUB fa
|
||||||
WD #1
|
WD #1
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,34 @@
|
||||||
rek START 0
|
rek START 0
|
||||||
|
JSUB sinit
|
||||||
|
LDT #10
|
||||||
|
|
||||||
loop RD #0xFA
|
loop JSUB read . Pretvorimo iz ASCII v stevilko
|
||||||
COMP #1
|
COMP #1 . Če je (A) <= 1 končamo, ker 0!=1!=1
|
||||||
JLT halt
|
JLT halt
|
||||||
JSUB fa
|
JSUB fa . Sicer izračunamo (A)!
|
||||||
WD #1
|
WD #1 . Zapišemo na std izhod
|
||||||
CLEAR A
|
CLEAR B
|
||||||
J loop
|
CLEAR A
|
||||||
|
J loop . Gremo prebrat naslednji vhod
|
||||||
|
|
||||||
halt J halt
|
halt J halt
|
||||||
|
|
||||||
fa STL @stkp
|
read RD #0xFA
|
||||||
|
COMP #0xA
|
||||||
|
JEQ rExit . Če preberemo newline gremo na izhod
|
||||||
|
SUB #0x30 . Sicer iz ascii kode dobimo stevko
|
||||||
|
LDB tmp
|
||||||
|
MULR T, B . tmp *= 10
|
||||||
|
ADDR A, B . tmp += A
|
||||||
|
STB tmp
|
||||||
|
J read
|
||||||
|
|
||||||
|
rExit LDA tmp
|
||||||
|
LDB #0
|
||||||
|
STB tmp
|
||||||
|
RSUB
|
||||||
|
|
||||||
|
fa STL @stkp
|
||||||
JSUB spush
|
JSUB spush
|
||||||
STB @stkp
|
STB @stkp
|
||||||
JSUB spush
|
JSUB spush
|
||||||
|
|
@ -23,7 +41,7 @@ fa STL @stkp
|
||||||
MULR B, A
|
MULR B, A
|
||||||
|
|
||||||
|
|
||||||
faExit JSUB spop
|
faExit JSUB spop
|
||||||
LDB @stkp
|
LDB @stkp
|
||||||
JSUB spop
|
JSUB spop
|
||||||
LDL @stkp
|
LDL @stkp
|
||||||
|
|
@ -55,5 +73,5 @@ spop . stkp--
|
||||||
stkp WORD 0
|
stkp WORD 0
|
||||||
stk RESW 1000
|
stk RESW 1000
|
||||||
stkA WORD 0
|
stkA WORD 0
|
||||||
|
tmp WORD 0
|
||||||
END rek
|
END rek
|
||||||
Loading…
Add table
Add a link
Reference in a new issue