Last active
July 21, 2022 12:56
-
-
Save EwanFox/8427f9d90a8648c00363e4796f38bd55 to your computer and use it in GitHub Desktop.
E
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BITS == 32 | |
MINHEAP 4096 | |
MINSTACK 1024 | |
MOV R1 SP | |
CAL ._Hx4maini8 | |
MOV SP R1 | |
HLT | |
._Hx5inputvs | |
PSH R1 | |
MOV R1 SP | |
LLOD R3 R1 2 | |
.input_loop | |
IN R2 %TEXT | |
BRZ .input_end R2 | |
STR R3 R2 | |
INC R3 R3 | |
JMP .input_loop | |
.input_end | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx5inputvi32 | |
PSH R1 | |
MOV R1 SP | |
PSH .input_int32_str | |
CAL ._Hx5inputvs | |
ADD SP SP 1 | |
IMM R3 0 | |
IMM R4 0 | |
.input_int32_loop | |
LLOD R5 .input_int32_str R4 | |
MLT R3 R3 10 | |
ADD R3 R3 R5 | |
INC R4 R4 | |
BRL .input_int32_loop R4 20 | |
LSTR R1 2 R3 | |
.input_int32_str | |
DW [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ] | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx7printlnvs | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
.println_loop | |
LOD R3 R2 | |
INC R2 R2 | |
BRZ .println_end R3 | |
OUT %TEXT R3 | |
JMP .println_loop | |
.println_end | |
OUT %TEXT '\n' | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx7printlnvi32 | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
OUT %INT R2 | |
OUT %TEXT '\n' | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx7printlnvu32 | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
OUT %UINT R2 | |
OUT %TEXT '\n' | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx5printvs | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
.print_loop | |
LOD R3 R2 | |
INC R2 R2 | |
BRZ .print_end R3 | |
OUT %TEXT R3 | |
JMP .print_loop | |
.print_end | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx5printvi32 | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
OUT %INT R2 | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx5printvu32 | |
PSH R1 | |
MOV R1 SP | |
LLOD R2 R1 2 | |
OUT %UINT R2 | |
MOV SP R1 | |
POP R1 | |
RET | |
._Hx4maini8 | |
PSH R1 | |
MOV R1 SP | |
PSH .str0 | |
CAL ._Hx7printlnvs | |
ADD SP SP 1 | |
ADD SP SP 0 | |
MOV SP R1 | |
POP R1 | |
RET | |
.str0 | |
DW [ "Hello World!" 0 ] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment