0% found this document useful (0 votes)
21 views83 pages

Chapter - 04-Instruction Set

This document focuses on the instruction set of Intel microprocessors, detailing various types of instructions including data movement, arithmetic, logical, string manipulation, process control, and control transfer instructions. It explains the operation of each instruction along with applicable addressing modes and highlights specific instructions such as PUSH/POP and arithmetic operations. The document serves as a comprehensive guide for understanding the architecture, programming, and interfacing of Intel microprocessors from the 8086 to Core2.

Uploaded by

dualitydsn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views83 pages

Chapter - 04-Instruction Set

This document focuses on the instruction set of Intel microprocessors, detailing various types of instructions including data movement, arithmetic, logical, string manipulation, process control, and control transfer instructions. It explains the operation of each instruction along with applicable addressing modes and highlights specific instructions such as PUSH/POP and arithmetic operations. The document serves as a comprehensive guide for understanding the architecture, programming, and interfacing of Intel microprocessors from the 8086 to Core2.

Uploaded by

dualitydsn
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 83

MICROPROCESSOR

SYSTEMS
The Intel Microprocessors
8086/8088, 80186/80188, 80286, 80386,
80486, Pentium, Pentium Pro Processor,
Pentium II, Pentium III, Pentium 4, and Core2
with 64-Bit Extensions

Architecture, Programming, and Interfacing


Eighth Edition, 2009 (By: BARRY B. BREY)

Mohamed M. Eljhani, Ph.D.


Department of Computer Engineering
University of Tripoli
Spring 2022
Chapter 4
Instruction Set
Chapter Outline
◼ Concentrates on different type of instructions
◼ Explain the operation of each instruction with
applicable addressing modes
◼ Data movement instructions

◼ Arithmetic instructions

◼ Logical Instructions

◼ String manipulation instructions

◼ Process control instructions

◼ Control transfer instructions

Chapter 4 — Instruction Set — 2


Instruction Mode
◼ Instructions vary in length from 1 to 13 bytes
◼ 80386 and above assume all instructions are 16 bit mode
instructions when the machine is operated in real mode
(DOS)
◼ In protected mode (Windows), the upper byte of the
descriptor contains the D-bit that selects either the 16- or
32-bit instruction mode

Chapter 4 — Instruction Set — 3


Instruction Set

Chapter 4 — Instruction Set — 4


Memory Address Calculation

Chapter 4 — Instruction Set — 5


Data Transfer Instructions

Chapter 4 — Instruction Set — 6


Data Transfer Instructions

Chapter 4 — Instruction Set — 7


Data Transfer Instructions

Chapter 4 — Instruction Set — 8


Data Transfer Instructions

Chapter 4 — Instruction Set — 9


Data Transfer Instructions

Chapter 4 — Instruction Set — 10


Data Transfer Instructions

Chapter 4 — Instruction Set — 11


PUSH / POP Instructions
◼ Important instructions that store and retrieve data from
the LIFO (last-in, first-out) stack memory
◼ Six forms of the PUSH and POP instructions:
◼ Register, Memory, Immediate
◼ Segment Register, Flags, All Registers
◼ The PUSH and POP immediate & PUSHA and POPA
(all registers) available 80286 - Core2
◼ Register-addressing allows contents of any register to
transfer to the stack or from the stack
◼ Memory-addressing PUSH and POP instructions store
contents of memory location on the stack or stack into a
memory location

Chapter 4 — Instruction Set — 12


PUSH / POP Instructions
PUSH, transfers 2 bytes of data to the stack;
◼ 80386 and above transfer 2 or 4 bytes
◼ PUSHA instruction copies contents of the internal
register set, except the segment registers, to the stack
◼ PUSHA (push all) instruction copies the registers to the
stack in the following order:
AX, CX, DX, BX, SP, BP, SI, and DI
◼ PUSHAD and POPAD instructions push and pop the
contents of the 32-bit register set in 80386 - Pentium 4
◼ PUSHF (push flags) instruction copies the contents of
the flag register to the stack

