moved loc

This commit is contained in:
2026-02-13 21:42:59 +00:00
parent 75ad04cf95
commit d66baf6f99
5 changed files with 317 additions and 148 deletions
+107 -109
View File
@@ -1,121 +1,119 @@
// GENERATED BY DSC COMPILER
// Generated at 2026-02-05 00:42:40
// Generated at 2026-02-10 19:26:10
// Imports
include print: "./lib/io/print.dsa"
include arena: "./lib/memory/arena_alloc.dsa"
//
// Globals & Reserved Memory
//
// Entry Point
dw stack: 0x10000
dw stack: 0x010000
db message: "Process Exited with code:"
_init:
ldw stack, bpr
mov bpr, spr
push zero
call main
call print::print_newline
lwi message, rg0
push rg0
call print::print
pop zero
call print::print_hex_word
pop zero
hlt
ldw stack, bpr 0
mov bpr, spr
push zero
call main
call print::print_newline
lwi message, rg0
push rg0
call print::print
pop zero
call print::print_hex_word
pop zero
hlt
// Return
_ret:
mov bpr, spr
pop bpr
return
// Compiled Code Starts...
mov bpr, spr
pop bpr
return
db str_1: "end"
// fn main() -> u32
main:
push bpr
mov spr, bpr
lli 0, rg0
push rg0 // bpr-4: x
subi bpr 4 rg1
lli 512, rg0
push rg1 // bpr-8: y
push rg0 // push arg 0
call arena::new
pop rg2
lli 32, rg0
push rg2 // bpr-12: alloc
push rg0 // push arg 1
push rg2 // push arg 0
call arena::alloc
pop rg3
pop zero
lli 32, rg0
subi bpr 12 rg2
ldw rg2, rg2 // bpr-20: alloc
push rg2 // bpr-16: alloc
push rg3 // bpr-20: ptr1
push rg0 // push arg 1
push rg2 // push arg 0
call arena::alloc
pop rg4
pop zero
subi bpr 16 rg0
ldw rg0, rg0 // bpr-24: alloc
push rg4 // bpr-24: ptr2
push rg0 // bpr-28: alloc
push rg0 // push arg 0
call print::print_hex_word
pop zero
call print::print_newline
subi bpr 20 rg0
ldw rg0, rg0 // bpr-28: ptr1
push rg0 // bpr-32: ptr1
push rg0 // push arg 0
call print::print_hex_word
pop zero
call print::print_newline
subi bpr 24 rg0
ldw rg0, rg0 // bpr-32: ptr2
push rg0 // bpr-36: ptr2
push rg0 // push arg 0
call print::print_hex_word
pop zero
call print::print_newline
subi bpr 36 rg0
ldw rg0, rg0 // bpr-44: ptr2
ldw rg0, rg2
push rg0 // bpr-40: ptr2
push rg2 // push arg 0
call print::print_num
pop zero
call print::print_newline
lli 42, rg2
subi bpr 40 rg5
ldw rg5, rg5 // bpr-48: ptr2
stw rg2, rg5
push rg5 // bpr-44: ptr2
push rg5 // push arg 0
call print::print_hex_word
pop zero
call print::print_newline
subi bpr 44 rg2
ldw rg2, rg2 // bpr-52: ptr2
ldw rg2, rg5
push rg2 // bpr-48: ptr2
push rg5 // push arg 0
call print::print_num
pop zero
call print::print_newline
db str_1: "end"
lwi str_1, rg5
push rg5 // push arg 0
call print::println
pop zero
lli 0, rg5
stw rg5, bpr, 8
jmp _ret
push bpr
mov spr, bpr
lli 0, rg0
push rg0
addi spr, 0, rg1
lli 512, rg0
push rg1
// push arg 0
push rg0
call arena::new
pop rg2
lli 32, rg0
push rg2
// push arg 1
push rg0
// push arg 0
push rg2
call arena::alloc
pop rg3
pop zero
lli 32, rg0
ldw spr, rg2 0
stw rg2, spr 0
push rg3
// push arg 1
push rg0
// push arg 0
push rg2
call arena::alloc
pop rg4
pop zero
ldw spr, rg0 4
push rg4
stw rg0, spr 8
// push arg 0
push rg0
call print::print_hex_word
pop zero
call print::print_newline
ldw spr, rg0 4
stw rg0, spr 4
// push arg 0
push rg0
call print::print_hex_word
pop zero
call print::print_newline
ldw spr, rg0 0
stw rg0, spr 0
// push arg 0
push rg0
call print::print_hex_word
pop zero
call print::print_newline
ldw spr, rg0 0
ldw rg0, rg2 0
stw rg0, spr 0
// push arg 0
push rg2
call print::print_num
pop zero
call print::print_newline
lli 42, rg2
ldw spr, rg5 0
stw rg2, rg5 0
stw rg5, spr 0
// push arg 0
push rg5
call print::print_hex_word
pop zero
call print::print_newline
ldw spr, rg2 0
ldw rg2, rg5 0
stw rg2, spr 0
// push arg 0
push rg5
call print::print_num
pop zero
call print::print_newline
lwi str_1, rg5
// push arg 0
push rg5
call print::println
pop zero
lli 0, rg5
stw rg5, bpr 8
jmp _ret