forked from AbleOS/holey-bytes
98 lines
1.7 KiB
Plaintext
98 lines
1.7 KiB
Plaintext
continue_and_state_change:
|
|
LI64 r7, 3d
|
|
LI64 r8, 4d
|
|
LI64 r9, 2d
|
|
LI64 r10, 10d
|
|
6: JLTS r2, r10, :0
|
|
CP r1, r2
|
|
JMP :1
|
|
0: JNE r2, r9, :2
|
|
CP r2, r8
|
|
JMP :3
|
|
2: JNE r2, r7, :4
|
|
LI64 r1, 0d
|
|
1: JMP :5
|
|
4: ADDI64 r2, r2, 1d
|
|
3: JMP :6
|
|
5: JALA r0, r31, 0a
|
|
main:
|
|
ADDI64 r254, r254, -64d
|
|
ST r31, r254, 0a, 64h
|
|
LI64 r32, 0d
|
|
CP r2, r32
|
|
JAL r31, r0, :multiple_breaks
|
|
CP r3, r1
|
|
LI64 r1, 3d
|
|
LI64 r6, 1d
|
|
JEQ r3, r1, :0
|
|
CP r1, r6
|
|
JMP :1
|
|
0: CP r33, r6
|
|
CP r34, r1
|
|
LI64 r35, 4d
|
|
CP r2, r35
|
|
JAL r31, r0, :multiple_breaks
|
|
CP r36, r35
|
|
LI64 r37, 10d
|
|
JEQ r1, r37, :2
|
|
LI64 r1, 2d
|
|
JMP :1
|
|
2: CP r2, r32
|
|
JAL r31, r0, :state_change_in_break
|
|
JEQ r1, r32, :3
|
|
CP r1, r34
|
|
JMP :1
|
|
3: CP r2, r36
|
|
JAL r31, r0, :state_change_in_break
|
|
JEQ r1, r37, :4
|
|
CP r1, r36
|
|
JMP :1
|
|
4: CP r2, r37
|
|
JAL r31, r0, :continue_and_state_change
|
|
JEQ r1, r37, :5
|
|
LI64 r1, 5d
|
|
JMP :1
|
|
5: CP r2, r34
|
|
JAL r31, r0, :continue_and_state_change
|
|
JEQ r1, r32, :6
|
|
LI64 r1, 6d
|
|
JMP :1
|
|
6: CP r1, r32
|
|
CP r38, r33
|
|
8: JNE r1, r38, :7
|
|
JMP :7
|
|
7: CP r2, r32
|
|
JAL r31, r0, :continue_and_state_change
|
|
JMP :8
|
|
1: LD r31, r254, 0a, 64h
|
|
ADDI64 r254, r254, 64d
|
|
JALA r0, r31, 0a
|
|
multiple_breaks:
|
|
LI64 r6, 3d
|
|
LI64 r5, 10d
|
|
4: JLTS r2, r5, :0
|
|
CP r1, r2
|
|
JMP :1
|
|
0: ADDI64 r1, r2, 1d
|
|
JNE r1, r6, :2
|
|
1: JMP :3
|
|
2: CP r2, r1
|
|
JMP :4
|
|
3: JALA r0, r31, 0a
|
|
state_change_in_break:
|
|
LI64 r5, 3d
|
|
LI64 r6, 10d
|
|
4: JLTS r2, r6, :0
|
|
CP r1, r2
|
|
JMP :1
|
|
0: JNE r2, r5, :2
|
|
LI64 r1, 0d
|
|
1: JMP :3
|
|
2: ADDI64 r2, r2, 1d
|
|
JMP :4
|
|
3: JALA r0, r31, 0a
|
|
timed out
|
|
code size: 585
|
|
ret: 10
|
|
status: Ok(())
|