8086/8088Mp Instructor: Abdulmuttalib A. H. Aldouri
8086/8088Mp Instructor: Abdulmuttalib A. H. Aldouri
ALDOURI
8
8086/8088MP INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI
0
8086/8088MP INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI
8. Stack Instructions
5. Compare Instructions 6. Jump Instructions
7. Loop Instructions
9.Strings Instructions 10. Subroutines Instructions
Data Transfer Instructions
The data transfer instructions include:
1. MOV (byte or word) Instruction. 2. XCHG (Exchange byte or word)
3. XLAT (Translate byte) 4. LEA (Load effective address )
5. LDS (Load register and DS) 6. LES (Load register and ES)
The allowed operands for the source and destination are listed below:
Examples :
MOV AX , BX
MOV AL , FFH
MOV [BX] , CX
MOV [SI] , FF87H
MOV BH , [PB+DI]
MOV DS , AX
MOV AL , 'A'
MOV [BX] , [SI] is not allowed, why?
MOV DS , FA34H is not allowed, why?
MOV DS , CS is not allowed, why?
MOV CS, AX is not allowed, why?
9
8086/8088MP INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI
The allowed operands for the source and destination are listed below:
Example
(AX)=1000H and (BX)=2000H
XCHG AX , BX
After execution :
(AX)=2000H and (BX)=1000H
AX
BX
8
8086/8088MP INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI
BX
SI
Note : All data transfer instructions do not affect the status flags.
8086/8088MP INSTRUCTOR: ABDULMUTTALIB A. H. ALDOURI
Ex: Write an ALP that divide a signed byte stored in 5600AH by the
content of BL.
Ans.
MOV AX , 5000H
MOV DS , AX
MOV SI , 6000H
MOV AL , [SI + 0AH]
CBW
IDIV BL
MOV [SI + 0AH] , AX
HLT