Chapter 4 — Instruction Set — 13


Data Transfer Instructions

Chapter 4 — Instruction Set — 14


Data Transfer Instructions

Chapter 4 — Instruction Set — 15


Data Transfer Instructions

Chapter 4 — Instruction Set — 16


Data Transfer Instructions

Chapter 4 — Instruction Set — 17


Data Transfer Instructions

Chapter 4 — Instruction Set — 18


Data Transfer Instructions

Chapter 4 — Instruction Set — 19


Data Transfer Instructions

Chapter 4 — Instruction Set — 20


Arithmetic and Logic
Instructions
◼ The arithmetic instructions include addition,
subtraction, multiplication, division, comparison,
negation, increment, and decrement
◼ The logic instructions include AND, OR, Exclusive-OR,
NOT, shifts, rotates, and the logical compare (TEST)
◼ Logic operations provide binary bit control
◼ Allow bits to be set, cleared, or complemented
◼ TEST, a special form of the AND instruction
◼ NEG, similar to the NOT instruction

Chapter 4 — Instruction Set — 21


Addition, Subtraction and
Comparison
◼ Exchange and add (XADD), appears in 80486 and
continues through the Core2
◼ XADD instruction adds the source to the destination and
stores the sum in the destination, as with any addition
◼ After the addition takes place, the original value of the
destination is copied into the source operand
◼ Compare and Exchange, compare and exchange
instruction (CMPXCHG) compares the destination
operand with the accumulator
◼ Found only in 80486 - Core2 instruction sets
◼ If they are equal, the source operand is copied to the
destination; if not equal, the destination operand is copied into
the accumulator
Chapter 4 — Instruction Set — 22
Multiplication and Division
◼ 32-Bit Multiplication, in 80386 and above, 32-bit
multiplication is allowed because these microprocessors
contain 32-bit registers
◼ Can be signed or unsigned by using IMUL and MUL instructions
◼ Contents of EAX are multiplied by the operand specified
with the instruction
◼ The 64 bit product is found in EDX–EAX, where EAX
contains the least significant 32 bits of the product
◼ 64-Bit Multiplication, the result of a 64-bit multiplication
in the Pentium 4 appears in the RDX:RAX register pair
as a 128-bit product

Chapter 4 — Instruction Set — 23


Multiplication and Division
◼ Division, occurs on 8-, 16-, 32- and 64-bit numbers
depending on the microprocessor
◼ Signed IDIV or unsigned DIV integers
◼ There is no immediate division instruction available to
any microprocessor
◼ In 64-bit mode Pentium 4 & Core2, divide a 128-bit
number by a 64-bit number

Chapter 4 — Instruction Set — 24


Multiplication and Division
◼ 32-Bit Division, 80386 - Pentium 4 perform 32-bit
division on signed or unsigned numbers
◼ 64-bit contents of EDX–EAX are divided by the operand
specified by the instruction
◼ leaving a 32-bit quotient in EAX
◼ and a 32-bit remainder in EDX
◼ 64-Bit Division, Pentium 4 operated in 64-bit mode
performs 64-bit division on signed or unsigned numbers
◼ The 64-bit division uses the RDX:RAX register pair to
hold the dividend
◼ The quotient is found in RAX and the remainder is in
RDX after the division

Chapter 4 — Instruction Set — 25


Arithmetic Instructions

Chapter 4 — Instruction Set — 26


Arithmetic Instructions

Chapter 4 — Instruction Set — 27


Arithmetic Instructions

Chapter 4 — Instruction Set — 28


Arithmetic Instructions

Chapter 4 — Instruction Set — 29


Arithmetic Instructions

Chapter 4 — Instruction Set — 30


Arithmetic Instructions

Chapter 4 — Instruction Set — 31


Arithmetic Instructions

Chapter 4 — Instruction Set — 32


Arithmetic Instructions

