0x00: input_addr
0x04: output_addr
0x08: n
0x0c: result
0x10: const_1
0x14: _start
0x20: factorial_begin
0x29: factorial_while
0x4a: factorial_end
0x53: factorial_overflow
0x5e: not_in_domain
---
mem[0x00..0x03] (4 B): 80 00 00 00 @"input_addr"
mem[0x04..0x07] (4 B): 84 00 00 00 @"output_addr"
mem[0x08..0x0b] (4 B): 00 00 00 00 @"n"
mem[0x0c..0x0f] (4 B): 01 00 00 00 @"result"
mem[0x10..0x13] (4 B): 01 00 00 00 @"const_1"
mem[0x14..0x16] (3 B): Load (-20) @_start
mem[0x17..0x17] (1 B): LoadAcc
mem[0x18..0x1a] (3 B): Store (-16)
mem[0x1b..0x1f] (5 B): Blz 94
mem[0x20..0x22] (3 B): Load (-16) @factorial_begin
mem[0x23..0x25] (3 B): Store (-23)
mem[0x26..0x28] (3 B): Load (-30)
mem[0x29..0x2d] (5 B): Beqz 74 @factorial_while
mem[0x2e..0x30] (3 B): Load (-34)
mem[0x31..0x33] (3 B): Mul 8
mem[0x34..0x38] (5 B): Bvs 83
mem[0x39..0x3b] (3 B): Store (-45)
mem[0x3c..0x3e] (3 B): Load (-52)
mem[0x3f..0x41] (3 B): Sub 16
mem[0x42..0x44] (3 B): Store (-58)
mem[0x45..0x49] (5 B): Jmp 41
mem[0x4a..0x4c] (3 B): Load (-62) @factorial_end
mem[0x4d..0x51] (5 B): StoreInd 4
mem[0x52..0x52] (1 B): Halt
mem[0x53..0x57] (5 B): LoadImm (-858993460) @factorial_overflow
mem[0x58..0x5c] (5 B): StoreInd 4
mem[0x5d..0x5d] (1 B): Halt
mem[0x5e..0x62] (5 B): LoadImm (-1) @not_in_domain
mem[0x63..0x67] (5 B): StoreInd 4
mem[0x68..0x68] (1 B): Halt
mem[0x69..0x8f] (39 B): 04 f0 b5 54 63 fb ad 79 7a 0f 63 f5 ff 95 59 8b 34 09 d4 d4 14 97 38 8c 2f 29 14 0a f1 df 8a 29 13 ed f7 7c e4 9c 29
/* comment */