Dokončal fakulteto in naredil stack (na vajah) tako, da ga uporabljajo lahko tudi drugi programi
This commit is contained in:
parent
68480249b4
commit
f8922139b8
2 changed files with 82 additions and 0 deletions
28
ass1/Rekurzija/cstack.asm
Normal file
28
ass1/Rekurzija/cstack.asm
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
cstk EXTDEF sinit, spush, spop, stkp
|
||||
|
||||
sinit STA stkA
|
||||
LDA #stk
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
spush . stkp++
|
||||
STA stkA
|
||||
LDA stkp
|
||||
ADD #3
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
spop . stkp--
|
||||
STA stkA
|
||||
LDA stkp
|
||||
SUB #3
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
stkp WORD 0
|
||||
stk RESW 1000
|
||||
stkA WORD 0
|
||||
END cstk
|
||||
54
ass1/Rekurzija/fak.asm
Normal file
54
ass1/Rekurzija/fak.asm
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
prog START 0
|
||||
+JSUB sinit
|
||||
LDA #5
|
||||
JSUB fa
|
||||
WD #1
|
||||
|
||||
halt J halt
|
||||
|
||||
fa STL @stkp
|
||||
JSUB spush
|
||||
STB @stkp
|
||||
JSUB spush
|
||||
. Base case
|
||||
COMP #2
|
||||
JLT faExit
|
||||
RMO A, B
|
||||
SUB #1
|
||||
JSUB fa
|
||||
MULR B, A
|
||||
|
||||
|
||||
faExit JSUB spop
|
||||
LDB @stkp
|
||||
JSUB spop
|
||||
LDL @stkp
|
||||
RSUB
|
||||
|
||||
stkp WORD 0
|
||||
stk RESW 1000
|
||||
stkA WORD 0 . Zacasni prostor za shranjevanje registra A
|
||||
|
||||
sinit STA stkA
|
||||
LDA #stk
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
spush . stkp++
|
||||
STA stkA
|
||||
LDA stkp
|
||||
ADD #3
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
spop . stkp--
|
||||
STA stkA
|
||||
LDA stkp
|
||||
SUB #3
|
||||
STA stkp
|
||||
LDA stkA
|
||||
RSUB
|
||||
|
||||
END prog
|
||||
Loading…
Add table
Add a link
Reference in a new issue