EEE-3103: Microprocessor and Interfacing
Lecture #7: 8086 Microprocessor
Instruction Format of 8086
Dr. Sharnali Islam
Department of Electrical and Electronic Engineering
University of Dhaka
[email protected]Slides used resources from:
Prof. Sazzad M.S. Imran, PhD, EEE DU
Web resources UNDERSTANDING 8085/8086 MICROPROCESSORS - Sen
Instruction Format of 8086
Instruction varies from 1 to 6 bytes.
1st byte → Direction Register Bit- D
Data Size Bit- W.
Byte 2
2nd byte = register operand
D=1 → destination operand.
D=0 → source operand.
W=0 → 8-bit operation.
Sen pg 207, or 218
W=1 → 16-bit operation.
Bree – p 112 (4.1)
or 130
Instruction Format of 8086
2nd byte → one operand is in memory or both operands are in registers.
Byte 2
3 fields- MOD (2-bit), r/m (3-bit), REG (3-bit)
MOD field → 2-bit field.
00 Memory addressing without displacement
01 Memory addressing with 8-bit displacement
10 Memory addressing with 16-bit displacement
11 Register addressing with
W=0 → 8-bit data
W=1 → 16-bit data
Instruction Format of 8086
REG field → 3-bit field.
register for first operand.
Byte 2
D=1 → destination operand.
D=0 → source operand.
Register definition-
Instruction Format of 8086
r/m field →
3-bit field, along with the MOD field
defines 2nd operand.
MOD=11 → register to register mode.
MOD=00, 01 or 10 → memory mode.
Instruction Format of 8086
Suppose that a 2-byte instruction, 8BECH, appears in a machine language program
See more examples: B. B. Brey
130
Direct memory to memory data transfer → not allowed. AX is used as intermediate stage of data.
Example-
MOV [DI], [SI] is not allowed.
This must be done as-
MOV AH, [SI]
MOV [DI], AH