SlideShare a Scribd company logo
Summary of Arithmetic Instructions
–ADD D,S
–ADC D,S
–SUB D,S
–SBB D,S
–CMP D,S
–NEG D
–DAA
–DAS
Summary of Arithmetic Instructions
– AAA
– AAS
– AAM
– AAD
– INC D
– DEC D
– DIV S
– IDIV S
– MUL S
– IMUL S
– CBW
– CWD
Logical Instructions
–These are the instructions used for basic
logic operations such as AND, OR, NOT and
XOR.
–These are also used for carrying out bit by
bit operations such as shift (SHR,SHL) or
rotate (ROL,ROR,RCR,RCL).
– One more Instruction under this category is
TEST instruction.
AND (Logical AND)
Syntax :-- AND destination, source
• This instruction is used to bit by bit AND the
contents of source to the destination.
•The result is stored in the destination.
•The source operand can be a immediate, a
register or a memory location.
•The destination can be a register or a memory
location, but not an immediate data.
•Both operands cannot be immediate data or
memory location.
•Flags affected : OF = 0 ,CF = 0 , AF is undefined.
• And other flags (SF, ZF, PF) are affected based on
the AND operation.
• Operation Performed :--
• Destination  Destination AND source
• Examples :--
1. AND BH,CL ;AND byte in CL with Byte in BH,
result in BH.
2. AND BX,00FFH ;AND word in BX with immediate
data 00ffH
3. AND [5000H], DX ;AND word in DX with a
word in memory with offset
5000 in DS.
AND (Logical AND) contd..
Numeric Example
If AX = 3F0F,
After Instruction,
AND AX,9078H ; AX  AX AND 9078H
;AX  3F0F AND 9078
3F0F  0011 1111 0000 1111
AND
9078  1001 0000 0111 1000
-------------------------------------
= 0001 0000 0000 1000
1008H in AX register
OR (Logical OR)
Syntax :-- OR destination, source
• This instruction is used to bit by bit OR the
contents of source to the destination.
•The result is stored in the destination.
•The source operand can be a immediate, a
register or a memory location.
•The destination can be a register or a memory
location, but not an immediate data.
•Both operands cannot be immediate data or
memory location.
•Flags affected : OF = 0 ,CF = 0 , AF is undefined.
• And other flags (SF, ZF, PF) are affected based on
the OR operation.
• Operation Performed :--
• Destination  Destination OR source
• Examples :--
1. OR BH,CL ;OR byte in CL with Byte in BH,
result in BH.
2. OR BX,00FFH ;OR word in BX with immediate
data 00ffH
3. OR [5000H], DX ; OR word in DX with a
word in memory with offset
5000 in DS.
OR (Logical OR) contd..
Numeric Example
If AX = 3F0F,
After Instruction,
OR AX,9078H ; AX  AX OR 9078H
;AX  3F0F OR 9078
3F0F  0011 1111 0000 1111
OR
9078  1001 0000 0111 1000
-------------------------------------
= 1011 1111 0111 1111
BF7FH in AX register
XOR (Logical XOR)
Syntax :-- XOR destination, source
• This instruction is used to bit by bit XOR the
contents of source to the destination.
•The result is stored in the destination.
•The source operand can be a immediate, a
register or a memory location.
•The destination can be a register or a memory
location, but not an immediate data.
•Both operands cannot be immediate data or
memory location.
•Flags affected : OF = 0 ,CF = 0 , AF is undefined.
• And other flags (SF, ZF, PF) are affected based on
the XOR operation.
• Operation Performed :--
• Destination  Destination XOR source
• Examples :--
1. XOR BH,CL ;XOR byte in CL with Byte in BH,
result in BH.
2. XOR BX,00FFH ;XOR word in BX with immediate
data 00ffH
3. XOR [5000H], DX ; XOR word in DX with a
word in memory with offset
5000 in DS.
XOR (Logical XOR) contd..
Numeric Example
If AX = 3F0F,
After Instruction,
XOR AX,9078H ; AX  AX XOR 9078H
;AX  3F0F XOR 9078
3F0F  0011 1111 0000 1111
XOR
9078  1001 0000 0111 1000
-------------------------------------
= 1010 1111 0111 0111
AF77H in AX register
NOT (Logical Invert )
Syntax :-- NOT destination
• This instruction complements (inverts) each
bit of the byte or word stored in the
destination.
•The result is stored in the destination.
•The destination can be a register or a memory
location.
•No Flags affected
• Operation Performed :--
• Destination  NOT Destination
• Examples :--
1. NOT BH ;Complement byte in BH, result in BH.
2. NOT BX ; Complement word in BX, result in BX.
3. NOT BYTE PTR [5000H] ; Complement byte
in memory with offset 5000 in DS.
NOT (Logical Invert ) contd..
Numeric Example
If AX = 3F0F,
After Instruction,
NOT AX ; AX  NOT AX
;AX  NOT 3F0F
3F0F  0011 1111 0000 1111
Complement
-------------------------------------
= 1100 0000 1111 0000
C0F0H in AX register
TEST (Logical compare )
Syntax :-- TEST destination, source
• This instruction is used to bit by bit AND the
contents of source to the destination.
•The result is not stored in the destination.
•The source operand can be a immediate, a
register or a memory location.
•The destination can be a register or a memory
location, but not an immediate data.
•Both operands cannot be immediate data or
memory location.
•Flags affected : OF = 0 ,CF = 0 , SF, ZF, PF.
•TEST instruction is used to set flags before a
conditional jump instruction
• Operation Performed :--
– Flags  set result of Destination AND source
• Examples :--
1. TEST BH,CL ;AND byte in CL with Byte in BH,
no result but flags are affected.
2. TEST BX,00FFH ;AND word in BX with immediate
data 00ffH, no result but flags are
affected.
3. TEST DX, [5000H];AND word in DX with a word in
memory with offset 5000 in DS,
no result but flags are affected.
TEST (Logical Compare) contd..
SHL / SAL (Shift Logical/Arithmetic Left)
Syntax :-- SHL/SAL destination, count
• SHL & SAL are the opcodes for the same
operation
•This instruction shifts the destination bit by bit to
the left and insert zeroes in the newly introduced
least significant bits.
•The shift operation is through carry.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF, SF, ZF, PF.
•These instructions can be used to multiply an
unsigned number by power of 2.
CF BX
0
0
1
CF BX
• Operation Performed :--
–CF  MSB ------------------ LSB  0
• Example :--
– If CF = 0, BX = E6D3H
– After SAL BX, 1 ; Shift the contents of BX
register by one towards left
SHL / SAL (Shift Logical/Arithmetic Left)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0
BX = CDA6
• Example :--
• Use of SHL instruction for Multiplication:-
– If CF = 0, BH = 04H
– MOV CL, 03 ; Load CL register for
the count
– SHL BH, CL ; Shift the contents
of BX register by one
towards left
– BH = 20H (32D) [ 04 * 23 = 32 D]
– Note :-- SHL can be used to multiply a number
with powers of 2.
SHL / SAL (Shift Logical/Arithmetic Left)Cntd..
0 0 0 1 0 0 0 0
CF BH
0
0
0
0
0
0
0
SHL / SAL (Shift Logical/Arithmetic Left)Cntd..
BH = 20H with CF = 0
0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0
0 0 1 0 0 0 0 0
SAR (Shift Arithmetic Right )
Syntax :-- SAR destination, count
• This instruction shifts the destination bit by bit to
the right and MSB position is kept in the old MSB
position
•The shift operation is through carry, LSB is shifted
to CF.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF, SF, ZF, PF.
•This instruction can be used to divide an unsigned
number by power of 2.
BX CF
0
1
BX CF
1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1
• Operation Performed :--
– MSB ----------------- LSB  CF
• Example :--
– If CF = 0, BX = E6D3H
– After SAR BX, 1 ; Shift the contents of BX
register by one towards right
SAR (Shift Arithmetic Right)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = F369H
• Example :--
• Use of SAR instruction for Division:-
– If CF = 0, BH = 14H
– MOV CL, 02 ; Load CL register for the
count
– SAR BH, CL ; Shift the contents
of BX register by one
towards right
– BH = 05H (20D) [ 20 / 22 = 05D]
– Note :-- SAR can be used to divide a number with
powers of 2 and get the quotient.
SAR (Shift Arithmetic Right )Cntd..
0 0 0 0 0 1 0 1
BH CF
0
0
0
SAR (Shift Arithmetic Right)Cntd..
BH = 05H with CF = 0
0 0 0 1 0 1 0 0
0 0 0 0 1 0 1 0
SHR (Shift Logical Right)
Syntax :-- SHR destination, count
•This instruction shifts the destination bit by
bit to the right and insert zeroes in the newly
introduced most significant bits.
•The shift operation is through carry.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF, SF, ZF, PF.
BX CF
0
0
1
BX CF
0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1
• Operation Performed :--
–0  MSB ------------------ LSB  CF
• Example :--
– If CF = 0, BX = E6D3H
– After SHR BX, 1 ; Shift the contents of BX
register by one towards right
SHR (Shift Logical Right)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = 7369H
ROR (Rotate Right without Carry)
Syntax :-- ROR destination, count
•This instruction rotates the destination bit by
bit to the right excluding the carry
•The bit moved out of LSB is rotated around
into the MSB and also copied to CF.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF
BX CF
0
1
BX CF
1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1
• Operation Performed :--
– MSB LSB  CF
• Example :--
– If CF = 0, BX = E6D3H
– After ROR BX, 1 ; Rotate the contents of BX
register by one towards right
ROR (Rotate Right without Carry)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = F369H
• Example :--
– If CF = 0, BH = 54H
– MOV CL, 02 ; Load CL register for the count
ROR BH, CL ; Rotate the contents of BH register by twice
towards right
ROR (Rotate Right without Carry)Cntd..
0 0 0 1 0 1 0 1
BH CF
0
0
0
0 1 0 1 0 1 0 0
0 0 1 0 1 0 1 0
BH = 15H with CF = 0
• Uses of ROR instruction:--
• This instruction can be used to swap the
nibbles in a byte or to swap the bytes in a
word.
– MOV CL,04H
ROR AL, CL
• It can also be used to rotate the bit into CF
which can be checked later for a conditional
jump. (JC or JNC)
ROL (Rotate Left without Carry)
Syntax :-- ROL destination, count
•This instruction rotates the destination bit by
bit to the left excluding the carry
•The bit moved out of MSB is rotated around
into the LSB and also copied to CF.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF
CF BX
0
1
CF BX
1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1
• Operation Performed :--
– CF MSB LSB
• Example :--
– If CF = 0, BX = E6D3H
– After ROL BX, 1 ; Rotate the contents of BX
register by one towards left
ROL (Rotate Left without Carry)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = CDA7H
• Example :--
– If CF = 0, BH = 54H
– MOV CL, 02 ; Load CL register for the count
ROL BH, CL ; Rotate the contents of BH register by twice
towards Left
ROL (Rotate Left without Carry)Cntd..
0 1 0 1 0 0 0 1
CF BH
0
0
1
0 1 0 1 0 1 0 0
1 0 1 0 1 0 0 0
BH = 51H with CF = 1
• Uses of ROL instruction:--
• This instruction can be used to swap the
nibbles in a byte or to swap the bytes in a
word.
– MOV CL,04H
ROL AL, CL
• It can also be used to rotate the bit into CF
which can be checked later for a conditional
jump. (JC or JNC)
RCR (Rotate Right with Carry)
Syntax :-- ROR destination, count
•This instruction rotates the destination bit by
bit to the right including the carry
•The bit moved out of LSB is rotated into CF
and the bit in CF is rotated into the MSB.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF
BX CF
0
1
BX CF
0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1
• Operation Performed :--
– MSB LSB  CF
• Example :--
– If CF = 0, BX = E6D3H
– After RCR BX, 1 ; Rotate the contents of BX
register by one towards right through
carry
RCR (Rotate Right with Carry)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = 7369H
• Example :--
– If CF = 0, BH = 54H
– MOV CL, 02 ; Load CL register for the count
RCR BH, CL ; Rotate the contents of BH register by twice
towards right through carry
RCR (Rotate Right with Carry)Cntd..
0 0 0 1 0 1 0 1
BH CF
0
0
0
0 1 0 1 0 1 0 0
0 0 1 0 1 0 1 0
BH = 15H with CF = 0
RCL (Rotate Left with Carry)
Syntax :-- RCL destination, count
•This instruction rotates the destination bit by
bit to the left including the carry
•The bit moved out of MSB is rotated into CF
and the bit in CF is rotated into the LSB.
•The count can be either 1 or specified by CL
register.
•The destination can be a byte or a word in
register or a memory location, but not an
immediate data.
•Flags affected : OF ,CF
CF BX
0
1
CF BX
1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0
• Operation Performed :--
– CF MSB LSB
• Example :--
– If CF = 0, BX = E6D3H
– After RCL BX, 1 ; Rotate the contents of BX
register by one towards left through
carry
RCL (Rotate Left with Carry)Cntd..
1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1
BX = CDA6H
• Example :--
– If CF = 0, BH = 54H
– MOV CL, 02 ; Load CL register for the count
RCL BH, CL ; Rotate the contents of BH register by twice
towards Left through carry
RCL (Rotate Left with Carry)Cntd..
0 1 0 1 0 0 0 0
CF BH
0
0
1
0 1 0 1 0 1 0 0
1 0 1 0 1 0 0 0
BH = 50H with CF = 1

More Related Content

What's hot

Logical Instructions used in 8086 microprocessor
Logical Instructions used in 8086 microprocessorLogical Instructions used in 8086 microprocessor
Logical Instructions used in 8086 microprocessor
Rabin BK
 
Instruction Set of 8086 Microprocessor
Instruction Set of 8086 MicroprocessorInstruction Set of 8086 Microprocessor
Instruction Set of 8086 Microprocessor
Ashita Agrawal
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
aviban
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
Vijay Kumar
 
Logical instructions (and, or, xor, not, test)
Logical instructions (and, or, xor, not, test)Logical instructions (and, or, xor, not, test)
Logical instructions (and, or, xor, not, test)
Irfan Anjum
 
8086 Instruction set
8086 Instruction set8086 Instruction set
8086 Instruction set
karthiga selvaraju
 
Notes arithmetic instructions
Notes arithmetic instructionsNotes arithmetic instructions
Notes arithmetic instructions
HarshitParkar6677
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
jemimajerome
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
Sazzad Hossain
 
8086 instructions
8086 instructions8086 instructions
8086 instructions
Ravi Anand
 
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Prof. Swapnil V. Kaware
 
Instructionset8085
Instructionset8085Instructionset8085
Instructionset8085
Fawad Pathan
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
Alamin Hossain Miraje
 
