Files

705 lines
9.3 KiB
Plaintext

include print: "./print.dsa"
resb program: 0x1000
dw stack: 0x10000
dw input: 0x30000
_init:
ldw stack, bpr
mov bpr, spr
main:
lwi program, rga
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
jez acc, loop_end_99
loop_start_99:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
jez acc, loop_end_116
loop_start_116:
nop
subi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
subi acc, 1
jez acc, loop_end_122
loop_start_122:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_122
loop_end_122:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_129
loop_start_129:
nop
addi acc, 1
jez acc, loop_end_131
loop_start_131:
nop
subi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_131
loop_end_131:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_129
loop_end_129:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
jnz acc, loop_start_116
loop_end_116:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_150
loop_start_150:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
subi acc, 1
jnz acc, loop_start_150
loop_end_150:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_157
loop_start_157:
nop
subi acc, 1
jnz acc, loop_start_157
loop_end_157:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
jez acc, loop_end_174
loop_start_174:
nop
subi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
subi acc, 1
jez acc, loop_end_178
loop_start_178:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_178
loop_end_178:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_185
loop_start_185:
nop
addi acc, 1
jez acc, loop_end_187
loop_start_187:
nop
subi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_187
loop_end_187:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jnz acc, loop_start_185
loop_end_185:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
jnz acc, loop_start_174
loop_end_174:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_205
loop_start_205:
nop
subi acc, 1
jnz acc, loop_start_205
loop_end_205:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_210
loop_start_210:
nop
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
push acc
call print::print_byte
pop zero
jez acc, loop_end_260
loop_start_260:
nop
subi acc, 1
jnz acc, loop_start_260
loop_end_260:
nop
jnz acc, loop_start_210
loop_end_210:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
jez acc, loop_end_265
loop_start_265:
nop
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
push acc
call print::print_byte
pop zero
jez acc, loop_end_315
loop_start_315:
nop
subi acc, 1
jnz acc, loop_start_315
loop_end_315:
nop
jnz acc, loop_start_265
loop_end_265:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
addi acc, 1
push acc
call print::print_byte
pop zero
jez acc, loop_end_371
loop_start_371:
nop
subi acc, 1
jnz acc, loop_start_371
loop_end_371:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
push acc
call print::print_byte
pop zero
stw acc, rga
addi rga, 4
ldw rga, acc
push acc
call print::print_byte
pop zero
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_386
loop_start_386:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
subi acc, 1
jnz acc, loop_start_386
loop_end_386:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_395
loop_start_395:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
subi acc, 1
jnz acc, loop_start_395
loop_end_395:
nop
stw acc, rga
addi rga, 4
ldw rga, acc
jez acc, loop_end_405
loop_start_405:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
stw acc, rga
addi rga, 4
ldw rga, acc
subi acc, 1
jnz acc, loop_start_405
loop_end_405:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
subi acc, 1
jnz acc, loop_start_99
loop_end_99:
nop
stw acc, rga
subi rga, 4
ldw rga, acc
stw acc, rga
subi rga, 4
ldw rga, acc
addi acc, 1
addi acc, 1
push acc
call print::print_byte
pop zero
push acc
call print::print_byte
pop zero
push acc
call print::print_byte
pop zero
hlt