d "inc ptr" 3e 0 (set ptr (+ (var ptr) (bv 64 0x1))) d "dec ptr" 3c 0 (set ptr (- (var ptr) (bv 64 0x1))) d "inc [ptr]" 2b 0x0 (store 0 (var ptr) (+ (load 0 (var ptr)) (bv 8 0x1))) d "dec [ptr]" 2d 0x0 (store 0 (var ptr) (- (load 0 (var ptr)) (bv 8 0x1))) d "out [ptr]" 2e 0 (goto write) d "in [ptr]" 2c 0x0 (goto read) # These just jump to 0 because we have no context here: d "while [ptr]" 5b 0x0 (branch (! (is_zero (load 0 (var ptr)))) nop (jmp (bv 64 0x0))) d "loop" 5d 0x0 (branch (! (is_zero (load 0 (var ptr)))) (jmp (bv 64 0x0)) nop)