56 lines
638 B
Plaintext
56 lines
638 B
Plaintext
DECLARE MEMORY_SIZE $4096;
|
|
|
|
addi $10 $-5 %A;
|
|
subi %A $2 %B;
|
|
muli $2 %B %C;
|
|
divi $2 %C %D;
|
|
|
|
# Set A to zero
|
|
seti %A $0;
|
|
|
|
# Loop from 0 to 10
|
|
count_loop:
|
|
addi $1 %A %A;
|
|
|
|
# Print the current value
|
|
int $1;
|
|
seti %B %A;
|
|
seti %A $10; # new line
|
|
int $0;
|
|
seti %A %B;
|
|
|
|
lti %A $10;
|
|
jmp count_loop;
|
|
|
|
# Hello world
|
|
seti %A $72; # H
|
|
int $0;
|
|
seti %A $101; # e
|
|
int $0;
|
|
seti %A $108; # l
|
|
int $0;
|
|
int $0;
|
|
seti %A $111; # o
|
|
int $0;
|
|
|
|
seti %A $32; # space
|
|
int $0;
|
|
|
|
pushi $68; # D
|
|
pushi $76; # L
|
|
pushi $82; # R
|
|
pushi $79; # O
|
|
pushi $87; # W
|
|
|
|
seti %B $5;
|
|
|
|
world_loop:
|
|
popi %A;
|
|
int $0;
|
|
|
|
subi %B $1 %B;
|
|
gti %B $0;
|
|
jmp world_loop;
|
|
|
|
seti %A $10; # newline
|
|
int $0; |