<<< ROR Rotate Right | Index | SHL Shift Left >>> |
O D I T S Z A P C OF: Overflow flag TF: Trap flag AF: Aux carry F F F F F F F F F DF: Direction flag SF: Sign flag PF: Parity flag * * * * * * IF: Interrupt flag ZF: Zero flag CF: Carry flag
SBB r8,r8 SBB m8,r8 SBB r8,m8 SBB r16,r16 SBB m16,r16 SBB r16,m16 SBB r32,r32 386+ SBB m32,r32 386+ SBB r32,m32 386+ SBB r8,i8 SBB m8,i8 SBB r16,i16 SBB m16,i16 SBB r32,i32 386+ SBB m32,i32 386+ SBB r16,i8 SBB m16,i8 SBB r32,i8 386+ SBB m32,i8 386+ SBB AL,i8 SBB AX,i16 SBB EAX,i32 386+
SBB BX,DI SBB AX,0FFFFH ;Uses single-byte opcode SBB AL,42H ;Uses single-byte opcode SBB BP,17H SBB WORD [BX+SI+Inset],5 SBB WORD [ES:BX],0B800H
SBB performs a subtraction with borrow, where the source is subtracted from the destination, and then the Carry flag is subtracted from the result. The result then replaces the destination. If the result is negative, the Carry flag is set. To subtract without taking the Carry flag into account (i.e., without borrowing), use the SUB instruction.
r8 = AL AH BL BH CL CH DL DH r16 = AX BX CX DX BP SP SI DI sr = CS DS SS ES FS GS r32 = EAX EBX ECX EDX EBP ESP ESI EDI m8 = 8-bit memory data m16 = 16-bit memory data m32 = 32-bit memory data i8 = 8-bit immediate data i16 = 16-bit immediate data i32 = 32-bit immediate data d8 = 8-bit signed displacement d16 = 16-bit signed displacement d32 = 32-bit unsigned displacement
<<< ROR Rotate Right | Index | SHL Shift Left >>> |