itft-Instruction set-of-8085
itft-Instruction set-of-8085itft-Instruction set-of-8085
itft-Instruction set-of-8085
Shifali Sharma
 
Instruction set of 8086 Microprocessor
Instruction set of 8086 Microprocessor Instruction set of 8086 Microprocessor
Instruction set of 8086 Microprocessor
Velalar College of Engineering and Technology
 
MICROPROCESSOR INSTRUCTION SET OF 8085
MICROPROCESSOR INSTRUCTION SET OF 8085MICROPROCESSOR INSTRUCTION SET OF 8085
MICROPROCESSOR INSTRUCTION SET OF 8085
Sumadeep Juvvalapalem
 
8086 instruction set
8086  instruction set8086  instruction set
8086 instruction set
mengistu ketema
 
Instruction set-of-8085
Instruction set-of-8085Instruction set-of-8085
Instruction set-of-8085
saleForce
 
Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051
logesh waran
 

What's hot (19)

Logical Instructions used in 8086 microprocessor
Logical Instructions used in 8086 microprocessorLogical Instructions used in 8086 microprocessor
Logical Instructions used in 8086 microprocessor
 
Instruction Set of 8086 Microprocessor
Instruction Set of 8086 MicroprocessorInstruction Set of 8086 Microprocessor
Instruction Set of 8086 Microprocessor
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
 
