95 lines
1.6 KiB
Plaintext
95 lines
1.6 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, -80d
|
|
ST r31, r254, 0a, 80h
|
|
LI64 r32, 0d
|
|
CP r2, r32
|
|
JAL r31, r0, :multiple_breaks
|
|
CP r33, r32
|
|
CP r34, r1
|
|
LI64 r1, 3d
|
|
JEQ r34, r1, :0
|
|
LI64 r1, 1d
|
|
JMP :1
|
|
0: CP r35, r1
|
|
LI64 r36, 4d
|
|
CP r2, r36
|
|
JAL r31, r0, :multiple_breaks
|
|
CP r37, r36
|
|
LI64 r38, 10d
|
|
JEQ r1, r38, :2
|
|
LI64 r1, 2d
|
|
JMP :1
|
|
2: CP r2, r33
|
|
JAL r31, r0, :state_change_in_break
|
|
CP r39, r1
|
|
CP r1, r33
|
|
JEQ r39, r1, :3
|
|
CP r1, r35
|
|
JMP :1
|
|
3: CP r33, r1
|
|
CP r2, r37
|
|
JAL r31, r0, :state_change_in_break
|
|
JEQ r1, r38, :4
|
|
CP r1, r37
|
|
JMP :1
|
|
4: CP r2, r38
|
|
JAL r31, r0, :continue_and_state_change
|
|
JEQ r1, r38, :5
|
|
LI64 r1, 5d
|
|
JMP :1
|
|
5: CP r2, r35
|
|
JAL r31, r0, :continue_and_state_change
|
|
CP r40, r1
|
|
CP r1, r33
|
|
JEQ r40, r1, :6
|
|
LI64 r1, 6d
|
|
JMP :1
|
|
6: CP r1, r33
|
|
1: LD r31, r254, 0a, 80h
|
|
ADDI64 r254, r254, 80d
|
|
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
|
|
code size: 569
|
|
ret: 0
|
|
status: Ok(())
|