Complete 8086 instruction set
Operand types:
- REG: AX, BX, CX, DX, AH, AL, BL, BH, CH, CL, DH, DL, DI, SI, BP, SP.
- SREG: DS, ES, SS, and only as second operand: CS.
- memory: [BX], [BX+SI+7], variable, etc…
- immediate (idata): 5, -24, 3Fh, 10001101b, etc…
Basic commands for MASM DEBUG:
- R - lookup and modify registers
- D - lookup memory cell
- E - modify memory cell
- U - disassembly
- T/P - step in
- G - continuous execution
- A - add assembly code
- Q - quit
MOV
Description: The MOV
instruction is the most important command in the 8086 because it moves data from one location to another. It also has the widest variety of parameters; so if the assembler programmer can use MOV
effectively, the rest of the commands are easier to understand.
Format: MOV destination,source
Usage:
Destination | Source | Example |
---|---|---|
REG | REG | MOV AX, BX |
REG | SREG | MOV AX, DS |
REG | memory | MOV AX, ES:[BX] |
REG | idata | MOV AX, 08H |
SREG | REG | MOV DS, AX |
SREG | SREG | MOV DS, ES |
SREG | memory | MOV ES, DS:[0] |
memory | REG | MOV [6], AX |
memory | SREG | MOV [0], CS |
memory | idata |
Note: The MOV
instruction cannot set the value of the CS and IP registers.
REF:
- https://c9x.me/x86/html/file_module_x86_id_203.html
- https://dsearls.org/courses/C391OrgSys/IntelAL/8086_instruction_set.html#MOV
- http://www.husseinsspace.com/teaching/udw/1996/asmnotes/chaptwo.htm