diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..3349277 Binary files /dev/null and b/.DS_Store differ diff --git a/SPO/.DS_Store b/SPO/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/SPO/.DS_Store differ diff --git a/SPO/arit.asm b/SPO/arit.asm new file mode 100644 index 0000000..f136d7b --- /dev/null +++ b/SPO/arit.asm @@ -0,0 +1,37 @@ +arith START 0 + + LDA x + ADD y + STA sum + + LDA x + SUB y + STA dif + + LDA x + MUL y + STA mul + + LDA x + DIV y + STA dif + + LDA dif + MUL y + SUB x + MUL #-1 + +halt J halt + + + +.padatki + +x WORD 42 +y WORD 66 + +sum RESW 1 +mul RESW 1 +mod RESW 1 +div RESW 1 +dif RESW 1 diff --git a/SPO/arith.asm b/SPO/arith.asm new file mode 100644 index 0000000..106b891 --- /dev/null +++ b/SPO/arith.asm @@ -0,0 +1,35 @@ +arith START 0 + LDA x + LDB y + ADDR A, B + STB sum + LDB y + SUBR A, B + STB dif + LDB y + MULR A, B + STB mul + LDB y + DIVR A, B + STB div + LDA y + MULR A,B + LDA x + SUBR A, B + STB mod + + +halt J halt + +.podatki + +x WORD 42 +y WORD 66 + +.res + +sum RESW 1 +mul RESW 1 +mod RESW 1 +div RESW 1 +dif RESW 1 diff --git a/SPO/cat.asm b/SPO/cat.asm new file mode 100644 index 0000000..1fe50f2 --- /dev/null +++ b/SPO/cat.asm @@ -0,0 +1,7 @@ +hello START 0 + CLEAR X +loop RD #0 + WD #1 + J loop + + diff --git a/SPO/dodatna.asm b/SPO/dodatna.asm new file mode 100644 index 0000000..ada4b4e --- /dev/null +++ b/SPO/dodatna.asm @@ -0,0 +1,23 @@ +prevec START 0 + J #init +kon J init +start WORD 32462 +konpt WORD 1048560 +pt RESW 1 +init LDA #zacetek + STA pt + LDA kon + STA @konpt +loop LDA pt + COMP konpt + JEQ #zacetek + LDA start + STA @pt + MUL start + ADD start + STA start + LDA pt + ADD #3 + STA pt + J loop +zacetek RESW 1 diff --git a/SPO/echo.asm b/SPO/echo.asm new file mode 100644 index 0000000..2ade50d --- /dev/null +++ b/SPO/echo.asm @@ -0,0 +1,85 @@ +Hello START 0 + + LDA #103 + JSUB num +halt J halt + + +nl STA olda + STB oldb + LDA #12 + WD #1 + LDA a + LDA olda + LDB olda + RSUB + +char STA olda + STB oldb + WD #1 + LDA olda + LDB olda + RSUB + + +string STA olda + STB oldb +loop STA a + LDCH @a + COMP #0 + JEQ out + WD #1 + LDA a + ADD #1 + J loop +out LDA olda + LDB olda + RSUB + + + +num LDB #stev + STB zacetek + LDX #1 +loop1 STB trenutno + STA a + DIV #10 + MUL #10 + STA b + LDA a + SUB b + ADD #48 + STCH @trenutno + ADDR X,B + LDA a + DIV #10 + COMP #0 + JGT loop1 +loop2 LDCH @trenutno + WD #1 + LDB trenutno + SUBR X,B + STB trenutno + LDA trenutno + COMP zacetek + JLT konec + J loop2 +konec RSUB + +.funkcise +olda RESW 1 +oldb RESW 1 + + +.data + +a RESW 1 +b RESW 1 +c RESW 1 +zacetek RESW 1 +trenutno RESW 1 +stev RESW 1 + +beseda BYTE C'UIAI' + + diff --git a/SPO/fakulteta.asm b/SPO/fakulteta.asm new file mode 100644 index 0000000..478028b --- /dev/null +++ b/SPO/fakulteta.asm @@ -0,0 +1,62 @@ +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 + + + + diff --git a/SPO/horner.asm b/SPO/horner.asm new file mode 100644 index 0000000..fd6aa25 --- /dev/null +++ b/SPO/horner.asm @@ -0,0 +1,14 @@ +horner START 0 + LDA x + ADD #2 + MUL x + ADD #3 + MUL x + ADD #4 + MUL x + ADD #5 + +halt J halt + +.podatki +x WORD 2 diff --git a/SPO/poly.asm b/SPO/poly.asm new file mode 100644 index 0000000..f8308ed --- /dev/null +++ b/SPO/poly.asm @@ -0,0 +1,29 @@ +poly START 0 + LDA x + MUL x + MUL x + MUL x + RMO A,B + LDA x + MUL x + MUL x + MUL #2 + ADDR A,B + LDA x + MUL x + MUL #3 + ADDR A,B + LDA x + MUL #4 + ADDR A,B + RMO B,A + ADD #5 + +halt J halt + + + + +.podatki + +x WORD 2 diff --git a/SPO/print.asm b/SPO/print.asm new file mode 100644 index 0000000..2ed9309 --- /dev/null +++ b/SPO/print.asm @@ -0,0 +1,18 @@ +std START + +zacetek CLEAR X +loop LDCH txt, X + WD #170 + TIX #txtlen + JLT loop + +halt J halt + + +.txt + +txt BYTE C'SIC/EXE' + BYTE 0 +txtend EQU * +txtlen EQU txtend-txt + END zacetek diff --git a/SPO/screen.asm b/SPO/screen.asm new file mode 100644 index 0000000..cabe553 --- /dev/null +++ b/SPO/screen.asm @@ -0,0 +1,46 @@ +hello START 0 + LDA #40 + JSUB scrclear +halt J halt + +scrfill LDB screen + STB temp + STA temp2 +loop LDA temp2 + STCH @temp + LDA temp + ADD #1 + STA temp + LDB screen + SUBR B,A + COMP scrlen + JLT loop + RSUB + + +scrclear LDB screen + STB temp + STA temp2 +loop1 LDA #0 + STCH @temp + LDA temp + ADD #1 + STA temp + LDB screen + SUBR B,A + COMP scrlen + JLT loop1 + RSUB + + + + + +.podatki +temp RESW 1 +temp1 RESW 1 +temp2 RESW 1 +screen WORD X'00B800' +scrcols WORD 80 +scrrows WORD 25 +scrlen WORD 2000 diff --git a/SPO/stack.asm b/SPO/stack.asm new file mode 100644 index 0000000..f9ed9b4 --- /dev/null +++ b/SPO/stack.asm @@ -0,0 +1,41 @@ +stack START 0 + + JSUB stackinit + LDA #40 + JSUB stackpush + LDA #20 + JSUB stackpop + +halt J halt + + + +stackinit STA tempA + LDA #stack1 + STA stackptr + LDA tempA + RSUB + +stackpush STA tempA + STA @stackptr + LDA stackptr + ADD #3 + LDA stackptr + LDA tempA + RSUB + +stackpop LDA stackptr + SUB #3 + STA stackptr + LDA @stackptr + RSUB + +.temp +tempA RESW 1 +tempB RESW 1 + + +.stack +stackptr RESW 1 +stack1 RESW 5 + diff --git a/test b/test deleted file mode 100644 index e69de29..0000000