Për shkak që 8086 është procesor 16-bitësh, përdorimi i vetëm një regjistri për të mbajtur adresa memorike ofron hapësirë të vogël kombinimesh ($2^{16}$).
Për këtë arsye është përdorur adresimi përmes segmentimit.
Adresa ndahet në segment dhe offset.
Adresat i shënojmë në formatin SEG:OFF, e cila jep adresën ekuivalente 10H * SEG + OFF
Shembull: 5A73:235B
Register mode
Të dy operandët janë regjistra.
MOV AX, BX
XOR AX, DX
ADD AL, BL
Immediate mode
Burimi është vlerë 8-bitëshe ose 16-bitëshe. Destinacioni nuk mund të jetë vlerë imediate.
MOV AX, 2000
MOV CL, 0A
ADD AL, 45
AND AX, 0000
Shënim: Për të vendosur vlera në segment regjistër na duhet që operandi i dytë të jetë regjistër.
MOV AX, 2000
MOV CS, AX
Displacement/direct mode
Në këtë modë merret/vendoset vlera nga një adresë që paraqet zhvendosjen. Zhvendosja është relative ndaj DS.
MOV AX, [DISP]
MOV AX, [0500]
Register indirect mode
Në këtë modë adresa efektive llogaritet duke marrë adresën nga BX, BP, SI, DI bashkë me segmentin përkatës.
MOV AX, [DI]
ADD AL, [BX]
MOV AX, [SI]
Based indexed mode
Adresa llogaritet si shuma e një regjistri bazë (BX, BP) dhe një indeks regjistri (SI, DI) bashkë me segmentin përkatës.
MOV AL, [BP+SI]
MOV AX, [BX+DI]
Indexed mode
Adresa merret nga indeks regjistri (SI, DI) duke u mbledhur me një zhvendosje (bashkë me segmentin përkatës).
MOV AX, [SI+2000]
MOV AL, [DI+3000]
Based mode
Adresa merret nga regjistri bazë (BX, BP) duke u mbledhur me një zhvendosje.
MOV AL, [BP+0100]
Based indexed displacement mode
Adresa llogaritet si shuma e një regjistri bazë (BX, BP), një indeks regjistri (SI, DI), si dhe një zhvendosje numerike.
MOV AL, [SI+BP+2000]
Regjistrat që mund t’i përdorim për adresim indirekt:
Adresimet indirekte mund të mbahen në mend me këtë tabelë:
Nga secila kolonë mund të marrim (opsionalisht) nga një element dhe t’i mbledhim së bashku.
Instruksioni MOV
Instruksioni MOV bën lëvizjen e shënimit nga operandi i dytë (burimi) në operandin e parë (destinacioni).
MOV DST, SRC
Karakteristikat e MOV
CS ose IP.Në dokumentacion hasim shprehjet REG, SREG, immediate, memory.
REG paraqet një regjistër të përgjithshëm nga lista e mëposhtme:
AX, BX, CX, DX, AH, AL, BL, BH, CH, CL, DH, DL, DI, SI, BP, SP.
memory paraqet një adresë memorike e cila gjenerohet nga ndonjëra nga kombinimet e diskutuara tek adresimi.
Shembuj: [BX], [BX+SI+7], var, etj.
immediate paraqet një vlerë aty-për-aty, dmth një vlerë numerike 8 ose 16 bitëshe.
Shembuj: 5, -24, 3Fh, 10001101b, etj.
SREG paraqet një segment regjister.
Segment regjistrat: DS, ES, SS, CS.
MOV i përgjithshëm
MOV në segment regjistra
Zakonisht dokumentacioni na tregon për operandët që pranojnë instruksionet.
Përmbledhje e operandëve valid:
Në emulator një regjion i veçantë i memories është i rezervuar për video.
Hapësira për video memorien fillon nga vlera B8000h
Programi që shfaq shkronjën A në ekran:
ORG 100h
MOV AX, 0B800h
MOV DI, 0h
MOV DS, AX
MOV CL, 'A'
MOV CH, 01011111b
MOV BX, 0h
MOV [BX+DI], CX
RET
Detyrë: Të shkruhet emri juaj në pamje të emulatorit duke filluar nga një shtyerje të caktuar.
Detyrë: Të llogariten adresat efektive për paraqitjet e mëposhtme:
\[\texttt{D15A:599A} \tag{1}\] \[\texttt{09A7:06CF} \tag{2}\] \[\texttt{ACCF:AB08} \tag{3}\] \[\texttt{4594:63F1} \tag{4}\]Detyrë: Të tregohet se ku do të ruhet shënimi dhe çfarë vlere do ta ketë pas ekzekutimit të kodit:
MOV AX, 10h ; 1
MOV DS, AX ; 2
MOV [02h], 03h ; 3
MOV AX, 03h ; 4
MOV CX, 02h ; 5
MOV BX, AX ; 6
MOV DI, AX ; 7
MOV [BX], CX ; 8
MOV [BX+DI-1], 15h ; 9
MOV [DI+1], BX ; 10
Detyrë: Të tregohet se çfarë operandi janë shprehjet në vijim (REG, SREG, memory, immediate):
AX
SI
[0AB12h]
DS
0A3h
[DI+3]
BX
[BX]
0AF05h
[BX-03h]
DI