Instruction set of 8086
Instruction set of 8086Instruction set of 8086
Instruction set of 8086
 
Logical instructions (and, or, xor, not, test)
Logical instructions (and, or, xor, not, test)Logical instructions (and, or, xor, not, test)
Logical instructions (and, or, xor, not, test)
 
8086 Instruction set
8086 Instruction set8086 Instruction set
8086 Instruction set
 
Notes arithmetic instructions
Notes arithmetic instructionsNotes arithmetic instructions
Notes arithmetic instructions
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
 
8086 instructions
8086 instructions8086 instructions
8086 instructions
 
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil KawareInstruction set of 8085 Microprocessor By Er. Swapnil Kaware
Instruction set of 8085 Microprocessor By Er. Swapnil Kaware
 
Instructionset8085
Instructionset8085Instructionset8085
Instructionset8085
 
8086 instruction set
8086 instruction set8086 instruction set
8086 instruction set
 
itft-Instruction set-of-8085
itft-Instruction set-of-8085itft-Instruction set-of-8085
itft-Instruction set-of-8085
 
Instruction set of 8086 Microprocessor
Instruction set of 8086 Microprocessor Instruction set of 8086 Microprocessor
Instruction set of 8086 Microprocessor
 
MICROPROCESSOR INSTRUCTION SET OF 8085
MICROPROCESSOR INSTRUCTION SET OF 8085MICROPROCESSOR INSTRUCTION SET OF 8085
MICROPROCESSOR INSTRUCTION SET OF 8085
 
8086 instruction set
8086  instruction set8086  instruction set
8086 instruction set
 
Instruction set-of-8085
Instruction set-of-8085Instruction set-of-8085
Instruction set-of-8085
 
Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051Addressing mode and instruction set using 8051
Addressing mode and instruction set using 8051
 

Similar to Chap3 8086 logical

Arithmetic instructions
Arithmetic instructionsArithmetic instructions
Arithmetic instructions
Robert Almazan
 
Microprocessor.pptx
Microprocessor.pptxMicroprocessor.pptx
Microprocessor.pptx
NishatNishu5
 
Arithmetic instrctions
Arithmetic instrctionsArithmetic instrctions
Arithmetic instrctions
HarshitParkar6677
 
Instruction sets of 8086
Instruction sets of 8086Instruction sets of 8086
Instruction sets of 8086
Mahalakshmiv11
 
Logical, Shift, and Rotate Instruction
Logical, Shift, and Rotate InstructionLogical, Shift, and Rotate Instruction
Logical, Shift, and Rotate Instruction
Badrul Alam
 
Addressing modes of 8086
Addressing modes of 8086Addressing modes of 8086
Addressing modes of 8086
saurav kumar
 
Types of instructions
Types of instructionsTypes of instructions
Types of instructions
ihsanjamil
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
rajukarki1599
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
Bilal Amjad
 
Chap3 8086 artithmetic
Chap3 8086 artithmeticChap3 8086 artithmetic
Chap3 8086 artithmetic
HarshitParkar6677
 
Chapter 3 8086 ins2 math
Chapter 3 8086 ins2 mathChapter 3 8086 ins2 math
Chapter 3 8086 ins2 math
HarshitParkar6677
 
8086 ins2 math
8086 ins2 math8086 ins2 math
8086 ins2 math
HarshitParkar6677
 
8085 instruction set (detailed)
8085 instruction set (detailed)8085 instruction set (detailed)
8085 instruction set (detailed)
Ravi Anand
 
[ASM]Lab7
[ASM]Lab7[ASM]Lab7
[ASM]Lab7
Nora Youssef
 
Addressing mode of 80286 microprocessor
Addressing mode of 80286 microprocessorAddressing mode of 80286 microprocessor
Addressing mode of 80286 microprocessor
pal bhumit
 
Hemanth143
Hemanth143 Hemanth143
Hemanth143
vijaydeepakg
 
8086-instruction-set-ppt
 8086-instruction-set-ppt 8086-instruction-set-ppt
8086-instruction-set-ppt
jemimajerome
 
8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt
KanikaJindal9
 
Addressing modes of 8086
Addressing modes of 8086Addressing modes of 8086
Addressing modes of 8086
Dr. AISHWARYA N
 
Lec06
Lec06Lec06

Similar to Chap3 8086 logical (20)

Arithmetic instructions
Arithmetic instructionsArithmetic instructions
Arithmetic instructions
 
Microprocessor.pptx
Microprocessor.pptxMicroprocessor.pptx
Microprocessor.pptx
 
Arithmetic instrctions
Arithmetic instrctionsArithmetic instrctions
Arithmetic instrctions
 
Instruction sets of 8086
Instruction sets of 8086Instruction sets of 8086
Instruction sets of 8086
 
Logical, Shift, and Rotate Instruction
Logical, Shift, and Rotate InstructionLogical, Shift, and Rotate Instruction
Logical, Shift, and Rotate Instruction
 
Addressing modes of 8086
Addressing modes of 8086Addressing modes of 8086
Addressing modes of 8086
 
Types of instructions
Types of instructionsTypes of instructions
Types of instructions
 
