holey-bytes/lang/tests/son_tests_storing_into_nullable_struct.txt
Jakub Doka 5a7a01ca02
adding the stack offset elision for return values as well
Signed-off-by: Jakub Doka <jakub.doka2@gmail.com>
2024-12-15 17:57:22 +01:00

71 lines
1.4 KiB
Plaintext

do_stuff:
CP r13, r2
CP r1, r13
JALA r0, r31, 0a
just_read:
JALA r0, r31, 0a
main:
ADDI64 r254, r254, -80d
ST r31, r254, 48a, 32h
ADDI64 r32, r254, 16d
CP r1, r32
JAL r31, r0, :optionala
LD r33, r254, 16a, 8h
JNE r33, r0, :0
LI64 r32, 10d
CP r1, r32
JMP :1
0: ST r0, r254, 24a, 8h
CP r2, r32
JAL r31, r0, :just_read
LD r32, r254, 24a, 8h
CP r2, r32
JAL r31, r0, :do_stuff
CP r32, r1
ADDI64 r33, r254, 0d
JAL r31, r0, :optional
ST r1, r33, 0a, 16h
LD r33, r254, 0a, 1h
ANDI r33, r33, 255d
JNE r33, r0, :2
LI64 r32, 20d
CP r1, r32
JMP :1
2: LI64 r33, 100d
CP r2, r33
JAL r31, r0, :do_stuff
CP r33, r1
ADD64 r32, r33, r32
CP r1, r32
1: LD r31, r254, 48a, 32h
ADDI64 r254, r254, 80d
JALA r0, r31, 0a
optional:
ADDI64 r254, r254, -16d
LI8 r13, 1b
ST r13, r254, 0a, 1h
LI64 r13, 10d
ST r13, r254, 8a, 8h
LD r1, r254, 0a, 16h
ADDI64 r254, r254, 16d
JALA r0, r31, 0a
optionala:
ADDI64 r254, r254, -48d
CP r17, r1
ADDI64 r14, r254, 8d
ADDI64 r15, r254, 16d
ST r14, r254, 16a, 8h
LI64 r16, 1d
ST r16, r254, 24a, 8h
ADDI64 r13, r254, 0d
ST r13, r254, 32a, 8h
ST r0, r254, 0a, 8h
ST r0, r254, 8a, 8h
ST r0, r254, 40a, 8h
BMC r15, r17, 32h
ADDI64 r254, r254, 48d
JALA r0, r31, 0a
code size: 556
ret: 100
status: Ok(())