This commit is contained in:
Jesenko, Jakob 2025-11-16 23:41:47 +01:00
parent 1cda7854d6
commit 630b6a5086
7 changed files with 314 additions and 0 deletions

30
arith.asm Normal file
View file

@ -0,0 +1,30 @@
.Code
ARITH START 0
LDA x
ADD y
STA sum
LDA x
SUB y
STA diff
LDA x
MUL y
STA prod
LDA x
DIV y
STA quot
MUL y
STA mod
LDA x
SUB mod
STA mod
HALT J HALT
.Data
x WORD 42
y WORD 27
sum RESW 1
diff RESW 1
prod RESW 1
quot RESW 1
mod RESW 1
END ARITH

32
arithr.asm Normal file
View file

@ -0,0 +1,32 @@
.Code
ARITH START 0
LDS x
LDT y
ADDR S,T
STT sum
LDT y
SUBR T,S
STS diff
LDS x
MULR S,T
STT prod
LDS x
LDT y
DIVR T,S
STS quot
LDS x
LDA y
MUL quot
SUBR A,S
STS mod
HALT J HALT
.Data
x WORD 42
y WORD 27
sum RESW 1
diff RESW 1
prod RESW 1
quot RESW 1
mod RESW 1
END ARITH

15
cat.asm Normal file
View file

@ -0,0 +1,15 @@
.code
CAT START 0
LOOP TD dev
JEQ LOOP
RD dev
COMP #0
JEQ EXIT
WD #1
J LOOP
EXIT LDA #10
WD #1
HALT J HALT
.data
dev BYTE 0xAA
END CAT

84
echo.asm Normal file
View file

@ -0,0 +1,84 @@
echo START 0
LDA #65
JSUB char
JSUB nl
LDA #what
JSUB string
JSUB nl
LDA #123
JSUB num
JSUB nl
halt J halt
char WD dev
RSUB
nl STA a
LDA #10
WD dev
LDA a
RSUB
string STA a
STA b
strlp LDCH @a
COMP #0
JEQ strcup
WD dev
LDA #1
ADD a
STA a
J strlp
LDA b
strcup
RSUB
num STA aa
STA a
LDA #buffer
ADD #15
STA b
numlp LDA a
DIV #10
MUL #10
SUB a
MUL negone
COMP #0
JEQ numcup
ADD #48
STCH @b
LDA b
SUB #1
STA b
LDA a
DIV #10
STA a
J numlp
numcup LDA b
ADD #1
STA a
strll LDCH @a
COMP #0
JEQ strcul
WD dev
LDA #1
ADD a
STA a
J strll
LDA b
strcul
LDA aa
RSUB
dev BYTE 1
what BYTE C'word'
BYTE 0
buffer RESB 16
BYTE 0
a RESW 1
b RESW 1
aa RESW 1
negone WORD -1
END echo

39
poly.asm Normal file
View file

@ -0,0 +1,39 @@
.Code
.poly (1, 2, 3, 4, 5)
POLY START 0
LDA #0
LDS x
LDT x
MULR S,S
MULR S,S
ADDR S,A
LDS x
MULR S,S
MULR T,S
LDT #2
MULR T,S
ADDR S,A
LDS x
LDT x
MULR S,S
LDT #3
MULR T,S
ADDR S,A
LDS x
LDT #4
MULR T,S
ADDR S,A
ADD #5
STA y
HALT J HALT
.Data
x WORD 2
y RESW 1
END POLY

15
print.asm Normal file
View file

@ -0,0 +1,15 @@
.code
PRINT START 0
LDX #0
LOOP LDCH string,X
WD dev
TIX len
JLT LOOP
HALT J HALT
.Data
dev BYTE 0xAA
string BYTE C"SIC/EX\n"
len WORD 7
END PRINT

99
rec.asm Normal file
View file

@ -0,0 +1,99 @@
rec START 0
nextln CLEAR B
LDA #stack
STA sp
inplp LDA #10
MULR A,B
RD input
COMP #10
JEQ linend
SUB #48
ADDR A,B
J inplp
linend STB a
LDA a
DIV #10
COMP #0
JEQ exit
JSUB printn
LDB #1
JSUB fac
JSUB printn
J nextln
exit J exit
fac STA a
STL @sp
LDA #3
ADD sp
STA sp
LDA a
COMP #2
JLT facone
MULR A,B
SUB #1
JSUB fac
facone STB a
LDA sp
SUB #3
STA sp
LDL @sp
LDA a
RSUB
printn STA aa
STA a
LDA #buffer
ADD #15
STA b
numlp LDA a
COMP #0
JEQ numcup
DIV #10
MUL #10
SUB a
MUL negone
ADD #48
STCH @b
LDA b
SUB #1
STA b
LDA a
DIV #10
STA a
J numlp
numcup LDA b
ADD #1
STA b
strll CLEAR A
LDCH @b
COMP #0
JEQ strcul
WD dev
LDA #1
ADD b
STA b
J strll
strcul
LDCH #10
WD dev
LDA aa
RSUB
buffer RESB 16
WORD 0
a RESW 1
aa RESW 1
b RESW 1
negone WORD -1
dev BYTE 1
input BYTE X'FA'
sp WORD 0
stack RESW 1024
END rec