Addressing modes
Addressing modesAddressing modes
Addressing modes
 
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
Assembly Language Programming By Ytha Yu, Charles Marut Chap 7 (Logic, Shift,...
 
Chap3 8086 artithmetic
Chap3 8086 artithmeticChap3 8086 artithmetic
Chap3 8086 artithmetic
 
Chapter 3 8086 ins2 math
Chapter 3 8086 ins2 mathChapter 3 8086 ins2 math
Chapter 3 8086 ins2 math
 
8086 ins2 math
8086 ins2 math8086 ins2 math
8086 ins2 math
 
8085 instruction set (detailed)
8085 instruction set (detailed)8085 instruction set (detailed)
8085 instruction set (detailed)
 
[ASM]Lab7
[ASM]Lab7[ASM]Lab7
[ASM]Lab7
 
Addressing mode of 80286 microprocessor
Addressing mode of 80286 microprocessorAddressing mode of 80286 microprocessor
Addressing mode of 80286 microprocessor
 
Hemanth143
Hemanth143 Hemanth143
Hemanth143
 
8086-instruction-set-ppt
 8086-instruction-set-ppt 8086-instruction-set-ppt
8086-instruction-set-ppt
 
8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt8085_Microprocessor(simar).ppt
8085_Microprocessor(simar).ppt
 
Addressing modes of 8086
Addressing modes of 8086Addressing modes of 8086
Addressing modes of 8086
 
Lec06
Lec06Lec06
Lec06
 

More from HarshitParkar6677

Wi fi hacking
Wi fi hackingWi fi hacking
Wi fi hacking
HarshitParkar6677
 
D dos attack
D dos attackD dos attack
D dos attack
HarshitParkar6677
 
Notes chapter 6
Notes chapter  6Notes chapter  6
Notes chapter 6
HarshitParkar6677
 
Interface notes
Interface notesInterface notes
Interface notes
HarshitParkar6677
 
Chapter6 2
Chapter6 2Chapter6 2
Chapter6 2
HarshitParkar6677
 
Chapter6
Chapter6Chapter6
8086 cpu 1
8086 cpu 18086 cpu 1
8086 cpu 1
HarshitParkar6677
 
Chapter 6 notes
Chapter 6 notesChapter 6 notes
Chapter 6 notes
HarshitParkar6677
 
Chapter 5 notes
Chapter 5 notesChapter 5 notes
Chapter 5 notes
HarshitParkar6677
 
Chap6 procedures & macros
Chap6 procedures & macrosChap6 procedures & macros
Chap6 procedures & macros
HarshitParkar6677
 
Chapter 5 notes new
Chapter 5 notes newChapter 5 notes new
Chapter 5 notes new
HarshitParkar6677
 
Notes aaa aa
Notes aaa aaNotes aaa aa
Notes aaa aa
HarshitParkar6677
 
Notes 8086 instruction format
Notes 8086 instruction formatNotes 8086 instruction format
Notes 8086 instruction format
HarshitParkar6677
 
Misc
MiscMisc
Chapter3 program flow control instructions
Chapter3 program flow control instructionsChapter3 program flow control instructions
Chapter3 program flow control instructions
HarshitParkar6677
 
Chapter3 8086inst stringsl
Chapter3 8086inst stringslChapter3 8086inst stringsl
Chapter3 8086inst stringsl
HarshitParkar6677
 
Chapter3 8086inst logical 2
Chapter3 8086inst logical 2Chapter3 8086inst logical 2
Chapter3 8086inst logical 2
HarshitParkar6677
 
Chap3 program flow control instructions
Chap3 program flow control instructionsChap3 program flow control instructions
Chap3 program flow control instructions
HarshitParkar6677
 
Chap3 8086 data transfer
Chap3 8086 data transferChap3 8086 data transfer
Chap3 8086 data transfer
HarshitParkar6677
 
Chap 8086 string
Chap 8086 stringChap 8086 string
Chap 8086 string
HarshitParkar6677
 

More from HarshitParkar6677 (20)

Wi fi hacking
Wi fi hackingWi fi hacking
Wi fi hacking
 
D dos attack
D dos attackD dos attack
D dos attack
 
Notes chapter 6
Notes chapter  6Notes chapter  6
Notes chapter 6
 
Interface notes
Interface notesInterface notes
Interface notes
 
Chapter6 2
Chapter6 2Chapter6 2
Chapter6 2
 
Chapter6
Chapter6Chapter6
Chapter6
 
8086 cpu 1
8086 cpu 18086 cpu 1
8086 cpu 1
 
Chapter 6 notes
Chapter 6 notesChapter 6 notes
Chapter 6 notes
 
Chapter 5 notes
Chapter 5 notesChapter 5 notes
Chapter 5 notes
 
Chap6 procedures & macros
Chap6 procedures & macrosChap6 procedures & macros
Chap6 procedures & macros
 
Chapter 5 notes new
Chapter 5 notes newChapter 5 notes new
Chapter 5 notes new
 
Notes aaa aa
Notes aaa aaNotes aaa aa
Notes aaa aa
 
Notes 8086 instruction format
Notes 8086 instruction formatNotes 8086 instruction format
Notes 8086 instruction format
 
Misc
MiscMisc
Misc
 
Chapter3 program flow control instructions
Chapter3 program flow control instructionsChapter3 program flow control instructions
Chapter3 program flow control instructions
 
Chapter3 8086inst stringsl
Chapter3 8086inst stringslChapter3 8086inst stringsl
Chapter3 8086inst stringsl
 
Chapter3 8086inst logical 2
Chapter3 8086inst logical 2Chapter3 8086inst logical 2
Chapter3 8086inst logical 2
 
Chap3 program flow control instructions
Chap3 program flow control instructionsChap3 program flow control instructions
Chap3 program flow control instructions
 
Chap3 8086 data transfer
Chap3 8086 data transferChap3 8086 data transfer
Chap3 8086 data transfer
 
Chap 8086 string
Chap 8086 stringChap 8086 string
Chap 8086 string
 

Recently uploaded

Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
Hitesh Mohapatra
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
ssuser36d3051
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
Aditya Rajan Patra
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
ClaraZara1
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
mahammadsalmanmech
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
yokeleetan1
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
rpskprasana
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
IJECEIAES
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
SUTEJAS
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
heavyhaig
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
SyedAbiiAzazi1
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
nooriasukmaningtyas
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
IJECEIAES
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
Madhumitha Jayaram
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
MDSABBIROJJAMANPAYEL
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
ihlasbinance2003
 

Recently uploaded (20)

Generative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of contentGenerative AI leverages algorithms to create various forms of content
Generative AI leverages algorithms to create various forms of content
 
sieving analysis and results interpretation
sieving analysis and results interpretationsieving analysis and results interpretation
sieving analysis and results interpretation
 
Recycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part IIIRecycled Concrete Aggregate in Construction Part III
Recycled Concrete Aggregate in Construction Part III
 
6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)6th International Conference on Machine Learning & Applications (CMLA 2024)
6th International Conference on Machine Learning & Applications (CMLA 2024)
 
