Добавил:
Studfiles2
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Микропроцессор 486 / I486 / CH26-13
.TXTSTD - “бв ®ўЄ д« Ј Їа ў«ҐЁп
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|FD STD 2 “бв ®ўЄ д« Ј Їа ў«ҐЁп, |
| з⮠ᮮ⢥вбвўгҐв ¤ҐЄаҐ¬Ґвг |
| (E)SI Ё«Ё (E)DI |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
DF <- 1;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ STD гбв ў«Ёў Ґв д« Ј Їа ў«ҐЁп DF, ў १г«мв ⥠祣®
ўбҐ Ї®б«Ґ¤гойЁҐ бва®Є®ўлҐ ®ЇҐа жЁЁ Ўг¤гв ўлЇ®«пвм ¤ҐЄаҐ¬Ґв
Ё¤ҐЄбле ॣЁбва®ў, (E)SI Ё«Ё (E)DI, б Є®в®ал¬Ё ®Ё а Ў®в ов.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
“бв ў«Ёў Ґвбп д« Ј DF.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
Ћвбгвбвўгов
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
Ћвбгвбвўгов
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
Ћвбгвбвўгов
-----------------------------------------------------------------
STI - “бв ®ўЄ д« Ј ЇаҐалў Ёп
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|F13 STI 5 “бв ®ўЄ д« Ј ЇаҐалў Ёп: |
| ЇаҐалў Ёп а §аҐиҐл, зЁ п |
| б Є®ж б«Ґ¤го饩 Є®¬ ¤л |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
IF <- 1;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ STI гбв ў«Ёў Ґв д« Ј IF. Џ®б«Ґ ўлЇ®«ҐЁп б«Ґ¤го饩
Є®¬ ¤л Їа®жҐбб®а ¬®¦Ґв ॠЈЁа®ў вм ўҐиЁҐ ЇаҐалў Ёп, Ґб«Ё
нв б«Ґ¤гой п Є®¬ ¤ ®бв ў«пҐв д« Ј IF ў б®бв®пЁЁ,
а §аҐи о饬 ЇаҐалў Ёп. …б«Ё ўҐиЁҐ ЇаҐалў Ёп § ЇаҐйҐл, Ё ўл
Ї®б«Ґ Є®¬ ¤л RET ЁбЇ®«м§®ў «Ё Є®¬ ¤г RET ( ЇаЁ¬Ґа, ў Є®жҐ
Ї®¤Їа®Ја ¬¬л), в® Є®¬ ¤ RET Ўг¤Ґв ўлЇ®«Ґ ¤® в®Ј®, Є Є
згв а бЇ®§ ў вмбп ўҐиЁҐ ЇаҐалў Ёп. ’ Є¦Ґ, Ґб«Ё ўҐиЁҐ
ЇаҐалў Ёп § ЇаҐйҐл, ўл ЁбЇ®«м§®ў «Ё Є®¬ ¤г STI Ё § Ґ©
Є®¬ ¤г CLI, в® ўҐиЁҐ ЇаҐалў Ёп Ґ Ўг¤гв а бЇ®§ ў вмбп,
Ї®бЄ®«мЄг Є®¬ ¤ CLI ®зЁй Ґв д« Ј IF ў® ўаҐ¬п бў®ҐЈ®
ўлЇ®«ҐЁп.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
“бв ў«Ёў Ґвбп д« Ј IF.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP, Ґб«Ё ⥪гйЁ© га®ўҐм ЇаЁўЁ«ҐЈЁа®ў ®бвЁ Ў®«миҐ (Ё¬ҐҐв
¬Ґмиго ЇаЁўЁ«ҐЈЁа®ў ®бвм), 祬 га®ўҐм ЇаЁўЁ«ҐЈЁа®ў ®бвЁ
ўў®¤ /ўлў®¤ (IOPL).
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
Ћвбгвбвўгов
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
Ћвбгвбвўгов
-----------------------------------------------------------------
STOS/STOSB/STOSW/STOSD - ‘®еа ҐЁҐ бва®Є®ўле ¤ ле
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|AA STOS m8 5 ‘®еа ҐЁҐ AL ў Ў ©вҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
|AB STOS m16 5 ‘®еа ҐЁҐ AX ў б«®ўҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
|AB STOS m32 5 ‘®еа ҐЁҐ EAX ў ¤ў®©®¬ б«®ўҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
|AA STOSB 5 ‘®еа ҐЁҐ AL ў Ў ©вҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
|AB STOSW 5 ‘®еа ҐЁҐ AX ў б«®ўҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
|AB STOD 5 ‘®еа ҐЁҐ EAX ў ¤ў®©®¬ б«®ўҐ |
| ES:[(E)DI], ®Ў®ў«ҐЁҐ (E)DI |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
IF AddressSize = 16
THEN ЁбЇ®«м§®ў ЁҐ ES:DI ў Є зҐб⢥ DestReg
ELSE (* AddressSize = 32 *) ЁбЇ®«м§®ў ЁҐ ES:EDI ў Є зҐб⢥
DestReg;
FI;
IF Ў ©в®ўл© вЁЇ Є®¬ ¤л
THEN
(ES:DestReg) <- AL;
IF DF = 0
THEN DestReg <- DestReg + 1;
ELSE DestReg <- DestReg - 1;
FI;
ELSE IF OperandSize = 16
THEN
(ES:DestReg) <- AX;
IF DF = 0
THEN DestReg <- DestReg + 2;
ELSE DestReg <- DestReg - 2;
FI;
ELSE (* OperandSize = 32 *)
(ES:DestReg) <- EAX;
IF DF = 0
THEN DestReg <- DestReg + 4;
ELSE DestReg <- DestReg - 4;
FI;
FI;
FI;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ STOS ЇҐаҐбл« Ґв ᮤҐа¦Ё¬®Ґ ॣЁбва AL, AX Ё«Ё EAX ў
Ў ©в Ё«Ё б«®ў® Ї ¬пвЁ, § ¤ ®Ґ ॣЁбв஬ § 票п
®в®бЁвҐ«м® ᥣ¬Ґв ES. ђҐЈЁбв஬ § 票п пў«пҐвбп ॣЁбва
DI ¤«п ваЁЎгв а §¬Ґа ¤аҐб 16 ЎЁв®ў, Ё«Ё EDI ¤«п ваЁЎгв
а §¬Ґа ¤аҐб 32 ЎЁв .
ЋЇҐа ¤ § зҐЁп ¤®«¦Ґ ¤аҐб®ў вмбп Ё§ ॣЁбва ES;
ЇҐаҐ®ЇаҐ¤Ґ«ҐЁҐ ᥣ¬Ґв Ґ ¤®ЇгбЄ Ґвбп.
Ђ¤аҐб § зҐЁп ®ЇаҐ¤Ґ«пҐвбп ᮤҐа¦Ё¬л¬ ॣЁбва § 票п,
Ґ пў® § ¤ л¬ ®ЇҐа ¤®¬ Є®¬ ¤л STOS. ќв®в ®ЇҐа ¤
ЁбЇ®«м§гҐвбп в®«мЄ® ¤«п 㤮бв®ўҐаҐЁп ¤аҐб㥬®б⨠ᥣ¬Ґв ES Ё
®ЇаҐ¤Ґ«ҐЁп вЁЇ ¤ ле. ЏҐаҐ¤ ўлЇ®«ҐЁҐ¬ Є®¬ ¤л STOS б«Ґ¤гҐв
§ Јаг§Ёвм ў ॣЁбва DI Ё«Ё EDI Їа ўЁ«м®Ґ § 票Ґ Ё¤ҐЄб .
Џ®б«Ґ в®Ј®, Є Є ЇҐаҐбл«Є ўлЇ®«Ґ , ॣЁбва DI ўв®¬ вЁзҐбЄЁ
®Ў®ў«пҐвбп. …б«Ё д« Ј Їа ў«ҐЁп а ўҐ 0 (Ўл« ўлЇ®«Ґ
Є®¬ ¤ CLD), Їа®Ёб室Ёв ЁЄаҐ¬Ґв ॣЁбва § 票п; Ґб«Ё
д« Ј Їа ў«ҐЁп а ўҐ 1 (Ўл« ўлЇ®«Ґ Є®¬ ¤ STD),
Їа®Ёб室Ёв ¤ҐЄаҐ¬Ґв ॣЁбва § 票п. ЏаЁ б®еа ҐЁЁ Ў ©в®ў
ЁЄаҐ¬Ґв Ё«Ё ¤ҐЄаҐ¬Ґв а ўҐ 1; ЇаЁ б®еа ҐЁЁ б«®ў ЁЄаҐ¬Ґв
Ё«Ё ¤ҐЄаҐ¬Ґв а ўҐ 2; ЇаЁ б®еа ҐЁЁ ¤ў®©ле б«®ў ЁЄаҐ¬Ґв Ё«Ё
¤ҐЄаҐ¬Ґв а ўҐ 4.
Љ®¬ ¤л STOSB, STOSW Ё STOSD пў«повбп бЁ®Ё¬ ¬Ё Є®¬ ¤л STOS,
а Ў®в ойЁ¬Ё б Ў ©в®¬, б«®ў®¬ Ё ¤ў®©л¬ б«®ў®¬, ᮮ⢥вб⢥®,
Ґ вॡгойЁ¬Ё ®ЇҐа ¤®ў. €е Їа®йҐ Їа®Ја ¬¬Ёа®ў вм, ® ®Ё Ґ
®ЎҐбЇҐзЁў ов Їа®ўҐаЄЁ вЁЇ Ё«Ё ᥣ¬Ґв .
Љ®¬ ¤Ґ STOS ¬®¦Ґв ЇаҐ¤иҐбвў®ў вм ЇаҐдЁЄб REPE Ё«Ё REPNE ¤«п
§ Ї®«ҐЁп Ў«®Є Ё§ CX Ё«Ё ECX Ў ©в®ў, б«®ў Ё«Ё ¤ў®©ле б«®ў.
Џ®¤а®Ў®бвЁ б¬. ў ®ЇЁб ЁЁ Є®¬ ¤л REP.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
STR - ‘®еа ҐЁҐ ॣЁбва § ¤ зЁ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|0F 00 /1 STR r/m16 2/3 ‘®еа ҐЁҐ ॣЁбва § ¤ зЁ ў |
| б«®ўҐ, § ¤ л¬ ЁбЇ®«ЁвҐ«мл¬ |
| ¤аҐб®¬ |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
r/m <- ॣЁбва § ¤ зЁ;
ЋЇЁб ЁҐ
--------
‘®¤Ґа¦Ё¬®Ґ ॣЁбва § ¤ зЁ Є®ЇЁагҐвбп ў ¤ўге-Ў ©в®ўл© ॣЁбва
Ё«Ё ¤аҐб Ї ¬пвЁ, § ¤ л© ®ЇҐа ¤®¬ б ЁбЇ®«ЁвҐ«мл¬ ¤аҐб®¬.
Љ®¬ ¤ STR ЁбЇ®«м§гҐвбп в®«мЄ® ®ЇҐа жЁ®л¬ Їа®Ја ¬¬л¬
®ЎҐбЇҐзҐЁҐ¬. ЏаЁЄ« ¤лҐ Їа®Ја ¬¬л ҐҐ Ґ ЁбЇ®«м§гов.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 6; Є®¬ ¤ STR ў ०Ё¬Ґ ॠ«мле ¤аҐб®ў Ґ
а бЇ®§ Ґвбп.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў.
ЏаЁ¬Ґз Ёп
----------
ЂваЁЎгв а §¬Ґа ®ЇҐа ¤ ¤Ґ©бвўЁҐ нв®© Є®¬ ¤л Ґ ў«ЁпҐв.
-----------------------------------------------------------------
SUB - –Ґ«®зЁб«Ґ®Ґ ўлзЁв ЁҐ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|2C ib SUB AL,imm8 1 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё§ AL |
|2D iw SUB AX,imm16 1 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| б«®ў Ё§ AX |
|2D id SUB EAX,imm32 1 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё§ EAX |
|80 /5 ib SUB r/m8,imm8 1/3 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё§ Ў ©в r/m |
|81 /5 iw SUB r/m16,imm16 1/3 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| б«®ў Ё§ б«®ў r/m |
|81 /5 id SUB r/m32,imm32 1/3 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё§ |
| ¤ў®©®Ј® б«®ў r/m |
|83 /5 ib SUB r/m16,imm8 1/3 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| а биЁаҐ®Ј® § Є®¬ Ў ©в |
| Ё§ б«®ў r/m |
|83 /5 ib SUB r/m32,imm8 1/3 ‚лзЁв ЁҐ ҐЇ®б।б⢥®Ј® |
| а биЁаҐ®Ј® § Є®¬ Ў ©в |
| Ё§ ¤ў®©®Ј® б«®ў r/m |
|28 /r SUB r/m8,r8 1/3 ‚лзЁв ЁҐ ॣЁбва - |
| Ў ©в Ё§ Ў ©в r/m |
|29 /r SUB r/m16,r16 1/3 ‚лзЁв ЁҐ ॣЁбва - |
| б«®ў Ё§ б«®ў r/m |
|29 /r SUB r/m32,r32 1/3 ‚лзЁв ЁҐ ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё§ |
| ¤ў®©®Ј® б«®ў r/m |
|2A /r SUB r8,r/m8 1/2 ‚лзЁв ЁҐ ॣЁбва - |
| Ў ©в Ё§ Ў ©в r/m |
|2B /r SUB r16,r/m16 1/2 ‚лзЁв ЁҐ ॣЁбва - |
| б«®ў Ё§ б«®ў r/m |
|2B /r SUB r32,r/m32 1/2 ‚лзЁв ЁҐ ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё§ |
| ¤ў®©®Ј® б«®ў r/m |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
IF SRC нв® Ў ©в, DEST нв® б«®ў® Ё«Ё ¤ў®©®Ґ б«®ў®
THEN DEST = DEST - SignExtend(SRC);
ELSE DEST <- DEST - SRC;
FI;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ SUB ўлзЁв Ґв ўв®а®© ®ЇҐа ¤ (SRC) Ё§ ЇҐаў®Ј® (DEST).
ЏҐаў®¬г ®ЇҐа ¤г ЇаЁбў Ёў Ґвбп १г«мв в ўлзЁв Ёп, д« ЈЁ
гбв ў«Ёў овбп ᮮ⢥вбвўгойЁ¬ ®Ўа §®¬.
ЏаЁ ўлз¬Ёв ЁЁ Ё§ ®ЇҐа ¤ - б«®ў ҐЇ®б।б⢥®Ј® Ў ©в®ў®Ј®
§ зҐЁп Ї®б«Ґ¤ҐҐ а биЁапҐвбп § Є®¬ ¤® а §¬Ґа ®ЇҐа ¤
§ 票п.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
”« ЈЁ OF, SF, ZF, AF, PF Ё CF гбв ў«Ёў овбп ў ᮮ⢥вбвўЁЁ б
१г«мв ⮬.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
TEST - ‹®ЈЁзҐбЄ®Ґ ба ўҐЁҐ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|A8 ib TEST AL,imm8 1 AND ¤«п ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё AL |
|A9 iw TEST AX,imm16 1 AND ¤«п ҐЇ®б।б⢥®Ј® |
| б«®ў Ё AX |
|A9 id TEST EAX,imm32 1 AND ¤«п ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё EAX |
|F6 /0 ib TEST r/m8,imm8 1/2 AND ¤«п ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё Ў ©в r/m |
|F7 /0 iw TEST r/m16,imm16 1/2 AND ¤«п ҐЇ®б।б⢥®Ј® |
| б«®ў Ё б«®ў r/m |
|F7 /0 id TEST r/m32,imm32 1/2 AND ¤«п ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё |
| ¤ў®©®Ј® б«®ў r/m |
|84 /r TEST r/m8,r8 1/2 AND ¤«п ॣЁбва - |
| Ў ©в Ё Ў ©в r/m |
|85 /r TEST r/m16,r16 1/2 AND ¤«п ॣЁбва - |
| б«®ў Ё б«®ў r/m |
|85 /r TEST r/m32,r32 1/2 AND ¤«п ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё |
| ¤ў®©®Ј® б«®ў r/m |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
DEST := LeftSRC AND RightSRC;
CF <- 0;
OF <- 0;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ TEST ўлзЁб«пҐв Ї®а §а冷Ґ «®ЈЁзҐбЄ®Ґ € (AND) ¤«п ¤ўге
§ ¤ ле Ґ© ®ЇҐа ¤®ў. Љ ¦¤л© ЎЁв १г«мв в а ўҐ 1, Ґб«Ё ®Ў
ᮮ⢥вбвўгойЁе ЎЁв ®ЇҐа ¤®ў а ўл 1; ў Їа®вЁў®¬ б«гз Ґ нв®в
ЎЁв а ўҐ 0. ђҐ§г«мв в ®ЇҐа жЁЁ вҐапҐвбп, ¬®¤ЁдЁжЁаговбп
в®«мЄ® д« ЈЁ.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
”« ЈЁ OF Ё CF ®зЁй овбп; д« ЈЁ SF, ZF Ё PF гбв ў«Ёў овбп ў
ᮮ⢥вбвўЁЁ б १г«мв ⮬.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб ®ЇҐа ¤
Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў б«гз Ґ
Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў б«гз Ґ
бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ
⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
VERR, VERW - ‚ҐаЁдЁЄ жЁп ¤®бвгЇ®бвЁ звҐЁп Ё«Ё § ЇЁбЁ ᥣ¬Ґв
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|0F 00 /4 VERR r/m16 11/11 “бв ®ўЄ ZF=1, Ґб«Ё ᥣ¬Ґв |
| ¤®бвгЇҐ ¤«п з⥨п, |
| ᥫҐЄв®а ў r/m16 |
|0F 00 /5 VERW r/m16 11/11 “бв ®ўЄ ZF=1, Ґб«Ё ᥣ¬Ґв |
| ¤®бвгЇҐ ¤«п § ЇЁбЁ, |
| ᥫҐЄв®а ў r/m16 |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
IF ᥣ¬Ґв б ᥫҐЄв®а®¬ ў (r/m) ¤®бвгЇҐ ¤«п
⥪г饣® га®ўп § йЁвл
AND ((ᥣ¬Ґв ¤®бвгЇҐ ¤«п з⥨п б®Ј« б® VERR) OR
(ᥣ¬Ґв ¤®бвгЇҐ ¤«п § ЇЁбЁ б®Ј« б® VERW))
THEN ZF <- 1;
ELSE ZF <- 0;
FI;
ЋЇЁб ЁҐ
--------
„ўге-Ў ©в®ўл© ॣЁбва Ё«Ё ®ЇҐа ¤ Ї ¬пвЁ Є®¬ ¤ VERR Ё VERW
ᮤҐа¦Ёв § 票Ґ ᥫҐЄв®а . Љ®¬ ¤л VERR Ё VERW ®ЇаҐ¤Ґ«пов
¤®бвгЇ®бвм ᥣ¬Ґв , гЄ § ®Ј® ᥫҐЄв®а®¬, б ⥪г饣® га®ўп
ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, в Є¦Ґ, ¤®бвгЇҐ «Ё ® ¤«п з⥨п (VERR),
Ё«Ё ¤«п § ЇЁбЁ (VERW). …б«Ё ᥣ¬Ґв ¤®бвгЇҐ, в® гбв ў«Ёў Ґвбп
д« Ј ZF; Ґб«Ё ᥣ¬Ґв Ґ¤®бвгЇҐ, в® д« Ј ZF ®зЁй Ґвбп. „«п
гбв ®ўЄЁ д« Ј ZF ¤®«¦л 㤮ў«Ґвў®апвмбп б«Ґ¤гойЁҐ гб«®ўЁп:
- ‘Ґ«ҐЄв®а ¤®«¦Ґ ®Ў®§ з вм ¤ҐбЄаЁЇв®а ў ЇаҐ¤Ґ« е Ја Ёж
в Ў«Ёжл (GDT Ё«Ё LDT): ᥫҐЄв®а ¤®«¦Ґ Ўлвм "®ЇаҐ¤Ґ«Ґ".
- ‘Ґ«ҐЄв®а ¤®«¦Ґ ®Ў®§ з вм ¤ҐбЄаЁЇв®а ᥣ¬Ґв Є®¤ Ё«Ё ¤ ле
( Ґ ¤ҐбЄаЁЇв®а ᥣ¬Ґв б®бв®пЁп § ¤ зЁ, LDT Ё«Ё и«о§ ).
- „«п Є®¬ ¤л VERR ᥣ¬Ґв ¤®«¦Ґ Ўлвм ¤®бвгЇҐ ¤«п з⥨п. „«п
Є®¬ ¤л VERW ᥣ¬Ґв ¤®«¦Ґ Ўлвм ᥬҐв®¬ ¤ ле, ¤®бвгЇл¬
¤«п з⥨п.
- …б«Ё Є®¤®ўл© ᥣ¬Ґв ¤®бвгЇҐ ¤«п звҐЁп Ё пў«пҐвбп
Є®д®а¬л¬, га®ўҐм ЇаЁўЁ«ҐЈЁа®ў ®бвЁ ¤ҐбЄаЁЇв®а (DPL) ¤«п
Є®¬ ¤л VERR ¬®¦Ґв Ё¬Ґвм «оЎ®Ґ § 票Ґ. ‚ Їа®вЁў®¬ б«гз Ґ
DPL ¤®«¦Ґ Ўлвм Ў®«миҐ Ё«Ё а ўҐ (н⮠ᮮ⢥вбвўгҐв ¬Ґм襩
Ё«Ё а ў®© ЇаЁўЁ«ҐЈЁа®ў ®бвЁ) Є Є ⥪г饣® га®ўп
ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, в Є Ё RPL ᥫҐЄв®а .
‚лЇ®«пҐвбп в Є п ¦Ґ Їа®ўҐаЄ ¤®бв®ўҐа®бвЁ, Є Є Ґб«Ё Ўл ᥣ¬Ґв
Ўл« § Ја㦥 ў ॣЁбва DS, ES, FS Ё«Ё GS, Ё Ўл« ўлЇ®«Ґ
гЄ § л© ¤®бвгЇ (звҐЁп Ё«Ё § ЇЁбЁ). ”« Ј ZF ЇаЁЁ¬ Ґв
१г«мв в Їа®ўҐаЄЁ ¤®бв®ўҐа®бвЁ. ‡ 票Ґ ᥫҐЄв®а Ґ ¬®¦Ґв
¤ ў вм ў १г«мв ⥠ЁбЄ«о票Ґ § йЁвл, Ї®§ў®«пп Їа®Ја ¬¬®¬г
®ЎҐбЇҐзҐЁо ЇаҐ¤гЇаҐ¦¤ вм ў®§¬®¦лҐ Їа®Ў«Ґ¬л ¤®бвгЇ Є ᥣ¬Ґвг.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
”« Ј ZF гбв ў«Ёў Ґвбп, Ґб«Ё ᥣ¬Ґв ¤®бвгЇҐ, Ё ®зЁй Ґвбп ў
Їа®вЁў®¬ б«гз Ґ.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
‘Ў®Ё, ЈҐҐаЁагҐ¬лҐ ҐўҐа®© ¤аҐб жЁҐ© ®ЇҐа ¤ Ї ¬пвЁ,
ᮤҐа¦ 饣® ᥫҐЄв®а; ᥫҐЄв®а Ґ § Јаг¦ Ґвбп ў Є Є®©-«ЁЎ®
ᥣ¬Ґвл© аҐЈЁбва, бЎ®Ё, ®в®бпйЁҐбп Є ®ЇҐа ¤г ᥫҐЄв®а , Ґ
ЈҐҐаЁаговбп.
#GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб ®ЇҐа ¤
Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў б«гз Ґ
Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў б«гз Ґ
бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ
⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 6; Є®¬ ¤л VERR Ё VERW ў ०Ё¬Ґ ॠ«мле ¤аҐб®ў Ґ
а бЇ®§ овбп.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #AC
¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ
ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
WAIT - Ћ¦Ё¤ ЁҐ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|9B WAIT 1-3 ‡ бв ў«пҐв Їа®жҐбб®а Їа®ўҐаЁвм |
| «ЁзЁҐ зЁб«®ўле ЁбЄ«о票© |
-----------------------------------------------------------------
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ WAIT § бв ў«пҐв Їа®жҐбб®а Їа®ўҐаЁвм «ЁзЁҐ Ї®¤ўҐиҐле
Ґ¬ бЄЁа㥬ле зЁб«®ўле ЁбЄ«о票©, ЇаҐ¦¤Ґ 祬 ЇҐаҐ©вЁ Є
б«Ґ¤го饩 Є®¬ ¤Ґ.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#NM, Ґб«Ё MP Ё TS ў CR0 гбв ®ў«Ґл.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 7, Ґб«Ё MP Ё TS ў CR0 гбв ®ў«Ґл.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
#NM, Ґб«Ё MP Ё TS ў CR0 гбв ®ў«Ґл.
ЏаЁ¬Ґз Ёп
----------
Џ®¬ҐйҐЁҐ Є®¬ ¤л WAIT Ї®б«Ґ Є®¬ ¤л ESC Ј а вЁагов, зв® ўбҐ
Ґ¬ бЄЁагҐ¬лҐ ЁбЄ«озҐЁп ®ЇҐа жЁ© б Ї« ў о饩 в®зЄ®©, Є®в®алҐ
¬®Јгв Ўлвм бЈҐҐаЁа®ў л Є®¬ ¤ ¬Ё, Ўг¤гв ®Ўа Ў®в л ¤® в®Ј®,
Є Є Їа®жҐбб®а ᬮ¦Ґв ¬®¤¤ЁдЁжЁа®ў вм १г«мв вл нвЁе Є®¬ ¤.
FWAIT нв® «мвҐа вЁў п ¬Ґ¬®ЁзҐбЄ п д®а¬ Є®¬ ¤л WAIT.
€д®а¬ жЁп ®Ў ЁбЇ®«м§®ў ЁЁ Є®¬ ¤л WAIT (FWAIT) ЇаЁў®¤Ёвбп ў
Ј« ўҐ 18, ў а §¤Ґ«Ґ "Џ а ««Ґ«м п ®Ўа Ў®вЄ ".
-----------------------------------------------------------------
WBINVD - ЋЎа в п § ЇЁбм Ё г«Ёа®ў ЁҐ ЄҐи
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|0F 09 WBINVD 5 ЋЎа в п § ЇЁбм Ё г«Ёа®ў ЁҐ|
| ўбҐЈ® ЄҐи |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
ЋзЁбвЄ ўгв॥Ј® ЄҐи
‘ЁЈ « ўҐиҐ¬г ЄҐиг ® Ґ®Ўе®¤Ё¬®бвЁ ўлЇ®«Ёвм ®Ўа вго § ЇЁбм
‘ЁЈ « ўҐиҐ¬г ЄҐиг ® Ґ®Ўе®¤Ё¬®бвЁ ®зЁбвЄЁ
ЋЇЁб ЁҐ
--------
ЋзЁй Ґвбп ўгв२© ЄҐи, Ё ЈҐҐаЁагҐвбп бЇҐжЁ «мл© жЁЄ« иЁл,
гЄ §лў ойЁ©, зв® ўҐиЁ© ЄҐи ¤®«¦Ґ ўлЇ®«Ёвм § ЇЁбм ҐЈ®
ᮤҐа¦Ё¬®Ј® ў Ј« ўго ®ЇҐа вЁўго Ї ¬пвм. „ «ҐҐ б«Ґ¤гҐв ҐйҐ ®¤Ё
бЇҐжЁ «мл© жЁЄ« иЁл, гЄ §лў ойЁ© ўҐиҐ¬г ЄҐиг в®, зв®
ўҐиЁ© ЄҐи ¤®«¦Ґ Ўлвм ®зЁйҐ.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
Ћвбгвбвўгов
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
Ћвбгвбвўгов
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
Ћвбгвбвўгов
ЏаЁ¬Ґз Ёп
----------
Љ®¬ ¤ § ўЁбЁ¬ ®в ॠ«Ё§ жЁЁ; ҐҐ а Ў®в ¬®¦Ґв Ї®-а §®¬г
ॠ«Ё§®ўлў вмбп Ўг¤гйЁ¬Ё Їа®жҐбб®а ¬Ё Intel.
ЋвўҐвб⢥®бвм § ЁбЇ®«ҐЁҐ бЁЈ «®ў ®Ўа в®© § ЇЁбЁ Ё ®зЁбвЄЁ
ўҐиҐЈ® ЄҐи «Ґ¦Ёв ᮮ⢥вбвўго饬 ЇЇ а ⮬ ®ЎҐбЇҐзҐЁЁ.
Џа®жҐбб®а ¬Ё 386 нв Є®¬ ¤ Ґ Ї®¤¤Ґа¦Ёў Ґвбп. €д®а¬ жЁп ®Ў
ЁбЇ®«м§®ў ЁЁ нв®© Є®¬ ¤л б®ў¬ҐбвЁ¬® б Їа®жҐбб®а ¬Ё 386 б¬. ў
а §¤Ґ«Ґ 3.11. ‡ ЇаҐв ЄҐиЁа®ў Ёп ®ЇЁб ў а §¤Ґ«Ґ 12.2.
-----------------------------------------------------------------
XADD - ЋЎ¬Ґ ¬Ґбв ¬Ё Ё б«®¦ҐЁҐ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|0F C0 /r XADD r/m8,r8 3/4 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - Ў ©в |
| Ё Ў ©в r/m; § Јаг§Є б㬬л |
| ў Ў ©в r/m |
|0F C1 /r XADD r/m16,r16 3/4 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - б«®ў |
| Ё б«®ў r/m; § Јаг§Є б㬬л |
| ў б«®ў® r/m |
|0F C1 /r XADD r/m32,r32 3/4 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё ¤ў®©®Ј® б«®ў |
| r/m; § Јаг§Є бг¬¬л ў |
| ¤ў®©®Ґ б«®ў® r/m |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
ўаҐ¬ <- DEST
DEST <- ўаҐ¬ + SRC
SRC <- ўаҐ¬
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ XADD § Јаг¦ Ґв DEST Ё SRC, § ⥬ § Јаг¦ Ґв б㬬г DEST
б Ёбе®¤л¬ § 票Ґ¬ SRC ў DEST.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
”« ЈЁ CF, PF, AF, SF, ZF Ё OF Ї®«гз ов в ЄЁҐ ¦Ґ § 票п, Є Є Ё
ў б«гз Ґ Є®¬ ¤л ADD.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
ЏаЁ¬Ґз Ёп
----------
„ п Є®¬ ¤ ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў б ЇаҐдЁЄб®¬ LOCK.
ЊЁЄа®Їа®жҐбб®а 386 DX Ґ ॠ«Ё§гҐв нвг Є®¬ ¤г. ЏаЁ
ЁбЇ®«м§®ў ЁЁ Є®¬ ¤л ўл ¤®«¦л ®ЎҐбЇҐзЁвм нЄўЁў «Ґвл© Є®¤,
в Є¦Ґ а Ў®в ойЁ© Ё Їа®жҐбб®аҐ 386 DX. Ћ ⮬, Є Є ў® ўаҐ¬п
ўлЇ®«ҐЁп ®ЇаҐ¤Ґ«Ёвм, пў«пҐвбп «Ё Їа®жҐбб®а Їа®жҐбб®а®¬ i486,
ЇЁб ® ў а §¤Ґ«Ґ 3.11.
-----------------------------------------------------------------
XCHG - ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва /Ї ¬пвЁ Ё ॣЁбва
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|90 +r XCHG AX,r16 3 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - б«®ў |
| Ё AX |
|90 +r XCHG r16,AX 3 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - б«®ў |
| Ё AX |
|90 + r XCHG EAX,r32 3 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё EAX |
|90 + r XCHG r32,EAX 3 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё EAX |
|86 /r XCHG r/m8,r8 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - Ў ©в |
| Ё Ў ©в Ї® ЁбЇ®«ЁвҐ«м®¬г |
| ¤аҐбг |
|86 /r XCHG r8,r/m8 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - Ў ©в |
| Ё Ў ©в Ї® ЁбЇ®«ЁвҐ«м®¬г |
| ¤аҐбг |
|87 /r XCHG r/m16,r16 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - б«®ў |
| Ё б«®ў Ї® ЁбЇ®«ЁвҐ«м®¬г |
| ¤аҐбг |
|87 /r XCHG r16,r/m16 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - б«®ў |
| Ё б«®ў Ї® ЁбЇ®«ЁвҐ«м®¬г |
| ¤аҐбг |
|87 /r XCHG r/m32,r32 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё ¤ў®©®Ј® б«®ў |
| Ї® ЁбЇ®«ЁвҐ«м®¬г ¤аҐбг |
|87 /r XCHG r32,r/m32 3/5 ЋЎ¬Ґ ¬Ґбв ¬Ё ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё ¤ў®©®Ј® б«®ў |
| Ї® ЁбЇ®«ЁвҐ«м®¬г ¤аҐбг |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
ўаҐ¬ <- DEST
DEST <- SRC
SRC <- ўаҐ¬
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ XCHG ¬ҐпҐв ¬Ґбв ¬Ё ¤ў ®ЇҐа ¤ . ЋЇҐа ¤л ¬®Јгв
б«Ґ¤®ў вм ў «оЎ®© Ї®б«Ґ¤®ў ⥫м®бвЁ. …б«Ё ў Є®¬ ¤Ґ гз бвўгҐв
®ЇҐа ¤ Ї ¬пвЁ, в® ўаҐ¬п ®Ў¬Ґ ў®§Ўг¦¤ Ґвбп бЁЈ « LOCK#,
Ґ§ ўЁбЁ¬® ®в ЇаЁбгвбвўЁп Ё«Ё ®вбгвбвўЁп ЇаҐдЁЄб LOCK Ё«Ё ®в
§ 票п IOPL.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
XLAT/XLATB - Ђбб®жЁ вЁў п ва б«пжЁп ў в Ў«ЁжҐ
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|D7 XLAT m8 4 “бв ®ўЄ AL а ўл¬ Ў ©вг |
| Ї ¬пвЁ DS:[(E)BX+AL ЎҐ§ § Є ] |
|D7 XLATB 4 “бв ®ўЄ AL а ўл¬ Ў ©вг |
| Ї ¬пвЁ DS:[(E)BX+AL ЎҐ§ § Є ] |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
IF AddressSize = 16
THEN
AL <- (BX + ZeroExtend(AL))
ELSE (* AddressSize = 32 *)
AL <- (EBX + ZeroExtend(AL))
FI;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ XLAT Ё§¬ҐпҐв ॣЁбва AL б Ё¤ҐЄб в Ў«Ёжл н«Ґ¬Ґв
в Ў«Ёжл. ђҐЈЁбва AL ¤®«¦Ґ ЇаҐ¤бв ў«пвм б®Ў®© Ё¤ҐЄб ЎҐ§ § Є
¤«п в Ў«Ёжл, ¤аҐб㥬®© Ї а®© ॣЁбва®ў DS:BX (ў б«гз Ґ ваЁЎгв
а §¬Ґа ¤аҐб , а ў®Ј® 16), Ё«Ё DS:EBX (ў б«гз Ґ ваЁЎгв
а §¬Ґа ¤аҐб 32 ЎЁв ).
ЋЇҐа ¤ Є®¬ ¤л XLAT Ї®§ў®«пҐв ЇҐаҐ®ЇаҐ¤Ґ«ҐЁҐ ᥣ¬Ґв . Љ®¬ ¤
XLAT ЁбЇ®«м§гҐв ᮤҐа¦Ё¬®Ґ ॣЁбва BX ¤ ¦Ґ ЇаЁ ҐЈ® ®в«ЁзЁЁ ®в
б¬ҐйҐЁп ®ЇҐа ¤ . ‘¬ҐйҐЁҐ ®ЇҐа ¤ ¤®«¦® Ўлвм Ї®¬ҐйҐ® ў
ॣЁбва BX Ё«Ё EBX ЇаҐ¤л¤г饩 Є®¬ ¤®©.
”®а¬ Є®¬ ¤л, Ґ Ё¬Ґой п ®ЇҐа ¤ , XLATB, ¬®¦Ґв Ўлвм
ЁбЇ®«м§®ў , Ґб«Ё в Ў«Ёж ¤«п BX Ё«Ё EBX ўбҐЈ¤ 室Ёвбп ў
ᥣ¬ҐвҐ DS.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
Ћвбгвбвўгов
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб ®ЇҐа ¤
Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў б«гз Ґ
Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў б«гз Ґ
бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ
⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
XOR - ‹®ЈЁзҐбЄ®Ґ ЁбЄ«оз о饥 €‹€
-----------------------------------------------------------------
|Љ®¤ Љ®¬ ¤ —Ёб«® ЋЇЁб ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|34 ib XOR AL,imm8 1 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё AL |
|35 iw XOR AX,imm16 1 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| б«®ў Ё AX |
|35 id XOR EAX,imm32 1 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё EAX |
|80 /6 ib XOR r/m8,imm8 1/3 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| Ў ©в Ё Ў ©в r/m |
|81 /6 iw XOR r/m16,imm16 1/3 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| б«®ў Ё б«®ў r/m |
|81 /6 id XOR r/m32,imm32 1/3 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| ¤ў®©®Ј® б«®ў Ё |
| ¤ў®©®Ј® б«®ў r/m |
|83 /6 ib XOR r/m16,imm8 1/3 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| а биЁаҐ®Ј® § Є®¬ Ў ©в |
| Ё§ б«®ў r/m |
|83 /6 ib XOR r/m32,imm8 1/3 XOR ¤«п ҐЇ®б।б⢥®Ј® |
| а биЁаҐ®Ј® § Є®¬ Ў ©в |
| Ё§ ¤ў®©®Ј® б«®ў r/m |
|30 /r XOR r/m8,r8 1/3 XOR ¤«п ॣЁбва - |
| Ў ©в Ё Ў ©в r/m |
|31 /r XOR r/m16,r16 1/3 XOR ¤«п ॣЁбва - |
| б«®ў Ё б«®ў r/m |
|31 /r XOR r/m32,r32 1/3 XOR ¤«п ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё |
| ¤ў®©®Ј® б«®ў r/m |
|32 /r XOR r8,r/m8 1/2 XOR ¤«п ॣЁбва - |
| Ў ©в Ё Ў ©в r/m |
|33 /r XOR r16,r/m16 1/2 XOR ¤«п ॣЁбва - |
| б«®ў Ё б«®ў r/m |
|33 /r XOR r32,r/m32 1/2 XOR ¤«п ॣЁбва - |
| ¤ў®©®Ј® б«®ў Ё |
| ¤ў®©®Ј® б«®ў r/m |
-----------------------------------------------------------------
ђ Ў®в Є®¬ ¤л
--------------
DEST <- LeftSRC XOR RightSRC;
CF <- 0;
OF <- 0;
ЋЇЁб ЁҐ
--------
Љ®¬ ¤ XOR ўлзЁб«пҐв ЁбЄ«оз о饥 €‹€ (XOR) ¤«п ¤ўге § ¤ ле Ґ©
®ЇҐа ¤®ў. Љ ¦¤л© ЎЁв १г«мв в а ўҐ 1, Ґб«Ё ᮮ⢥вбвўгойЁҐ
ЎЁвл ®ЇҐа ¤®ў а §«Ёзл; ў Їа®вЁў®¬ б«гз Ґ нв®в ЎЁв а ўҐ 0.
ЋвўҐв § ¬Ґй Ґв б®Ў®© ЇҐаўл© ®ЇҐа ¤.
€§¬ҐпҐ¬лҐ д« ЈЁ
----------------
”« ЈЁ OF Ё CF ®зЁй овбп; д« ЈЁ SF, ZF Ё PF гбв ў«Ёў овбп ў
ᮮ⢥вбвўЁЁ б १г«мв ⮬; д« Ј AF Ґ®ЇаҐ¤Ґ«Ґ.
€бЄ«озҐЁп § йЁйҐ®Ј® ०Ё¬
----------------------------------
#GP(0), Ґб«Ё § 票Ґ¬ пў«пҐвбп ᥣ¬Ґв, Ґ¤®бвгЇл© ¤«п
§ ЇЁбЁ; #GP(0) ў б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«ЁвҐ«м®Ј® ¤аҐб
®ЇҐа ¤ Ї ¬пвЁ ў ᥣ¬Ґв е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў
б«гз Ґ Ґ¤®ЇгбвЁ¬®Ј® ¤аҐб ў ᥣ¬ҐвҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва Ёз®Ј® бЎ®п; #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
€бЄ«о票п ०Ё¬ ॠ«мле ¤аҐб®ў
---------------------------------------
ЏаҐалў ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ¤ «Ґ¦Ёв ўҐ
Їа®бва бвў ЁбЇ®«ЁвҐ«мле ¤аҐб®ў ®в 0 ¤® 0FFFFH.
€бЄ«озҐЁп ўЁавг «м®Ј® ०Ё¬ 8086
----------------------------------------
’Ґ ¦Ґ ЁбЄ«о票п, зв® Ё ¤«п ०Ё¬ ॠ«мле ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва Ёзле бЎ®Ґў. #AC ¤«п Ґўла ўҐ®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ўҐ ЇаЁўЁ«ҐЈЁа®ў ®бвЁ, а ў®¬ 3.
-----------------------------------------------------------------
Соседние файлы в папке I486