|
Bevosita. 8 yoki 16 uzunlikdagi operand buyruqning bir qismi hisoblanadi.
IMUL AX,5 AX = 10 Gacha
AX = 50 Keyin...
To’g’ridan-to’g’ri
|
səhifə | 11/11 | tarix | 26.11.2023 | ölçüsü | 31,27 Kb. | | #135799 |
| 2-Mavzu. Kompyuterlarni tashkil qilishning raqamli mantiqiy asos-muhaz.orgBevosita. 8 yoki 16 uzunlikdagi operand buyruqning bir qismi hisoblanadi.
IMUL AX,5 AX = 10 Gacha
AX = 50 Keyin...
To’g’ridan-to’g’ri. Operandning 16-bitli samarali adresi buyruqning bir qismi hisoblanadi.
MOV EAX,[1994h], EAX = 0000h DS:1994h = 5000h Gacha
EAX = 5000h DS:1994h = 5000h Keyin...
Registrli. Operand buyruqda ko’rsatilgan registrda bo’ladi. 16-bitli operandlar АХ, ВХ, СХ, DX, SI, DI, SP yoki ВР registrlarda, 8-bitli operand esa AL, АН, BL, ВН, CL, CH, DL yoki DH registrlarda joylashishi mumkin.
MOVL R2,R3 R2 = 00000010 R3 = 00001000 gacha
R2 = 00001000 R3 = 00001000 keyin
Bilvosita registrli. Operandning samarali adresi buyruqda belgilangan BX bazaviy registrida yoki indeksli registrda joylashadi:
MOVL (R2),R3
(00000010)= 100 (R2) R2 = 00000010 R3 = 00000010 gacha
(00000010)= 10 (R2) R2 = 00000010 R3 = 00000010 keyin
Asosiy samarali adres bazaviy registr mazmuni va bevosita siljishning yig’indisiga teng:
ADD AX,[BP+10h]
AX = 0067h BP = 0100h→DS:100h gacha
(BPh+10h) = 0110h→DS:012h
AX = 0079h BP = 0100h→DS:100h keyin
Indeksli. bayt yoki so’zda berilgan indeksli registrlar (SI, DI) va siljish ishlatiladi.
MOV WORD PTR ES:[DI+2],AX,
ES:[DI+2] adresga AX dan so’z uzatiladi.
AX = 0099h Gacha
DI = 000Dh
ES:000Dh = 0000h (di)
ES:000Fh = 0000h (di+2)
AX = 0099h Keyin
DI = 000Dh
ES:000Dh = 0000h
ES:000Fh = 0099h <—— 99h
Asosiy indeksli. Samarali adres buyruqda aniqlangan bazali (BX,BP) indeksli (SI,DI) registrlarning mazmunlari yig’indisidan tashkil topadi:
MOV AX,[BP+SI] AX = 00AAh
BP = 0100h
SI = 0050h
DS:0100h = 0001h (bp)
DS:0150h = 0002h (bp+si)
AX = 0002h ←02h
BP = 0100h
SI = 0050h
DS:0100h = 0001h (bp)
DS:0150h = 0002h (bp+si)
Siljish bilan asosiy indeksli. nisbiy adresga 8- yoki 16-razriyadli siljish qo’shiladigan asosiy-indeksli adreslashning bir varianti:
MOV EAX,[EAX+EAX]
EAX = 0010h Gacha….
DS:0010h = 000Ah (eax)
DS:0020h = 000Bh (eax+eax)
EAX = 000Bh ←0Вh Keyin...
DS:0010h = 000Ah
DS:0020h = 000Bh
Asosiy adres EAX dan olinadi, EAX dan siljish bo’yicha qo’shiladi va DS:0020h adres bo’yicha ikkilangan so’z EAX ga kiritiladi.
http://muhaz.org
Dostları ilə paylaş: |
|
|