Question paper of renewable energy sources
Question paper of renewable energy sourcesQuestion paper of renewable energy sources
Question paper of renewable energy sources
 
Swimming pool mechanical components design.pptx
Swimming pool  mechanical components design.pptxSwimming pool  mechanical components design.pptx
Swimming pool mechanical components design.pptx
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
CSM Cloud Service Management Presentarion
CSM Cloud Service Management PresentarionCSM Cloud Service Management Presentarion
CSM Cloud Service Management Presentarion
 
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
Electric vehicle and photovoltaic advanced roles in enhancing the financial p...
 
Understanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine LearningUnderstanding Inductive Bias in Machine Learning
Understanding Inductive Bias in Machine Learning
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
Technical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prismsTechnical Drawings introduction to drawing of prisms
Technical Drawings introduction to drawing of prisms
 
14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application14 Template Contractual Notice - EOT Application
14 Template Contractual Notice - EOT Application
 
Low power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniquesLow power architecture of logic gates using adiabatic techniques
Low power architecture of logic gates using adiabatic techniques
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 
Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...Advanced control scheme of doubly fed induction generator for wind turbine us...
Advanced control scheme of doubly fed induction generator for wind turbine us...
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
Wearable antenna for antenna applications
Wearable antenna for antenna applicationsWearable antenna for antenna applications
Wearable antenna for antenna applications
 
