ad "acall 0x1723" f123 0x1200 (seq (set val (+ (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (store 0 (cast 16 false (var sp)) (cast 8 false (& (bv 16 0x1202) (bv 16 0xff)))) (set val (+ (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (store 0 (cast 16 false (var sp)) (cast 8 false (>> (bv 16 0x1202) (bv 8 0x8) false))) (jmp (bv 16 0x723)))
ad "add a, #0x03" 2403 0x1200 (seq (set arg1 (bv 8 0x3)) (set res (+ (var acc) (var arg1))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "add a, 0x20" 2520 0x1200 (seq (set arg1 (load 0 (bv 16 0x20))) (set res (+ (var acc) (var arg1))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "add a, @r1" 27 0x1200 (seq (set arg1 (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (+ (var acc) (var arg1))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "add a, [r1]" 27 0x1200 (seq (set arg1 (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (+ (var acc) (var arg1))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "add a, r3" 2b 0x1200 (seq (set arg1 (var r3)) (set res (+ (var acc) (var arg1))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "addc a, #0x38" 3438 0x1200 (seq (set arg1 (bv 8 0x38)) (set res (+ (var acc) (+ (var arg1) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "addc a, 0x30" 3530 0x1200 (seq (set arg1 (load 0 (bv 16 0x30))) (set res (+ (var acc) (+ (var arg1) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "addc a, @r0" 36 0x1200 (seq (set arg1 (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (+ (var acc) (+ (var arg1) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "addc a, [r0]" 36 0x1200 (seq (set arg1 (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (+ (var acc) (+ (var arg1) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "addc a, r5" 3d 0x1200 (seq (set arg1 (var r5)) (set res (+ (var acc) (+ (var arg1) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))))) (set carry (| (& (var acc) (var arg1)) (& (~- (var res)) (| (var acc) (var arg1))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var carry) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (msb (var acc)) (&& (msb (var arg1)) (! (msb (var res))))) (&& (! (msb (var acc))) (&& (! (msb (var arg1))) (msb (var res))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "ajmp 0x1723" e123 0x1200 (jmp (+ (cast 16 false (var acc)) (append (var dph) (var dpl))))
ad "anl a, #0x01" 5401 0x1200 (seq (set val (& (var acc) (bv 8 0x1))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "anl a, 0x40" 5540 0x1200 (seq (set val (& (var acc) (load 0 (bv 16 0x40)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "anl a, @r0" 56 0x1200 (seq (set val (& (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "anl a, [r0]" 56 0x1200 (seq (set val (& (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "anl a, r4" 5c 0x1200 (seq (set val (& (var acc) (var r4))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "anl c, 0x24.2" 8222 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (&& (! (is_zero (& (var psw) (bv 8 0x80)))) (! (is_zero (loadw 0 1 (bv 16 0x22))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "anl c, /0x24.2" b022 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (&& (! (is_zero (& (var psw) (bv 8 0x80)))) (! (is_zero (loadw 0 1 (bv 16 0x22))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "anl 0x40, a" 5240 0x1200 (store 0 (bv 16 0x40) (& (load 0 (bv 16 0x40)) (var acc)))
ad "anl 0xc9, #0xdf" 53c9df 0x1200 (store 0 (bv 16 0xc9) (& (load 0 (bv 16 0xc9)) (bv 8 0xdf)))
ad "cjne a, #0xab, 0x1216" b4ab13 0x1200 (branch (! (== (var acc) (bv 8 0xab))) (jmp (bv 16 0x1216)) nop)
ad "cjne a, 0x60, 0x121b" b56018 0x1200 (branch (! (== (var acc) (load 0 (bv 16 0x60)))) (jmp (bv 16 0x121b)) nop)
ad "cjne @r1, #0x24, 0x1235" b72432 0x1200 (branch (! (== (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))) (bv 8 0x24))) (jmp (bv 16 0x1235)) nop)
a "cjne [r1], #0x24, 0x1235" b72432 0x1200 (branch (! (== (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))) (bv 8 0x24))) (jmp (bv 16 0x1235)) nop)
ad "cjne r7, #0x02, 0x1208" bf0205 0x1200 (branch (! (== (var r7) (bv 8 0x2))) (jmp (bv 16 0x1208)) nop)
ad "clr a" e4 0x1200 (seq (set val (bv 8 0x0)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "clr 0xc8.7" c2cf 0x1200 (store 0 (bv 16 0xc8) (| (& (load 0 (bv 16 0xc8)) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (bv 8 0x0) (bv 8 0x7) false)))
ad "clr c" c3 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (bv 8 0x0) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "cpl a" f4 0x1200 (seq (set val (~ (var acc))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "cpl 0x2a.5" b255 0x1200 (store 0 (bv 16 0x2a) (| (& (load 0 (bv 16 0x2a)) (~ (<< (bv 8 0x1) (bv 8 0x5) false))) (<< (ite (! (! (is_zero (loadw 0 1 (bv 16 0x55))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x5) false)))
ad "cpl c" b3 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (! (is_zero (& (var psw) (bv 8 0x80))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "da a" d4 0x1200 (seq (set s0 (|| (! (is_zero (& (var psw) (bv 8 0x80)))) (! (ule (& (var acc) (bv 8 0xf)) (bv 8 0x9))))) (set s1 (|| (var s0) (! (ule (& (var acc) (bv 8 0xf0)) (bv 8 0x90))))) (set @a (var acc)) (branch (var s0) (set @a (+ (var @a) (bv 8 0x6))) nop) (branch (var s1) (set @a (+ (var @a) (bv 8 0x60))) nop) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (ule (var @a) (bv 8 0x99))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var @a)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "dec a" 14 0x1200 (seq (set arg0 (var acc)) (set val (- (var arg0) (bv 8 0x1))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "dec 0x35" 1535 0x1200 (seq (set arg0 (load 0 (bv 16 0x35))) (store 0 (bv 16 0x35) (- (var arg0) (bv 8 0x1))))
ad "dec @r1" 17 0x1200 (seq (set arg0 (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set addr (cast 16 false (var r1))) (set val (- (var arg0) (bv 8 0x1))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "dec [r1]" 17 0x1200 (seq (set arg0 (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set addr (cast 16 false (var r1))) (set val (- (var arg0) (bv 8 0x1))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "dec r7" 1f 0x1200 (seq (set arg0 (var r7)) (set val (- (var arg0) (bv 8 0x1))) (set r7 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x7) (var bank))) (var val)))
ad "div ab" 84 0x1200 (seq (set @a (var acc)) (set @b (var b)) (set val (div (var @a) (var @b))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set val (mod (var @a) (var @b))) (set b (var val)) (store 0 (bv 16 0xf0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (bv 8 0x0) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (is_zero (var @b)) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "djnz 0x40, 0x118b" d54088 0x1200 (seq (set res (- (load 0 (bv 16 0x40)) (bv 8 0x1))) (store 0 (bv 16 0x40) (var res)) (branch (! (is_zero (var res))) (jmp (bv 16 0x118b)) nop))
ad "djnz r0, 0x11fe" d8fc 0x1200 (seq (set res (- (var r0) (bv 8 0x1))) (set val (var res)) (set r0 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x0) (var bank))) (var val)) (branch (! (is_zero (var res))) (jmp (bv 16 0x11fe)) nop))
ad "djnz r7, 0x11fc" dffa 0x1200 (seq (set res (- (var r7) (bv 8 0x1))) (set val (var res)) (set r7 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x7) (var bank))) (var val)) (branch (! (is_zero (var res))) (jmp (bv 16 0x11fc)) nop))
ad "inc a" 04 0x1200 (seq (set arg0 (var acc)) (set val (+ (var arg0) (bv 8 0x1))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "inc 0x34" 0534 0x1200 (seq (set arg0 (load 0 (bv 16 0x34))) (store 0 (bv 16 0x34) (+ (var arg0) (bv 8 0x1))))
ad "inc dptr" a3 0x1200 (seq (set arg0 (append (var dph) (var dpl))) (set dptr (+ (var arg0) (bv 16 0x1))) (set dph' (cast 8 false (>> (var dptr) (bv 16 0x8) false))) (set dpl' (cast 8 false (var dptr))) (set dph (var dph')) (set dpl (var dpl')) (store 0 (bv 16 0x83) (var dph')) (store 0 (bv 16 0x82) (var dpl')))
ad "inc r0" 08 0x1200 (seq (set arg0 (var r0)) (set val (+ (var arg0) (bv 8 0x1))) (set r0 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x0) (var bank))) (var val)))
ad "jb 0x2f.5, 0x1206" 207d03 0x1200 (branch (! (is_zero (loadw 0 1 (bv 16 0x7d)))) (jmp (bv 16 0x1206)) nop)
ad "jbc 0x22.5, 0x120b" 101508 0x1200 (branch (! (is_zero (loadw 0 1 (bv 16 0x15)))) (seq (store 0 (bv 16 0x22) (| (& (load 0 (bv 16 0x22)) (~ (<< (bv 8 0x1) (bv 8 0x5) false))) (<< (bv 8 0x0) (bv 8 0x5) false))) (jmp (bv 16 0x120b))) nop)
ad "jc 0x1205" 4003 0x1200 (branch (! (is_zero (& (var psw) (bv 8 0x80)))) (jmp (bv 16 0x1205)) nop)
ad "jmp @a+dptr" 73 0x1200 (jmp (+ (cast 16 false (var acc)) (append (var dph) (var dpl))))
a "jmp [a+dptr]" 73 0x1200 (jmp (+ (cast 16 false (var acc)) (append (var dph) (var dpl))))
ad "jnb 0x2a.1, 0x120b" 305108 0x1200 (branch (! (is_zero (loadw 0 1 (bv 16 0x51)))) (jmp (bv 16 0x120b)) nop)
ad "jnc 0x1209" 5007 0x1200 (branch (! (! (is_zero (& (var psw) (bv 8 0x80))))) (jmp (bv 16 0x1209)) nop)
ad "jnz 0x1215" 7013 0x1200 (branch (! (is_zero (var acc))) (jmp (bv 16 0x1215)) nop)
ad "jz 0x1217" 6015 0x1200 (branch (is_zero (var acc)) (jmp (bv 16 0x1217)) nop)
ad "lcall 0xb6cf" 12b6cf 0x1200 (seq (set val (+ (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (store 0 (cast 16 false (var sp)) (cast 8 false (& (bv 16 0x1203) (bv 16 0xff)))) (set val (+ (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (store 0 (cast 16 false (var sp)) (cast 8 false (>> (bv 16 0x1203) (bv 8 0x8) false))) (jmp (bv 16 0xb6cf)))
ad "ljmp 0x2c0d" 022c0d 0x1200 (jmp (bv 16 0x2c0d))
ad "mov a, #0xff" 74ff 0x1200 (seq (set val (bv 8 0xff)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "mov a, 0x20" e520 0x1200 (seq (set val (load 0 (bv 16 0x20))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "mov a, @r1" e7 0x1200 (seq (set val (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "mov a, [r1]" e7 0x1200 (seq (set val (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "mov a, r6" ee 0x1200 (seq (set val (var r6)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "mov 0x24.2, c" 9222 0x1200 (store 0 (bv 16 0x24) (| (& (load 0 (bv 16 0x24)) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false)))
ad "mov c, 0x24.2" a222 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (loadw 0 1 (bv 16 0x22)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "mov 0x44, a" f544 0x1200 (store 0 (bv 16 0x44) (var acc))
ad "mov 0xc0, #0x7f" 75c07f 0x1200 (store 0 (bv 16 0xc0) (bv 8 0x7f))
ad "mov 0x55, 0x44" 854455 0x1200 (store 0 (bv 16 0x44) (load 0 (bv 16 0x55)))
ad "mov 0x44, @r1" 8744 0x1200 (store 0 (bv 16 0x44) (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))
a "mov 0x44, [r1]" 8744 0x1200 (store 0 (bv 16 0x44) (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))
ad "mov 0x93, r4" 8c93 0x1200 (store 0 (bv 16 0x93) (var r4))
ad "mov dptr, #0x1234" 901234 0x1200 (seq (set dptr (bv 16 0x1234)) (set dph' (cast 8 false (>> (var dptr) (bv 16 0x8) false))) (set dpl' (cast 8 false (var dptr))) (set dph (var dph')) (set dpl (var dpl')) (store 0 (bv 16 0x83) (var dph')) (store 0 (bv 16 0x82) (var dpl')))
ad "mov @r0, a" f6 0x1200 (seq (set addr (cast 16 false (var r0))) (set val (var acc)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "mov [r0], a" f6 0x1200 (seq (set addr (cast 16 false (var r0))) (set val (var acc)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "mov @r1, #0x00" 7700 0x1200 (seq (set addr (cast 16 false (var r1))) (set val (bv 8 0x0)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "mov [r1], #0x00" 7700 0x1200 (seq (set addr (cast 16 false (var r1))) (set val (bv 8 0x0)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "mov @r0, 0x20" a620 0x1200 (seq (set addr (cast 16 false (var r0))) (set val (load 0 (bv 16 0x20))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "mov [r0], 0x20" a620 0x1200 (seq (set addr (cast 16 false (var r0))) (set val (load 0 (bv 16 0x20))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "mov r5, a" fd 0x1200 (seq (set val (var acc)) (set r5 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x5) (var bank))) (var val)))
ad "mov r1, #0x00" 7900 0x1200 (seq (set val (bv 8 0x0)) (set r1 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x1) (var bank))) (var val)))
ad "mov r2, 0x32" aa32 0x1200 (seq (set val (load 0 (bv 16 0x32))) (set r2 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x2) (var bank))) (var val)))
ad "movc a, @a+pc" 83 0x1200 (seq (set val (cast 8 false (+ (cast 16 false (load 0 (cast 16 false (var acc)))) (bv 16 0x1200)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movc a, [a+pc]" 83 0x1200 (seq (set val (cast 8 false (+ (cast 16 false (load 0 (cast 16 false (var acc)))) (bv 16 0x1200)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "movc a, @a+dptr" 93 0x1200 (seq (set val (cast 8 false (+ (cast 16 false (load 0 (cast 16 false (var acc)))) (append (var dph) (var dpl))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movc a, [a+dptr]" 93 0x1200 (seq (set val (cast 8 false (+ (cast 16 false (load 0 (cast 16 false (var acc)))) (append (var dph) (var dpl))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "movx a, @dptr" e0 0x1200 (seq (set val (let addr (cast 16 false (append (var dph) (var dpl))) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movx a, [dptr]" e0 0x1200 (seq (set val (let addr (cast 16 false (append (var dph) (var dpl))) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "movx a, @r1" e3 0x1200 (seq (set val (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movx a, [r1]" e3 0x1200 (seq (set val (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "movx @dptr, a" f0 0x1200 (seq (set val (let addr (cast 16 false (append (var dph) (var dpl))) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movx [dptr], a" f0 0x1200 (seq (set val (let addr (cast 16 false (append (var dph) (var dpl))) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "movx @r0, a" f2 0x1200 (seq (set val (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "movx [r0], a" f2 0x1200 (seq (set val (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "mul ab" a4 0x1200 (seq (set v (* (cast 16 false (var acc)) (cast 16 false (var b)))) (set MSB (cast 8 false (>> (var v) (bv 16 0x8) false))) (set val (cast 8 false (var v))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set val (var MSB)) (set b (var val)) (store 0 (bv 16 0xf0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (bv 8 0x0) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (! (is_zero (var MSB))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "nop" 00 0x1200 nop
ad "orl a, #0x80" 4480 0x1200 (seq (set val (| (var acc) (bv 8 0x80))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "orl a, 0x32" 4532 0x1200 (seq (set val (| (var acc) (load 0 (bv 16 0x32)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "orl a, @r0" 46 0x1200 (seq (set val (| (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "orl a, [r0]" 46 0x1200 (seq (set val (| (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "orl a, r5" 4d 0x1200 (seq (set val (| (var acc) (var r5))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "orl c, 0x24.2" 7222 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (|| (! (is_zero (& (var psw) (bv 8 0x80)))) (! (is_zero (loadw 0 1 (bv 16 0x22))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "orl c, /0x24.2" a022 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (|| (! (is_zero (& (var psw) (bv 8 0x80)))) (! (is_zero (loadw 0 1 (bv 16 0x22))))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "orl 0x22, a" 4222 0x1200 (store 0 (bv 16 0x22) (| (load 0 (bv 16 0x22)) (var acc)))
ad "orl 0xdc, #0x02" 43dc02 0x1200 (store 0 (bv 16 0xdc) (| (load 0 (bv 16 0xdc)) (bv 8 0x2)))
ad "pop 0x93" d093 0x1200 (seq (store 0 (bv 16 0x93) (load 0 (cast 16 false (var sp)))) (set val (- (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)))
ad "push 0x93" c093 0x1200 (seq (set val (+ (var sp) (bv 8 0x1))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (store 0 (cast 16 false (var sp)) (load 0 (bv 16 0x93))))
ad "ret" 22 0x1200 (seq (set pch (load 0 (cast 16 false (var sp)))) (set pcl (load 0 (cast 16 false (- (var sp) (bv 8 0x1))))) (set val (- (var sp) (bv 8 0x2))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (jmp (append (var pch) (var pcl))))
ad "reti" 32 0x1200 (seq (set pch (load 0 (cast 16 false (var sp)))) (set pcl (load 0 (cast 16 false (- (var sp) (bv 8 0x1))))) (set val (- (var sp) (bv 8 0x2))) (set sp (var val)) (store 0 (bv 16 0x81) (var val)) (jmp (append (var pch) (var pcl))))
ad "rl a" 23 0x1200 (seq (set val (| (<< (var acc) (bv 8 0x1) false) (>> (var acc) (bv 8 0x7) false))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "rlc a" 33 0x1200 (seq (set cy (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (>> (var acc) (bv 8 0x7) false))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (<< (var acc) (bv 8 0x1) false) (var cy))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "rr a" 03 0x1200 (seq (set val (| (>> (var acc) (bv 8 0x1) false) (<< (var acc) (bv 8 0x7) false))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "rrc a" 13 0x1200 (seq (set cy (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (! (is_zero (& (var acc) (bv 8 0x1)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (<< (var acc) (bv 8 0x1) false) (<< (var cy) (bv 8 0x7) false))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "setb 0x28.2" d242 0x1200 (store 0 (bv 16 0x28) (| (& (load 0 (bv 16 0x28)) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (bv 8 0x1) (bv 8 0x2) false)))
ad "setb c" d3 0x1200 (seq (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (bv 8 0x1) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)))
ad "sjmp 0x1216" 8014 0x1200 (jmp (+ (cast 16 false (var acc)) (append (var dph) (var dpl))))
ad "subb a, #0x01" 9401 0x1200 (seq (set arg1 (bv 8 0x1)) (set res (- (- (var acc) (var arg1)) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)))) (set borrow (| (& (~- (var acc)) (var arg1)) (& (var res) (| (var arg1) (~- (var acc)))))) (set b6 (! (is_zero (& (var borrow) (bv 8 0x40))))) (set b7 (! (is_zero (& (var borrow) (bv 8 0x80))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (var b7) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var borrow) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (var b6) (! (var b7))) (&& (! (var b6)) (var b7))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "subb a, 0x44" 9544 0x1200 (seq (set arg1 (load 0 (bv 16 0x44))) (set res (- (- (var acc) (var arg1)) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)))) (set borrow (| (& (~- (var acc)) (var arg1)) (& (var res) (| (var arg1) (~- (var acc)))))) (set b6 (! (is_zero (& (var borrow) (bv 8 0x40))))) (set b7 (! (is_zero (& (var borrow) (bv 8 0x80))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (var b7) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var borrow) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (var b6) (! (var b7))) (&& (! (var b6)) (var b7))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "subb a, @r0" 96 0x1200 (seq (set arg1 (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (- (- (var acc) (var arg1)) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)))) (set borrow (| (& (~- (var acc)) (var arg1)) (& (var res) (| (var arg1) (~- (var acc)))))) (set b6 (! (is_zero (& (var borrow) (bv 8 0x40))))) (set b7 (! (is_zero (& (var borrow) (bv 8 0x80))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (var b7) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var borrow) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (var b6) (! (var b7))) (&& (! (var b6)) (var b7))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "subb a, [r0]" 96 0x1200 (seq (set arg1 (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set res (- (- (var acc) (var arg1)) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)))) (set borrow (| (& (~- (var acc)) (var arg1)) (& (var res) (| (var arg1) (~- (var acc)))))) (set b6 (! (is_zero (& (var borrow) (bv 8 0x40))))) (set b7 (! (is_zero (& (var borrow) (bv 8 0x80))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (var b7) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var borrow) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (var b6) (! (var b7))) (&& (! (var b6)) (var b7))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "subb a, r5" 9d 0x1200 (seq (set arg1 (var r5)) (set res (- (- (var acc) (var arg1)) (ite (! (is_zero (& (var psw) (bv 8 0x80)))) (bv 8 0x1) (bv 8 0x0)))) (set borrow (| (& (~- (var acc)) (var arg1)) (& (var res) (| (var arg1) (~- (var acc)))))) (set b6 (! (is_zero (& (var borrow) (bv 8 0x40))))) (set b7 (! (is_zero (& (var borrow) (bv 8 0x80))))) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x7) false))) (<< (ite (var b7) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x7) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x6) false))) (<< (ite (! (is_zero (& (var borrow) (bv 8 0x8)))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x6) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (| (& (var psw) (~ (<< (bv 8 0x1) (bv 8 0x2) false))) (<< (ite (|| (&& (var b6) (! (var b7))) (&& (! (var b6)) (var b7))) (bv 8 0x1) (bv 8 0x0)) (bv 8 0x2) false))) (set psw (var val)) (store 0 (bv 16 0xd0) (var val)) (set val (var res)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "swap a" c4 0x1200 (seq (set val (| (<< (var acc) (bv 8 0x4) false) (>> (var acc) (bv 8 0x4) false))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "xch a, 0x45" c545 0x1200 (seq (set @a (var acc)) (set val (load 0 (bv 16 0x45))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (store 0 (bv 16 0x45) (var @a)))
ad "xch a, @r0" c6 0x1200 (seq (set @a (var acc)) (set val (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set addr (cast 16 false (var r0))) (set val (var @a)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "xch a, [r0]" c6 0x1200 (seq (set @a (var acc)) (set val (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set addr (cast 16 false (var r0))) (set val (var @a)) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "xch a, r6" ce 0x1200 (seq (set @a (var acc)) (set val (var r6)) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set val (var @a)) (set r6 (var val)) (set bank (& (var psw) (bv 8 0x18))) (store 0 (cast 16 false (+ (bv 8 0x6) (var bank))) (var val)))
ad "xchd a, @r1" d7 0x1200 (seq (set @a (var acc)) (set @b (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set val (| (& (var @a) (bv 8 0xf0)) (& (var @b) (bv 8 0xf)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set addr (cast 16 false (var r1))) (set val (| (& (var @b) (bv 8 0xf0)) (& (var @a) (bv 8 0xf)))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
a "xchd a, [r1]" d7 0x1200 (seq (set @a (var acc)) (set @b (let addr (cast 16 false (var r1)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr))))) (set val (| (& (var @a) (bv 8 0xf0)) (& (var @b) (bv 8 0xf)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)) (set addr (cast 16 false (var r1))) (set val (| (& (var @b) (bv 8 0xf0)) (& (var @a) (bv 8 0xf)))) (branch (! (ule (var addr) (bv 16 0x7f))) (store 0 (+ (var addr) (bv 16 0x100)) (var val)) (store 0 (var addr) (var val))))
ad "xrl a, #0xfa" 64fa 0x1200 (seq (set val (^ (var acc) (bv 8 0xfa))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "xrl a, 0x34" 6534 0x1200 (seq (set val (^ (var acc) (load 0 (bv 16 0x34)))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "xrl a, @r0" 66 0x1200 (seq (set val (^ (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
a "xrl a, [r0]" 66 0x1200 (seq (set val (^ (var acc) (let addr (cast 16 false (var r0)) (ite (! (ule (var addr) (bv 16 0x7f))) (load 0 (+ (var addr) (bv 16 0x100))) (load 0 (var addr)))))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "xrl a, r7" 6f 0x1200 (seq (set val (^ (var acc) (var r7))) (set acc (var val)) (store 0 (bv 16 0xe0) (var val)))
ad "xrl 0x34, a" 6234 0x1200 (store 0 (bv 16 0x34) (^ (load 0 (bv 16 0x34)) (var acc)))
ad "xrl 0x34, #0xff" 6334ff 0x1200 (store 0 (bv 16 0x34) (^ (load 0 (bv 16 0x34)) (bv 8 0xff)))
