Operations:

Format

Syntax:

Operation:

Operands:

Architecture revision

Opcode

1

sbc Rd, Rx, Ry

Rd = Rx - Ry - C;
{x, y, d} ∈ {0, 1, …, 15}

Rev1+

111

Rx

00000

Ry

000000010100

Rd

3

4

5

4

12

4

Description

Subtracts a specified register and the value of the carry bit from a destination register and stores the result in the destination register.

Status Flags:

Q:

Not affected.

V:

V = (Rx[31] AND ~Ry[31] AND ~RES[31]) OR (~Rx[31] AND Ry[31] AND RES[31])

N:

N = RES[31]

Z:

Z = (RES[31:0] == 0) AND Z

C:

C = ~Rx[31] AND Ry[31] OR Ry[31] AND RES[31] OR ~Rx[31] AND RES[31]