Properties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptxProperties Railway Sleepers and Test.pptx
Properties Railway Sleepers and Test.pptx
 
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
5214-1693458878915-Unit 6 2023 to 2024 academic year assignment (AutoRecovere...
 

Chap3 8086 logical

  • 1. Summary of Arithmetic Instructions –ADD D,S –ADC D,S –SUB D,S –SBB D,S –CMP D,S –NEG D –DAA –DAS
  • 2. Summary of Arithmetic Instructions – AAA – AAS – AAM – AAD – INC D – DEC D – DIV S – IDIV S – MUL S – IMUL S – CBW – CWD
  • 3. Logical Instructions –These are the instructions used for basic logic operations such as AND, OR, NOT and XOR. –These are also used for carrying out bit by bit operations such as shift (SHR,SHL) or rotate (ROL,ROR,RCR,RCL). – One more Instruction under this category is TEST instruction.
  • 4. AND (Logical AND) Syntax :-- AND destination, source • This instruction is used to bit by bit AND the contents of source to the destination. •The result is stored in the destination. •The source operand can be a immediate, a register or a memory location. •The destination can be a register or a memory location, but not an immediate data. •Both operands cannot be immediate data or memory location. •Flags affected : OF = 0 ,CF = 0 , AF is undefined. • And other flags (SF, ZF, PF) are affected based on the AND operation.
  • 5. • Operation Performed :-- • Destination  Destination AND source • Examples :-- 1. AND BH,CL ;AND byte in CL with Byte in BH, result in BH. 2. AND BX,00FFH ;AND word in BX with immediate data 00ffH 3. AND [5000H], DX ;AND word in DX with a word in memory with offset 5000 in DS. AND (Logical AND) contd..
  • 6. Numeric Example If AX = 3F0F, After Instruction, AND AX,9078H ; AX  AX AND 9078H ;AX  3F0F AND 9078 3F0F  0011 1111 0000 1111 AND 9078  1001 0000 0111 1000 ------------------------------------- = 0001 0000 0000 1000 1008H in AX register
  • 7. OR (Logical OR) Syntax :-- OR destination, source • This instruction is used to bit by bit OR the contents of source to the destination. •The result is stored in the destination. •The source operand can be a immediate, a register or a memory location. •The destination can be a register or a memory location, but not an immediate data. •Both operands cannot be immediate data or memory location. •Flags affected : OF = 0 ,CF = 0 , AF is undefined. • And other flags (SF, ZF, PF) are affected based on the OR operation.
  • 8. • Operation Performed :-- • Destination  Destination OR source • Examples :-- 1. OR BH,CL ;OR byte in CL with Byte in BH, result in BH. 2. OR BX,00FFH ;OR word in BX with immediate data 00ffH 3. OR [5000H], DX ; OR word in DX with a word in memory with offset 5000 in DS. OR (Logical OR) contd..
  • 9. Numeric Example If AX = 3F0F, After Instruction, OR AX,9078H ; AX  AX OR 9078H ;AX  3F0F OR 9078 3F0F  0011 1111 0000 1111 OR 9078  1001 0000 0111 1000 ------------------------------------- = 1011 1111 0111 1111 BF7FH in AX register
  • 10. XOR (Logical XOR) Syntax :-- XOR destination, source • This instruction is used to bit by bit XOR the contents of source to the destination. •The result is stored in the destination. •The source operand can be a immediate, a register or a memory location. •The destination can be a register or a memory location, but not an immediate data. •Both operands cannot be immediate data or memory location. •Flags affected : OF = 0 ,CF = 0 , AF is undefined. • And other flags (SF, ZF, PF) are affected based on the XOR operation.
  • 11. • Operation Performed :-- • Destination  Destination XOR source • Examples :-- 1. XOR BH,CL ;XOR byte in CL with Byte in BH, result in BH. 2. XOR BX,00FFH ;XOR word in BX with immediate data 00ffH 3. XOR [5000H], DX ; XOR word in DX with a word in memory with offset 5000 in DS. XOR (Logical XOR) contd..
  • 12. Numeric Example If AX = 3F0F, After Instruction, XOR AX,9078H ; AX  AX XOR 9078H ;AX  3F0F XOR 9078 3F0F  0011 1111 0000 1111 XOR 9078  1001 0000 0111 1000 ------------------------------------- = 1010 1111 0111 0111 AF77H in AX register
  • 13. NOT (Logical Invert ) Syntax :-- NOT destination • This instruction complements (inverts) each bit of the byte or word stored in the destination. •The result is stored in the destination. •The destination can be a register or a memory location. •No Flags affected
  • 14. • Operation Performed :-- • Destination  NOT Destination • Examples :-- 1. NOT BH ;Complement byte in BH, result in BH. 2. NOT BX ; Complement word in BX, result in BX. 3. NOT BYTE PTR [5000H] ; Complement byte in memory with offset 5000 in DS. NOT (Logical Invert ) contd..
  • 15. Numeric Example If AX = 3F0F, After Instruction, NOT AX ; AX  NOT AX ;AX  NOT 3F0F 3F0F  0011 1111 0000 1111 Complement ------------------------------------- = 1100 0000 1111 0000 C0F0H in AX register
  • 16. TEST (Logical compare ) Syntax :-- TEST destination, source • This instruction is used to bit by bit AND the contents of source to the destination. •The result is not stored in the destination. •The source operand can be a immediate, a register or a memory location. •The destination can be a register or a memory location, but not an immediate data. •Both operands cannot be immediate data or memory location. •Flags affected : OF = 0 ,CF = 0 , SF, ZF, PF. •TEST instruction is used to set flags before a conditional jump instruction
  • 17. • Operation Performed :-- – Flags  set result of Destination AND source • Examples :-- 1. TEST BH,CL ;AND byte in CL with Byte in BH, no result but flags are affected. 2. TEST BX,00FFH ;AND word in BX with immediate data 00ffH, no result but flags are affected. 3. TEST DX, [5000H];AND word in DX with a word in memory with offset 5000 in DS, no result but flags are affected. TEST (Logical Compare) contd..
  • 18. SHL / SAL (Shift Logical/Arithmetic Left) Syntax :-- SHL/SAL destination, count • SHL & SAL are the opcodes for the same operation •This instruction shifts the destination bit by bit to the left and insert zeroes in the newly introduced least significant bits. •The shift operation is through carry. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF, SF, ZF, PF. •These instructions can be used to multiply an unsigned number by power of 2.
  • 19. CF BX 0 0 1 CF BX • Operation Performed :-- –CF  MSB ------------------ LSB  0 • Example :-- – If CF = 0, BX = E6D3H – After SAL BX, 1 ; Shift the contents of BX register by one towards left SHL / SAL (Shift Logical/Arithmetic Left)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 BX = CDA6
  • 20. • Example :-- • Use of SHL instruction for Multiplication:- – If CF = 0, BH = 04H – MOV CL, 03 ; Load CL register for the count – SHL BH, CL ; Shift the contents of BX register by one towards left – BH = 20H (32D) [ 04 * 23 = 32 D] – Note :-- SHL can be used to multiply a number with powers of 2. SHL / SAL (Shift Logical/Arithmetic Left)Cntd..
  • 21. 0 0 0 1 0 0 0 0 CF BH 0 0 0 0 0 0 0 SHL / SAL (Shift Logical/Arithmetic Left)Cntd.. BH = 20H with CF = 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0
  • 22. SAR (Shift Arithmetic Right ) Syntax :-- SAR destination, count • This instruction shifts the destination bit by bit to the right and MSB position is kept in the old MSB position •The shift operation is through carry, LSB is shifted to CF. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF, SF, ZF, PF. •This instruction can be used to divide an unsigned number by power of 2.
  • 23. BX CF 0 1 BX CF 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 • Operation Performed :-- – MSB ----------------- LSB  CF • Example :-- – If CF = 0, BX = E6D3H – After SAR BX, 1 ; Shift the contents of BX register by one towards right SAR (Shift Arithmetic Right)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = F369H
  • 24. • Example :-- • Use of SAR instruction for Division:- – If CF = 0, BH = 14H – MOV CL, 02 ; Load CL register for the count – SAR BH, CL ; Shift the contents of BX register by one towards right – BH = 05H (20D) [ 20 / 22 = 05D] – Note :-- SAR can be used to divide a number with powers of 2 and get the quotient. SAR (Shift Arithmetic Right )Cntd..
  • 25. 0 0 0 0 0 1 0 1 BH CF 0 0 0 SAR (Shift Arithmetic Right)Cntd.. BH = 05H with CF = 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0
  • 26. SHR (Shift Logical Right) Syntax :-- SHR destination, count •This instruction shifts the destination bit by bit to the right and insert zeroes in the newly introduced most significant bits. •The shift operation is through carry. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF, SF, ZF, PF.
  • 27. BX CF 0 0 1 BX CF 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 • Operation Performed :-- –0  MSB ------------------ LSB  CF • Example :-- – If CF = 0, BX = E6D3H – After SHR BX, 1 ; Shift the contents of BX register by one towards right SHR (Shift Logical Right)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = 7369H
  • 28. ROR (Rotate Right without Carry) Syntax :-- ROR destination, count •This instruction rotates the destination bit by bit to the right excluding the carry •The bit moved out of LSB is rotated around into the MSB and also copied to CF. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF
  • 29. BX CF 0 1 BX CF 1 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 • Operation Performed :-- – MSB LSB  CF • Example :-- – If CF = 0, BX = E6D3H – After ROR BX, 1 ; Rotate the contents of BX register by one towards right ROR (Rotate Right without Carry)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = F369H
  • 30. • Example :-- – If CF = 0, BH = 54H – MOV CL, 02 ; Load CL register for the count ROR BH, CL ; Rotate the contents of BH register by twice towards right ROR (Rotate Right without Carry)Cntd.. 0 0 0 1 0 1 0 1 BH CF 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 BH = 15H with CF = 0
  • 31. • Uses of ROR instruction:-- • This instruction can be used to swap the nibbles in a byte or to swap the bytes in a word. – MOV CL,04H ROR AL, CL • It can also be used to rotate the bit into CF which can be checked later for a conditional jump. (JC or JNC)
  • 32. ROL (Rotate Left without Carry) Syntax :-- ROL destination, count •This instruction rotates the destination bit by bit to the left excluding the carry •The bit moved out of MSB is rotated around into the LSB and also copied to CF. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF
  • 33. CF BX 0 1 CF BX 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 1 • Operation Performed :-- – CF MSB LSB • Example :-- – If CF = 0, BX = E6D3H – After ROL BX, 1 ; Rotate the contents of BX register by one towards left ROL (Rotate Left without Carry)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = CDA7H
  • 34. • Example :-- – If CF = 0, BH = 54H – MOV CL, 02 ; Load CL register for the count ROL BH, CL ; Rotate the contents of BH register by twice towards Left ROL (Rotate Left without Carry)Cntd.. 0 1 0 1 0 0 0 1 CF BH 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 BH = 51H with CF = 1
  • 35. • Uses of ROL instruction:-- • This instruction can be used to swap the nibbles in a byte or to swap the bytes in a word. – MOV CL,04H ROL AL, CL • It can also be used to rotate the bit into CF which can be checked later for a conditional jump. (JC or JNC)
  • 36. RCR (Rotate Right with Carry) Syntax :-- ROR destination, count •This instruction rotates the destination bit by bit to the right including the carry •The bit moved out of LSB is rotated into CF and the bit in CF is rotated into the MSB. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF
  • 37. BX CF 0 1 BX CF 0 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 • Operation Performed :-- – MSB LSB  CF • Example :-- – If CF = 0, BX = E6D3H – After RCR BX, 1 ; Rotate the contents of BX register by one towards right through carry RCR (Rotate Right with Carry)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = 7369H
  • 38. • Example :-- – If CF = 0, BH = 54H – MOV CL, 02 ; Load CL register for the count RCR BH, CL ; Rotate the contents of BH register by twice towards right through carry RCR (Rotate Right with Carry)Cntd.. 0 0 0 1 0 1 0 1 BH CF 0 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0 1 0 BH = 15H with CF = 0
  • 39. RCL (Rotate Left with Carry) Syntax :-- RCL destination, count •This instruction rotates the destination bit by bit to the left including the carry •The bit moved out of MSB is rotated into CF and the bit in CF is rotated into the LSB. •The count can be either 1 or specified by CL register. •The destination can be a byte or a word in register or a memory location, but not an immediate data. •Flags affected : OF ,CF
  • 40. CF BX 0 1 CF BX 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 0 • Operation Performed :-- – CF MSB LSB • Example :-- – If CF = 0, BX = E6D3H – After RCL BX, 1 ; Rotate the contents of BX register by one towards left through carry RCL (Rotate Left with Carry)Cntd.. 1 1 1 0 0 1 1 0 1 1 0 1 0 0 1 1 BX = CDA6H
  • 41. • Example :-- – If CF = 0, BH = 54H – MOV CL, 02 ; Load CL register for the count RCL BH, CL ; Rotate the contents of BH register by twice towards Left through carry RCL (Rotate Left with Carry)Cntd.. 0 1 0 1 0 0 0 0 CF BH 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 0 0 BH = 50H with CF = 1