mirror of
https://github.com/krgamestudios/Toy.git
synced 2026-04-15 23:04:08 +10:00
34 lines
796 B
Plaintext
34 lines
796 B
Plaintext
|
|
//source
|
|
|
|
while (true) {
|
|
print "1";
|
|
break;
|
|
print "2";
|
|
}
|
|
|
|
print "3";
|
|
|
|
//asm
|
|
|
|
0 TOY_OPCODE_READ [TOY_VALUE_BOOLEAN, true, -]
|
|
4 TOY_OPCODE_JUMP [TOY_OP_PARAM_JUMP_RELATIVE, TOY_OP_PARAM_JUMP_IF_FALSE, -]
|
|
8 52 (jumps to end '64' after this JUMP instruction)
|
|
12 TOY_OPCODE_SCOPE_PUSH
|
|
16 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0]
|
|
20 0 (string "1")
|
|
24 TOY_OPCODE_PRINT
|
|
28 TOY_OPCODE_ESCAPE
|
|
32 0? (addr)
|
|
36 0? (diff)
|
|
40 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0]
|
|
44 4 (string "2")
|
|
48 TOY_OPCODE_PRINT
|
|
52 TOY_OPCODE_SCOPE_POP
|
|
56 TOY_OPCODE_JUMP [TOY_OP_PARAM_JUMP_RELATIVE, TOY_OP_PARAM_JUMP_ALWAYS, -]
|
|
60 -64 (jumps to start '0' after this JUMP instruction)
|
|
64 TOY_OPCODE_READ [TOY_VALUE_STRING, TOY_STRING_LEAF, 0]
|
|
68 8 (string "3")
|
|
72 TOY_OPCODE_PRINT
|
|
76 TOY_OPCODE_RETURN
|