<< Previous | Next >>

> SBC (IX+d)
> SBC (IY+d) Subtract with Carry Rabbit 2000/3000/4000 Instruction

> Opcode | Instruction | Clocks | Operation
> DD 9E d | SBC (IX+d) | 9 (2,2,2,1,2) | A = A - (IX+d) - CF
> FD 9E d | SBC (IY+d) | 9 (2,2,2,1,2) | A = A - (IY+d) - CF

> Flags | ALTD | IOI/IOE
> S | Z | L/V | C | F | R | SP | S | D
> · | · | V | · | · | · |  | · |

> #### Description

> Subtracts the C flag and the data whose address is:

> - the sum of IX and the 8-bit signed displacement d, or
> - the sum of IY and the 8-bit signed displacement d

> from A. The result is stored in A.

> These operations output an inverted carry:

> - The C flag is set if A is less than the data being subtracted from it.

> - The C flag is cleared if A is greater than the data being subtracted from it.

> - The C flag is unchanged if A is equal to the data being subtracted from it.

> The Rabbit 4000 assembler views "SBC A,(IX+d)" and "SBC (IX+d)" as equivalent instructions. The same is true for "SBC A,(IY+d)" and "SBC (IY+d)."

<< Previous | Next >>