logic, shift and rotate instruction
Post on 22-Aug-2015
94 Views
Preview:
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