logic, shift and rotate instruction

Post on 22-Aug-2015

94 Views

Category:

Education

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Presentation TitleYour company information

1Kashifshafqat25@yahoo.com

•Logic, Shift, and Rotate Instructions

2Kashifshafqat25@yahoo.com

presented

by kashif shafqat(6905)

and meer jalal khan

3Kashifshafqat25@yahoo.com

Logic instruction• To manipulate individual bits

• Binary Value 0 treated as false

• Binary Value 1 treated as true

• AND• OR • XOR• NOT• TEST

4Kashifshafqat25@yahoo.com

TRUTH TABLE

a b a AND b a OR b a XOR b

0 0 0 0 0

0 1 0 1 1

1 0 0 1 1

1 1 1 1 0

a NOT a

0 1

1 0

5Kashifshafqat25@yahoo.com

examples

• AND

1010 1010

1111 0000

1010 0000

• OR

1010 1010

1111 0000

1111 10106

Kashifshafqat25@yahoo.com

• XOR

1010 1010

1111 0000

0101 1010

• NOT

1010 1010

0101 0101

7Kashifshafqat25@yahoo.com

SYNTAXAND destination,source

OR destination,source

XOR destination,source

• Destination:• Store result• Can be a Register or Memory Location

• Source:• May be a Constant,Register or Memory Location

• Memory to memory operation not allowed

8Kashifshafqat25@yahoo.com

Effects on flags

• SF,ZF,PF reflects the result• AF is undefined• CF,OF = 0

9Kashifshafqat25@yahoo.com

MASK• To modify only selective bits in destination, we construct

a source bit pattern known as MASK• T o choose mask , use following properties:

• b AND 1 = b• b AND 0 = 0• b OR 1 = 1• b OR 0 = b• b XOR 0 = b• b AND 1 = ~b ( complement of b)

• Where b represents a bit (0 or 1)

10Kashifshafqat25@yahoo.com

Contd…1. The AND Instruction:

– May be used to clear specific destination bits while preventing the others.

– A 0 mask bit clears the corresponding destination bit.

– A 1 mask bit preserves the corresponding destination bit.

11Kashifshafqat25@yahoo.com

Example:

• Clear the sign bit of AL while leaving the other bits unchanged.

Solution:

AND AL,7Fh

Where 7Fh (0111 1111) is the mask.

12Kashifshafqat25@yahoo.com

Contd… The OR Instruction:

May be used to SET specific destination bits while preventing the others.

– A 1 mask bit sets the corresponding destination bit.

– A 0 mask bit preserves the corresponding destination bit.

13Kashifshafqat25@yahoo.com

Example:• Set the MSB and LSB of AL while

preserving the other bits.

• Solution:

OR AL,81h

Where 81h (1000 0001) is the mask.

14Kashifshafqat25@yahoo.com

Contd… The XOR Instruction:

– May be used to Complement specific destination bits while preventing the others.

– A 1 mask bit complements the corresponding destination bit.

– A 0 mask bit preserves the corresponding destination bit.

15Kashifshafqat25@yahoo.com

example• Change the sign bit of DX.

• Solution:

XOR DX,8000h

Where 80h ( 1000 0000 ) is the mask.

16Kashifshafqat25@yahoo.com

Clearing a register: MOV AX,0 ;machine code 3 bytes

OR

SUB AX,AX ;machine code 2 bytes

OR

XOR AX,AX ;machine code 2 bytes

17Kashifshafqat25@yahoo.com

TESTING A REGISTER FOR ZERO:•

CMP CX,0

Is same like :

OR CX,CX

;Sets ZF=1 if CX is 0

18Kashifshafqat25@yahoo.com

Not instruction• Performs the one’s complement operation

on the destination.

• Syntax:

• NOT destination

• No effects on flags

• Example: Complement the bit in AX:

NOT AX

19Kashifshafqat25@yahoo.com

SHIFT AND ROTATE INSTRUCTION:

• Shift the bits in destination operand by one or more positions either to the left or right.

• Shift: Bit shifted out is lost

• ROTATE: Bit shifted out from one end of the destination operand is put back on the other end.

• Syntax:• OPCODE destination,1

• OPCODE destination,CL20Kashifshafqat25@yahoo.com

SHIFT INSTRUCTION:

SHL Instruction (left shift) SHR Instruction (right shift) SAL Instruction (shift Arithmetic left) SAR Instruction (shift Arithmetic right) ROL Instruction (shift left) ROR Instruction (shift right) RCL Instruction (shift Carry left) RCR Instruction (shift Carry Right)

21Kashifshafqat25@yahoo.com

SHL Instruction (left shift)• The SHL (shift left) instruction performs a

logical left shift on the destination operand, filling the lowest bit with 0.

• Operand types:

SHL reg,imm8SHL mem,imm8SHL reg,CLSHL mem,CL

22Kashifshafqat25@yahoo.com

SHR Instruction (right shift)

• The SHR (shift right) instruction performs a logical right shift on the destination operand. The highest bit position is filled with a zero.

mov dl,80shr dl,1 ; DL = 40shr dl,2 ; DL = 10

23Kashifshafqat25@yahoo.com

SAL and SAR Instructions• SAL (shift arithmetic left) is identical to SHL.

• SAR (shift arithmetic right) performs a right arithmetic shift on the destination operand.

mov dl,-80sar dl,1 ; DL = -40sar dl,2 ; DL = -10

24Kashifshafqat25@yahoo.com

ROL Instruction (shift left)• ROL (rotate) shifts each bit to the left• The highest bit is copied into both the

Carry flag and into the lowest bit• No bits are lost

mov al,11110000brol al,1 ; AL = 11100001b

mov dl,3Fhrol dl,4 ; DL = F3h

25Kashifshafqat25@yahoo.com

ROR Instruction (shift right)• ROR (rotate right) shifts each bit to the right

• The lowest bit is copied into both the Carry flag and into the highest bit

• No bits are lost

mov al,11110000bror al,1 ; AL = 01111000b

mov dl,3Fhror dl,4 ; DL = F3h

26Kashifshafqat25@yahoo.com

RCL Instruction (shift Carry left)• RCL (rotate carry left) shifts each bit to the left• Copies the Carry flag to the least significant bit• Copies the most significant bit to the Carry flag

clc ; CF = 0mov bl,88h ; CF,BL = 0 10001000brcl bl,1 ; CF,BL = 1 00010000brcl bl,1 ; CF,BL = 0 00100001b

27Kashifshafqat25@yahoo.com

RCR Instruction (shift Carry Right)• RCR (rotate carry right) shifts each bit to the right• Copies the Carry flag to the most significant bit• Copies the least significant bit to the Carry flag

stc ; CF = 1mov ah,10h ; CF,AH = 00010000 1rcr ah,1 ; CF,AH = 10001000 0

28Kashifshafqat25@yahoo.com

29Kashifshafqat25@yahoo.com

top related