=== ======================================= === === Sbc – Substract with complemented carry === === ======================================= === Format: 111.bbb.01 Description Substract the contents of memory address or literal from the accumulator, minus the complemented carry flag. The result is left in the accumulator. Remark 1. Sbc may operate either in decimal or binary mode: flags must be set to the correct value. 2. To Sbc without carry, the carry bit must be set to 1. Addressing Modes ┌─────────┬────────────┬──────────┬─────────────┬─────┬─────┬────────────────┬────────────────┐ │ Imm │ 111.010.01 │ e9 ab │ Sbc #ab │ bbb │ #2 │ 1110.0001 = e1 │ 0000.1000 = 08 │ │ Zpg │ 111.001.01 │ e5 ab │ Sbc ab │ bbb │ #3 │ 1110.0001 = e1 │ 0000.0100 = 04 │ │ Abs │ 111.011.01 │ ed cd ab │ Sbc abcd │ bbb │ #4 │ 1110.0001 = e1 │ 0000.1100 = 0c │ │ Zpg,x │ 111.101.01 │ f5 ab │ Sbc ab,y │ bbb │ #4 │ 1110.0001 = e1 │ 0001.0100 = 14 │ │ Abs,x │ 111.111.01 │ fd cd ab │ Sbc abcd,x │ bbb │ #4* │ 1110.0001 = e1 │ 0001.1100 = 1c │ │ Abs,y │ 111.110.01 │ f9 cd ab │ Sbc abcd,y │ bbb │ #4* │ 1110.0001 = e1 │ 0001.1000 = 18 │ │ *IDZ* │ 111.100.10 │ f2 ab │ Sbc (ab) │ --- │ #5 │ 1110.0010 = e2 │ 0001.0000 = 10 │ │ (Zpg,x) │ 111.000.01 │ e1 ab │ Sbc (ab,x) │ bbb │ #6 │ 1110.0001 = e1 │ 0000.0000 = 00 │ │ (Zpg),y │ 111.100.01 │ f1 ab │ Sbc (ab),y │ bbb │ #5* │ 1110.0001 » e1 │ 0001.0000 = 10 │ └─────────┴────────────┴──────────┴─────────────┴─────┴─────┴────────────────┴────────────────┘ Result ┌───────────┐ │ A?M │ ├───┬───┬───┤ │ > │ = │ < │ ┌───┼───┼───┼───┤ │ N │ 0 │ 0 │ 1 │ │ Z │ 0 │ 1 │ 0 │ │ C │ 1 │ 1 │ 0 │ └───┴───┴───┴───┘ Flags NV-BDIZC ••- ••
Fehlerhinweise, Kommentare und Anregungen sind mir herzlich willkommen.
Letzte Aktualisierung: 2017-02-23