8086 MOV Instruction Edit

Murugan Andezuthu Dharmaratnam | 13 February 2021 | 197

8086 assembly language MOV instruction is a data transfer instruction that copies a byte or word data from a specified source (second operand) to a specified destination (first operand).

The source can be value, general-purpose register or a memory location. Destination can be a general purpose register or a memory location. both operand can be byte or a word and should be of the same size.

MOV instruction does not affect any flag.

Types of operands supported

Instruction	Operands
----------------------------
MOV		reg, Memory
		memory, reg
		reg, reg
		memory, immediate
		reg, immediate
		sreg, memory
		memory, sreg
		reg, sreg
		sreg, reg

reg: AX, BX, CX, DX, AH, AL, BL, BH, CH, CL, DH, DL, DI, SI, BP, SP. memory: [BX], [BX SI 7], variable, etc immediate: 5, -24, 3Fh, 10001101b, etc

For Segment registers only the below type of mov are supported

MOV 		SREG, memory
MOV 		memory, SREG
MOV 		REG, SREG
MOV 		SREG, REG

For Segment registers only the below type of mov are supported

SREG: DS, ES, SS, and only as second operand: CS.

mov instruction cannot be used to set the value of CS & IP registers