36 lines
474 B
Plaintext
36 lines
474 B
Plaintext
dw string: "this is some random string idk"
|
|
dw len: 8
|
|
|
|
start:
|
|
// we use lwi in this case because
|
|
// in a generic case 'string' could be a 32 bit addr
|
|
lwi string, rg1
|
|
push rg1
|
|
lwi len, rg1
|
|
push rg1
|
|
push pcx
|
|
jmp start
|
|
hlt
|
|
|
|
dw display: 0x20000
|
|
|
|
print:
|
|
pop ret // return address
|
|
pop rg0 // length
|
|
pop rg1 // string
|
|
ldw display, rg2
|
|
|
|
loop:
|
|
ldw rg1, acc
|
|
stw acc, rg2
|
|
|
|
dec rg0
|
|
|
|
iadd rg1, 4
|
|
iadd rg2, 4
|
|
|
|
cmp rg0, zero
|
|
jge loop
|
|
|
|
end:
|
|
jmp 4, ret |