62 lines
666 B
NASM
62 lines
666 B
NASM
stack START 0
|
|
|
|
JSUB stackinit
|
|
LDA #7
|
|
JSUB fakulteta
|
|
|
|
|
|
halt J halt
|
|
|
|
|
|
fakulteta STA funtemp
|
|
RMO L,A
|
|
JSUB stackpush
|
|
LDA funtemp
|
|
JSUB stackpush
|
|
SUB #1
|
|
COMP #1
|
|
JEQ return
|
|
JSUB fakulteta
|
|
|
|
|
|
return RMO A,B
|
|
JSUB stackpop
|
|
MULR A,B
|
|
JSUB stackpop
|
|
RMO A,L
|
|
RMO B,A
|
|
RSUB
|
|
|
|
stackinit STA tempA
|
|
LDA #stack1
|
|
STA stackptr
|
|
LDA tempA
|
|
RSUB
|
|
|
|
stackpush STA tempA
|
|
STA @stackptr
|
|
LDA stackptr
|
|
ADD #3
|
|
STA stackptr
|
|
LDA tempA
|
|
RSUB
|
|
|
|
stackpop LDA stackptr
|
|
SUB #3
|
|
STA stackptr
|
|
LDA @stackptr
|
|
RSUB
|
|
|
|
.temp
|
|
funtemp RESW 1
|
|
tempA RESW 1
|
|
tempB RESW 1
|
|
|
|
|
|
.stack
|
|
stackptr RESW 1
|
|
stack1 RESW 20
|
|
|
|
|
|
|
|
|