Chapter 4 — Instruction Set — 33


Arithmetic Instructions

Chapter 4 — Instruction Set — 34


Arithmetic Instructions

Chapter 4 — Instruction Set — 35


Arithmetic Instructions

Chapter 4 — Instruction Set — 36


Arithmetic Instructions

Chapter 4 — Instruction Set — 37


Arithmetic Instructions

Chapter 4 — Instruction Set — 38


Arithmetic Instructions

Chapter 4 — Instruction Set — 39


Arithmetic Instructions

Chapter 4 — Instruction Set — 40


Logic Instructions
◼ Include AND, OR, Exclusive-OR, and NOT
◼ Also TEST, a special form of the AND instruction
◼ NEG, similar to the NOT instruction
◼ Logic operations provide binary bit control in low-level
software
◼ Allow bits to be set, cleared, or complemented
◼ Low-level software appears in machine language or
assembly language form and often controls the I/O
devices in a system
◼ All logic instructions affect the flag bits
◼ Logic operations always clear the carry and overflow flags
◼ Other flags change to reflect the result

Chapter 4 — Instruction Set — 41


Logic Instructions

Chapter 4 — Instruction Set — 42


Logic Instructions

Chapter 4 — Instruction Set — 43


Logic Instructions

Chapter 4 — Instruction Set — 44


Logic Instructions

Chapter 4 — Instruction Set — 45


Logic Instructions

Chapter 4 — Instruction Set — 46


Logic Instructions

Chapter 4 — Instruction Set — 47


Logic Instructions

Chapter 4 — Instruction Set — 48


Logic Instructions

Chapter 4 — Instruction Set — 49


Logic Instructions

Chapter 4 — Instruction Set — 50


Logic Instructions

Chapter 4 — Instruction Set — 51


Logic Instructions

Chapter 4 — Instruction Set — 52


Logic Instructions

Chapter 4 — Instruction Set — 53


Logic Instructions

Chapter 4 — Instruction Set — 54


Logic Instructions

Chapter 4 — Instruction Set — 55


Logic Instructions

Chapter 4 — Instruction Set — 56


Logic Instructions

Chapter 4 — Instruction Set — 57


Logic Instructions

Chapter 4 — Instruction Set — 58


Logic Instructions

Chapter 4 — Instruction Set — 59


Logic Instructions

Chapter 4 — Instruction Set — 60


Logic Instructions

Chapter 4 — Instruction Set — 61


Logic Instructions

Chapter 4 — Instruction Set — 62


Logic Instructions

Chapter 4 — Instruction Set — 63


Logic Instructions

Chapter 4 — Instruction Set — 64


String Manipulation Instructions

Chapter 4 — Instruction Set — 65


String Manipulation Instructions

Chapter 4 — Instruction Set — 66


String Manipulation Instructions

Chapter 4 — Instruction Set — 67


String Manipulation Instructions

Chapter 4 — Instruction Set — 68


String Manipulation Instructions

Chapter 4 — Instruction Set — 69


String Manipulation Instructions

Chapter 4 — Instruction Set — 70


String Manipulation Instructions

Chapter 4 — Instruction Set — 71


String Manipulation Instructions

Chapter 4 — Instruction Set — 72


String Manipulation Instructions

Chapter 4 — Instruction Set — 73


String Manipulation Instructions

Chapter 4 — Instruction Set — 74


String Manipulation Instructions

Chapter 4 — Instruction Set — 75


Processor Control Instructions

Chapter 4 — Instruction Set — 76


Control Transfer Instructions

Chapter 4 — Instruction Set — 77


Control Transfer Instructions

Chapter 4 — Instruction Set — 78


Control Transfer Instructions

Chapter 4 — Instruction Set — 79


Control Transfer Instructions

Chapter 4 — Instruction Set — 80


Control Transfer Instructions

Chapter 4 — Instruction Set — 81


Control Transfer Instructions

Chapter 4 — Instruction Set — 82

You might also like