XOR

EXCLUSIVE OR XOR

Encoding:

Memory or Register Operand with Register Operand:

10 0 11 0 0 d w 1mod reg rIm 1

if d = 1 then LSRC = REG, RSRC = EA, DEST = REG else LSRC = EA, RSRC = REG, DEST = EA

Immediate Operand to Memory or Register Operand:

11 000000 w 1mod 11 0 rIm 1 data

data if w=1

LSRC = EA, RSRC = data, DEST = EA

Immediate Operand to Accumulator:

10 0 1 1 0 1 0 w 1 data

1 data if w=1 I

if w = 0 then LSRC = AL, RSRC = data, DEST = AL else LSRC = AX, RSRC = data, DEST = AX

XOR Operands

Clocks·

Transfers

Bytes

XOR Coding Example

register, register

3

-

2

XORCX, BX

register, memory

9(13)+ EA

1

2-4

XOR Cl, MASK_BYTE

memory, register

16(24)+ EA

2

2-4

XOR ALPHA [SI], DX

accumulator, immediate

4

-

2-3

XOR Al, 01000010B

register, immediate

4

-

3-4

XOR SI, 00C2H

memory, immediate

17(25) + EA

2

3-6

XOR RETURN_CODE, OD2H

*b(w): where b denotes the number of clock cycles for byte operands and w denotes the number of clock cycles for word operands.

2-165

Page 200
Image 200
Intel 210200-002 manual Xorcx, Bx