diff --git a/ass1/stack.asm b/ass1/stack.asm new file mode 100644 index 0000000..e476b73 --- /dev/null +++ b/ass1/stack.asm @@ -0,0 +1,56 @@ +.code + +stack START 0 + + LDA #9 + STA @stackptr + JSUB stackpush . PUSHA + + JSUB stackpop . POPA + LDA @stackptr + +halt J halt + + +stackinit + STA stacktmp + + LDA #STACK + STA stackptr + + LDA stacktmp + RSUB + + +stackpush + STA stacktmp + + LDA stackptr + ADD #3 + STA stackptr + + LDA stacktmp + RSUB + + +stackpop + STA stacktmp + + LDA stackptr + SUB #3 + STA stackptr + + LDA stacktmp + RSUB + + +.data + +stackptr WORD 0 + +stacktmp WORD 0 + +STACKSIZE EQU 50 +STACK RESW STACKSIZE + + END stack