Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
01.05.2014
Размер:
21.53 Кб
Скачать

CBW/CWDE - ЏаҐ®Ўа §®ў ­ЁҐ Ў ©в  ў б«®ў®/ЏаҐ®Ўа §®ў ­ЁҐ б«®ў 
ў ¤ў®©­®Ґ б«®ў®

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|98 CBW 3 AX <- а биЁаҐ­ЁҐ §­ Є®¬ AL |
|98 CWDE 3 EAX<- а биЁаҐ­ЁҐ §­ Є®¬ AX |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

IF OperandSize = 16 (* Є®¬ ­¤  = CBW *)
THEN AX <- SignExtend(AL);
ELSE (OperandSize = 32, Є®¬ ­¤  = CWDE *)
EAX <- SignExtend(AX);
FI;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CBW ЇаҐ®Ўа §®ўлў Ґв Ё¬ҐойЁ© §­ Є Ў ©в ў ॣЁбвॠAL ў
Ё¬Ґо饥 §­ Є б«®ў® ў ॣЁбвॠAX Їг⥬ а биЁаҐ­Ёп бв а襣® ЎЁв 
ॣЁбва  AL (ЎЁв  §­ Є ) ­  ўбҐ ЎЁвл ॣЁбва  AH. Љ®¬ ­¤  CWDE
ЇаҐ®Ўа §®ўлў Ґв Ё¬Ґо饥 §­ Є б«®ў® ў ॣЁбвॠAX ў Ё¬Ґо饥 §­ Є
¤ў®©­®Ґ б«®ў® ў ॣЁбвॠ…AX Їг⥬ а биЁаҐ­Ёп бв а襣® ЎЁв 
ॣЁбва  AX (ЎЁв  §­ Є ) ­  ¤ў  бв аиЁе Ў ©в  ॣЁбва  EAX.
Ћв¬ҐвЁ¬, зв® Є®¬ ­¤  CWDE ®в«Ёз­  ®в Є®¬ ­¤л CWD. Љ®¬ ­¤  CWD
ЁбЇ®«м§гҐв ў Є зҐб⢥ ­ §­ зҐ­Ёп ў¬Ґб⮠ॣЁбва  EAX Ї аг
ॣЁбва®ў DX:AX.


€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

Ћвбгвбвўгов

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

Ћвбгвбвўгов

-----------------------------------------------------------------


CLC - ЋзЁбвЁвм д« Ј ЇҐаҐ­®б 

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
| F8 CLC 2 ЋзЁбвЁвм д« Ј ЇҐаҐ­®б  |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

CF <- 0;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CLC ®зЁй Ґв д« Ј CF. Ќ  ¤агЈЁҐ д« ЈЁ Ё«Ё ॣЁбвал ®­  ­Ґ
ў«ЁпҐв.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

ЋзЁй Ґвбп д« Ј CF.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

Ћвбгвбвўгов

-----------------------------------------------------------------


CLD - ЋзЁбвЁвм д« Ј ­ Їа ў«Ґ­Ёп

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
| FC CLD 2 ЋзЁбвЁвм д« Ј ­ Їа ў«Ґ­Ёп: ЇаЁ |
| ўлЇ®«­Ґ­ЁЁ бва®Є®ўле Є®¬ ­¤ Ўг¤Ґв|
| Їа®Ёб室Ёвм Ё­ЄаҐ¬Ґ­в SI Ё DI |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

DF <- 0;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CLD ®зЁй Ґв д« Ј ­ Їа ў«Ґ­Ёп. Ќ  ¤агЈЁҐ д« ЈЁ Ё«Ё
ॣЁбвал ®­  ­Ґ ў«ЁпҐв. Џ®б«Ґ ўлЇ®«­Ґ­Ёп Є®¬ ­¤л CLD бва®Є®ўлҐ
Є®¬ ­¤л Ўг¤гв Ё­ЄаҐ¬Ґ­вЁа®ў вм ЁбЇ®«м§гҐ¬лҐ Ё¬Ё Ё­¤ҐЄб­лҐ
ॣЁбвал (SI Ё/Ё«Ё DI).

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

ЋзЁй Ґвбп д« Ј DF.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

Ћвбгвбвўгов

-----------------------------------------------------------------


CLI - ЋзЁбвЁвм д« Ј ЇаҐалў ­Ёп

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
| FA CLI 5 ЋзЁбвЁвм д« Ј ЇаҐалў ­Ёп; |
| ЇаҐалў ­Ёп § ЇаҐйҐ­л |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

IF <- 0;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CLI ®зЁй Ґв д« Ј ЇаҐалў ­Ёп IF, Ґб«Ё ⥪гйЁ© га®ўҐ­м
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ Є Є ¬Ё­Ё¬г¬ а ўҐ­ IOPL. Ќ  ¤агЈЁҐ д« ЈЁ ®­ 
­Ґ ў«ЁпҐв. ‚­Ґи­ЁҐ ЇаҐалў ­Ёп ­Ґ а бЇ®§­ овбп ў Є®­жҐ Є®¬ ­¤л
CLI Ё ­ зЁ­ п б нв®Ј® ¬®¬Ґ­в  ¤® гбв ­®ўЄЁ Є®¬ ­¤л IF.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

ЋзЁй Ґвбп д« Ј IF.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

#GP(0), Ґб«Ё ⥪гйЁ© га®ўҐ­м ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ Ё¬ҐҐв Ў®«миЁ©
­®¬Ґа (в.Ґ. ЇаЁўЁ«ҐЈЁа®ў ­­®бвм ¬Ґ­миҐ), 祬 га®ўҐ­м
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ ўў®¤ /ўлў®¤  ў ॣЁбвॠ䫠Ј®ў. “а®ўҐ­м
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ ўў®¤ /ўлў®¤  § ¤ Ґв ­ Ё¬Ґ­миЁ© га®ўҐ­м
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, ­  Є®в®а®¬ ¤®ЇгбЄ Ґвбп ўлЇ®«­Ґ­ЁҐ
ўў®¤ /ўлў®¤ .

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

#GP(0) Є Є ¤«п § йЁйҐ­­®Ј® ०Ё¬ .

-----------------------------------------------------------------

CLTS - ЋзЁбвЁвм д« Ј ЇҐаҐЄ«о祭Ёп § ¤ зЁ ў CR0

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
| 0F 06 CLTS 7 ЋзЁбвЁвм д« Ј ЇҐаҐЄ«о祭Ёп § ¤ зЁ|
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

”« Ј TS ў CR0 <- 0;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CLTS ®зЁй Ґв д« Ј ЇҐаҐЄ«о祭Ёп § ¤ зЁ (TS) ў ॣЁбваҐ
CR0. ќв®в д« Ј гбв ­ ў«Ёў Ґвбп Їа®жҐбб®а®¬ ўбпЄЁ© а §, Є®Ј¤ 
Їа®Ёб室Ёв ЇҐаҐЄ«о祭ЁҐ § ¤ зЁ. ”« Ј TS ЁбЇ®«м§гҐвбп ¤«п
гЇа ў«Ґ­Ёп а биЁаҐ­Ёп¬Ё Їа®жҐбб®а  б«Ґ¤гойЁ¬ ®Ўа §®¬:

- Љ ¦¤®Ґ ўлЇ®«­Ґ­ЁҐ Є®¬ ­¤л ESC ЇаЁ гбв ­®ў«Ґ­­®¬ д« ЈҐ TS
ўл§лў Ґв ЁбЄ«о祭ЁҐ.

- ‚лЇ®«­Ґ­ЁҐ Є®¬ ­¤л WAIT ўл§лў Ґв ЁбЄ«о祭ЁҐ «®ўгиЄЁ ЇаЁ
®¤­®ўаҐ¬Ґ­­® гбв ­®ў«Ґ­­ле д« Ј е MP Ё TS.

’ ЄЁ¬ ®Ўа §®¬, Ґб«Ё ЇҐаҐЄ«о祭ЁҐ § ¤ зЁ Їа®Ё§®и«® Ї®б«Ґ ­ з « 
Є®¬ ­¤л ESC, ¬®¦Ґв Ї®вॡ®ў вмбп б®еа ­Ёвм Є®­вҐЄбв ¬®¤г«п ¤«п
®ЇҐа жЁЁ б Ї« ў о饩 в®зЄ®©, ЇаҐ¦¤Ґ 祬 ¬®¦Ґв Ўлвм ўл¤ ­  ­®ў п
Є®¬ ­¤  ESC. ЋЎа Ў®взЁЄ бЎ®п б®еа ­пҐв Є®­вҐЄбв Ё ®зЁй Ґв д« Ј
TS.

Љ®¬ ­¤  CLTS ЁбЇ®«м§гҐвбп ў ®ЇҐа жЁ®­­®¬ Їа®Ја ¬¬­®¬
®ЎҐбЇҐзҐ­ЁЁ,   ­Ґ ў ЇаЁЄ« ¤­ле Їа®Ја ¬¬ е. ќв® ЇаЁўЁ«ҐЈЁа®ў ­­ п
Є®¬ ­¤ , Є®в®а п ¬®¦Ґв Ўлвм ўлЇ®«­Ґ­  в®«мЄ® ­  га®ў­Ґ
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ 0.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

ЋзЁй Ґвбп д« Ј TS (д« Ј ў ॣЁбвॠCR0,   ­Ґ ў® д« Ј®ў®¬
ॣЁбваҐ).

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

#GP(0), Ґб«Ё Є®¬ ­¤  CLTS ўлЇ®«­пҐвбп б ⥪гйЁ¬ га®ў­Ґ¬
ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, ­Ґ а ў­л¬ 0.


€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов (¤®ЇгбвЁ¬  ў ०Ё¬Ґ ॠ«м­ле  ¤аҐб®ў ¤«п в®Ј®, зв®Ўл
Ї®§ў®«Ёвм Ё­ЁжЁ «Ё§ жЁо ¤«п § йЁйҐ­­®Ј® ०Ё¬ ).

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

Ћвбгвбвўгов

-----------------------------------------------------------------


CMC - „®Ї®«­Ґ­ЁҐ д« Ј  ЇҐаҐ­®б 

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
| F5 CMC 2 „®Ї®«­Ґ­ЁҐ д« Ј  ЇҐаҐ­®б  |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

CF <- NOT CF;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CMC Ё§¬Ґ­пҐв ­  Їа®вЁў®Ї®«®¦­®Ґ §­ зҐ­ЁҐ д« Ј  CF. Ќ 
¤агЈЁҐ д« ЈЁ ў«Ёп­Ёп ­Ґ ®Є §лў Ґв.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

”« Ј CF ᮤҐа¦Ёв ¤®Ї®«­Ґ­ЁҐ ҐЈ® Ёб室­®Ј® §­ зҐ­Ёп.


€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

Ћвбгвбвўгов

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

Ћвбгвбвўгов

-----------------------------------------------------------------


CMP - ‘а ў­Ґ­ЁҐ ¤ўге ®ЇҐа ­¤®ў

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|3C ib CMP AL,imm8 1 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| Ў ©в  б AL |
|3D iw CMP AX,imm16 1 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| б«®ў  б AX |
|3D id CMP EAX,imm32 1 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| ¤ў®©­®Ј® б«®ў  б EAX |
|80 /7 ib CMP r/m8,imm8 1/2 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| Ў ©в  б Ў ©в®¬ ў r/m |
|81 /7 iw CMP r/m16,imm16 1/2 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| б«®ў  б® б«®ў®¬ ў r/m |
|81 /7 id CMP r/m32,imm32 1/2 ‘а ў­Ґ­ЁҐ ­ҐЇ®б।б⢥­­®Ј® |
| ¤ў®©­®Ј® б«®ў  б ¤ў®©­л¬ б«®ў®¬|
| ў r/m |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

LeftSRC - SignExtend(RightSRC);
(* CMP ­Ґ ўлЇ®«­пҐв § ЇЁбм १г«мв в ; ҐҐ ­ §­ зҐ­ЁҐ - гбв ­®ўЄ 
д« Ј®ў *)

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CMP ўлзЁв Ґв ўв®а®© ®ЇҐа ­¤ Ё§ ЇҐаў®Ј®, ­® ў ®в«ЁзЁҐ ®в
Є®¬ ­¤л SUB, ­Ґ § ЇЁблў Ґв १г«мв в: ®­  Ё§¬Ґ­пҐв в®«мЄ®
б®бв®п­Ёп д« Ј®ў. Љ®¬ ­¤  CMP ®Ўлз­® ЁбЇ®«м§гҐвбп ў б®зҐв ­ЁЁ б
гб«®ў­л¬Ё ЇҐаҐе®¤ ¬Ё Ё Є®¬ ­¤ ¬Ё SETcc. (‘ЇЁб®Є Ё¬ҐойЁебп
Їа®ўҐа®Є д« Ј®ў, б® §­ Є®¬ Ё ЎҐ§ д« Ј®ў, ЇаЁў®¤Ёвбп ў ЏаЁ«®¦Ґ­ЁЁ
D). …б«Ё ®ЇҐа ­¤ ЇаҐўли Ґв ®¤Ё­ Ў ©в Ё ба ў­Ёў Ґвбп б
­ҐЇ®б।б⢥­­л¬ Ў ©в®¬, в® нв®в Ў ©в б­ з «  а биЁапҐвбп
§­ Є®¬.


€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

”« ЈЁ OF, SF, ZF, AF, PF Ё CF гбв ­ ў«Ёў овбп ў ᮮ⢥вбвўЁЁ б
१г«мв в®¬.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

#GP(0) ў б«гз Ґ ­Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«­ЁвҐ«м­®Ј®  ¤аҐб  ®ЇҐа ­¤ 
Ї ¬пвЁ ў ᥣ¬Ґ­в е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў б«гз Ґ
­Ґ¤®ЇгбвЁ¬®Ј®  ¤аҐб  ў ᥣ¬Ґ­вҐ SS; #PF(Є®¤ бЎ®п) ў б«гз Ґ
бва ­Ёз­®Ј® бЎ®п; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ
⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

ЏаҐалў ­ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ­¤  «Ґ¦Ёв ў­Ґ
Їа®бва ­бвў  ЁбЇ®«­ЁвҐ«м­ле  ¤аҐб®ў ®в 0 ¤® 0FFFFH.

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

’Ґ ¦Ґ ЁбЄ«о祭Ёп, зв® Ё ¤«п ०Ё¬  ॠ«м­ле  ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва ­Ёз­ле бЎ®Ґў; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.


CMPS/CMPSB/CMPSW/CMPSD - ‘а ў­Ґ­ЁҐ бва®Є®ўле ®ЇҐа ­¤®ў

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|A6 CMPS m8,m8 8 ‘а ў­Ґ­ЁҐ Ў ©в®ў ў ES:[(E)DI] |
| (ўв®а®© ®ЇҐа ­¤) б [(E)SI] |
| (ЇҐаўл© ®ЇҐа ­¤) |
|A7 CMPS m16,m16 8 ‘а ў­Ґ­ЁҐ б«®ў ES:[(E)DI] |
| (ўв®а®© ®ЇҐа ­¤) б [(E)SI] |
| (ЇҐаўл© ®ЇҐа ­¤) |
|A7 CMPS m32,m32 8 ‘а ў­Ґ­ЁҐ ¤ў®©­ле б«®ў ES:[(E)DI]|
| (ўв®а®© ®ЇҐа ­¤) б [(E)SI] |
| (ЇҐаўл© ®ЇҐа ­¤) |
|A6 CMPSB 8 ‘а ў­Ґ­ЁҐ Ў ©в®ў ў ES:[(E)DI] |
| б DS:[SI] |
|A7 CMPSW 8 ‘а ў­Ґ­ЁҐ б«®ў ў ES:[(E)DI] |
| б DS:[SI] |
|A7 CMPSD 8 ‘а ў­Ґ­ЁҐ ¤ў®©­ле б«®ў ES:[(E)DI]|
| б DS:[SI] |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

IF (Є®¬ ­¤  = CMPSD) OR
(Є®¬ ­¤  Ё¬ҐҐв ®ЇҐа ­¤л вЁЇ  DWORD)
THEN OperandSize <- 32;
ELSE OperandSize <- 16;
FI;
IF AddressSize = 16
THEN
ЁбЇ®«м§г©вҐ SI Є Є Ё­¤ҐЄб Ёбв®з­ЁЄ  Ё DI Є Є Ё­¤ҐЄб ­ §­ зҐ­Ёп
ELSE (* AddressSize = 32 *)
ЁбЇ®«м§г©вҐ ESI Є Є Ё­¤ҐЄб Ёбв®з­ЁЄ  Ё EDI Є Є Ё­¤ҐЄб
­ §­ зҐ­Ёп;
FI;
IF Є®¬ ­¤  Ў ©в®ў®Ј® вЁЇ 
THEN
[Ё­¤ҐЄб-Ёбв®з­ЁЄ ] - [Ё­¤ҐЄб-­ §­ зҐ­Ёп]; (* ба ў­Ґ­ЁҐ Ў ©в®ў *)
IF DF = 0 THEN IncDec <- 1 ELSE IncDec <- -1; FI;
ELSE
IF OperandSize = 16
THEN
[Ё­¤ҐЄб-Ёбв®з­ЁЄ ] - [Ё­¤ҐЄб-­ §­ зҐ­Ёп]; (* ба ў­Ґ­ЁҐ б«®ў *)
IF DF = 0 THEN IncDec <- 2 ELSE IncDec <- -2; FI;
ELSE (* OperandSize = 32 *)
[Ё­¤ҐЄб-Ёбв®з­ЁЄ ] - [Ё­¤ҐЄб-­ §­ зҐ­Ёп]; (* ба ў­Ґ­ЁҐ
¤ў®©­ле б«®ў *)
IF DF = 0 THEN IncDec <- 4 ELSE IncDec <- -4; FI;
FI;
FI;
Ё­¤ҐЄб-Ёбв®з­ЁЄ  = Ё­¤ҐЄб-Ёбв®з­ЁЄ  + IncDec;
Ё­¤ҐЄб-­ §­ зҐ­Ёп = Ё­¤ҐЄб-­ §­ зҐ­Ёп + IncDec;

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CMPS ба ў­Ёў Ґв Ў ©в, б«®ў® Ё«Ё ¤ў®©­®Ґ б«®ў®, ­ 
Є®в®а®Ґ гЄ §лў Ґв ॣЁбва Ё­¤ҐЄб -Ёбв®з­ЁЄ , б Ў ©в®¬, б«®ў®¬
Ё«Ё ¤ў®©­л¬ б«®ў®¬, ­  Є®в®а®Ґ гЄ §лў Ґв ॣЁбва
Ё­¤ҐЄб -­ §­ зҐ­Ёп.

…б«Ё  ваЁЎгв а §¬Ґа   ¤аҐб  нв®© Є®¬ ­¤л а ўҐ­ 16 ЎЁв®ў, в® ў
Є зҐб⢥ ॣЁбва®ў Ё­¤ҐЄб  Ёбв®з­ЁЄ  Ё ­ §­ зҐ­Ёп ЁбЇ®«м§говбп
ॣЁбвал SI Ё DI; ў Їа®вЁў­®¬ б«гз Ґ ЁбЇ®«м§говбп ॣЁбвал ESI Ё
EDI. ЏҐаҐ¤ ўлЇ®«­Ґ­ЁҐ¬ Є®¬ ­¤л CMPS ў SI Ё DI (Ё«Ё ESI Ё EDI)
¤®«¦­л Ўлвм § Ја㦥­л Їа ўЁ«м­лҐ §­ зҐ­Ёп Ё­¤ҐЄб®ў.

‘а ў­Ґ­ЁҐ ўлЇ®«­пҐвбп Ї®б।бвў®¬ ўлзЁв ­Ёп ®ЇҐа ­¤ ,
Ё­¤ҐЄбЁа®ў ­­®Ј® ॣЁбв஬ Ё­¤ҐЄб -­ §­ зҐ­Ёп, Ё§ ®ЇҐа ­¤ ,
Ё­¤ҐЄбЁа®ў ­­®Ј® ॣЁбв஬ Ё­¤ҐЄб -Ёбв®з­ЁЄ .

Ћв¬ҐвЁ¬, зв® ­ Їа ў«Ґ­ЁҐ ўлзЁв ­Ёп ¤«п Є®¬ ­¤л CMPS нв® [SI] -
[DI] Ё«Ё [ESI] - [EDI]. ‹Ґўл© ®ЇҐа ­¤ (SI Ё«Ё ESI) пў«пҐвбп
Ёбв®з­ЁЄ®¬,   Їа ўл© ®ЇҐа ­¤ (DI Ё«Ё EDI) нв® ­ §­ зҐ­ЁҐ. ќв®
­ Їа ў«Ґ­ЁҐ Їа®вЁў®Ї®«®¦­® ­ Їа ў«Ґ­Ёо, ЇаЁ­п⮬㠯® ®Ўлз­л¬
б®Ј« иҐ­Ёп¬ Intel, Ј¤Ґ «Ґўл© ®ЇҐа ­¤ пў«пҐвбп ­ §­ зҐ­ЁҐ¬,  
Їа ўл© - Ёбв®з­ЁЄ®¬.

ђҐ§г«мв в ўлзЁв ­Ёп ­Ґ § ЇЁблў Ґвбп; ®­ ®ва ¦ Ґвбп в®«мЄ®
Ё§¬Ґ­Ґ­ЁҐ¬ д« Ј®ў. ’ЁЇ ®ЇҐа ­¤®ў ®ЇаҐ¤Ґ«пҐв, ба ў­Ёў овбп «Ё
Ў ©вл, б«®ў  Ё«Ё ¤ў®©­лҐ б«®ў . „«п ЇҐаў®Ј® ®ЇҐа ­¤  (SI Ё«Ё
ESI) ЁбЇ®«м§гҐвбп ॣЁбва DS, Ґб«Ё ®вбгвбвўгҐв Ў ©в
ЇҐаҐ®ЇаҐ¤Ґ«Ґ­Ёп ᥣ¬Ґ­в . ‚в®а®© ®ЇҐа ­¤ (DI Ё«Ё EDI) ¤®«¦Ґ­
Ї®§ў®«пвм  ¤аҐб жЁо Ё§ ॣЁбва  ES; ЇҐаҐ®ЇаҐ¤Ґ«Ґ­ЁҐ ᥣ¬Ґ­в 
­Ґў®§¬®¦­®.

Џ®б«Ґ в®Ј®, Є Є ба ў­Ґ­ЁҐ ўлЇ®«­Ґ­®, Їа®Ёб室Ёв  ўв®¬ вЁзҐбЄ®Ґ
Їа®¤ўЁ¦Ґ­ЁҐ ў ॣЁбва е Ё­¤ҐЄб  Ёбв®з­ЁЄ  Ё Ё­¤ҐЄб  ­ §­ зҐ­Ёп.
…б«Ё д« Ј DF а ўҐ­ 0 (в.Ґ. Ўл«  ЁбЇ®«м§®ў ­  Є®¬ ­¤  CLD), в®
Їа®Ёб室Ёв Ё­ЄаҐ¬Ґ­в нвЁе ॣЁбва®ў; Ґб«Ё ¦Ґ д« Ј DF а ўҐ­ 1
(Ўл«  ўлЇ®«­Ґ­  Є®¬ ­¤  STD), в® Їа®Ёб室Ёв ¤ҐЄаҐ¬Ґ­в ॣЁбва .
ЏаЁ ба ў­Ґ­ЁЁ Ў ©в®ў ўлЇ®«­пҐвбп Ё­ЄаҐ¬Ґ­в Ё«Ё ¤ҐЄаҐ¬Ґ­в ­  1,
ЇаЁ ба ў­Ґ­ЁЁ б«®ў ­  2,   ЇаЁ ба ў­Ґ­ЁЁ ¤ў®©­ле б«®ў - ­  4.

Љ®¬ ­¤л CMPSB, CMPSW Ё CMPSD пў«повбп бЁ­®­Ё¬ ¬Ё Є®¬ ­¤л CMPS
lkz ба ў­Ґ­Ёп Ў ©в®ў, б«®ў Ё ¤ў®©­ле б«®ў, ᮮ⢥вб⢥­­®.

Љ®¬ ­¤Ґ CMPS ¬®¦Ґв ЇаҐ¤иҐбвў®ў вм ЇаҐдЁЄб REPE Ё«Ё REPNE ¤«п
Ў«®з­®Ј® ба ў­Ґ­Ёп б ЁбЇ®«м§®ў ­ЁҐ¬ CX Ё«Ё ECX Ў ©в®ў, б«®ў Ё«Ё
¤ў®©­ле б«®ў. Ѓ®«ҐҐ Ї®¤а®Ў­го Ё­д®а¬ жЁо ®Ў н⮬ б¬. ў ®ЇЁб ­ЁЁ
Є®¬ ­¤л REP.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

”« ЈЁ OF, SF, ZF, AF, PF Ё CF гбв ­ ў«Ёў овбп ў ᮮ⢥вбвўЁЁ б
१г«мв в®¬.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

#GP(0) ў б«гз Ґ ­Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«­ЁвҐ«м­®Ј®  ¤аҐб  ®ЇҐа ­¤ 
Ї ¬пвЁ ў ᥣ¬Ґ­в е CS, DS, ES, FS Ё«Ё GS; #SS(0) ў б«гз Ґ
­Ґ¤®ЇгбвЁ¬®Ј®  ¤аҐб  ў ᥣ¬Ґ­вҐ SS; #PF(Є®¤ бЎ®п) ў б«гз Ґ
бва ­Ёз­®Ј® бЎ®п; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є Ї ¬пвЁ ЇаЁ
⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

ЏаҐалў ­ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ­¤  «Ґ¦Ёв ў­Ґ
Їа®бва ­бвў  ЁбЇ®«­ЁвҐ«м­ле  ¤аҐб®ў ®в 0 ¤® 0FFFFH.

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

’Ґ ¦Ґ ЁбЄ«о祭Ёп, зв® Ё ¤«п ०Ё¬  ॠ«м­ле  ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва ­Ёз­ле бЎ®Ґў; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.


CMPXCHG - ‘а ў­Ґ­ЁҐ Ё ®Ў¬Ґ­

-----------------------------------------------------------------
|Љ®¤ Љ®¬ ­¤  —Ёб«® ЋЇЁб ­ЁҐ |
|®ЇҐа жЁЁ в Єв®ўле |
| жЁЄ«®ў |
| |
|0F A6/r CMPXCHG r/m8,r8 6/7, Ґб«Ё ба ў- ‘а ў­Ґ­ЁҐ AL б Ў ©в®¬ |
| ­Ґ­ЁҐ гбЇҐи­®, r/m. ЏаЁ а ўҐ­б⢥ гб- |
| Ё 6/10 Ё­ зҐ в ­ ў«Ёў Ґв ZF Ё § Јаг-|
| ¦ Ґв Ў ©в ॣЁбва  ў |
| Ў ©в r/m. €­ зҐ ®зЁй Ґв|
| ZF Ё § Јаг¦ Ґв Ў ©в r/m|
| ў AL |
|0F A7/r CMPXCHG 6/7, Ґб«Ё ба ў- ‘а ў­Ґ­ЁҐ AL б® б«®ў®¬ |
| r/m16,r16 ­Ґ­ЁҐ гбЇҐи­®, r/m. ЏаЁ а ўҐ­б⢥ гб- |
| Ё 6/10 Ё­ зҐ в ­ ў«Ёў Ґв ZF Ё § Јаг-|
| ¦ Ґв ॣЁбва-б«®ў® ў |
| б«®ў® r/m. €­ зҐ ®зЁй Ґв|
| ZF Ё § Јаг¦ Ґв б«®ў® r/m|
| ў AX |
|0F A7/r CMPXCHG 6/7, Ґб«Ё ба ў- ‘а ў­Ґ­ЁҐ AL б ¤ў®©­л¬ |
| r/m32,r32 ­Ґ­ЁҐ гбЇҐи­®, б«®ў®¬ r/m. ЏаЁ а ўҐ­б-|
| Ё 6/10 Ё­ зҐ ⢥ гбв ­-в ZF Ё § Јаг-|
| ¦ Ґв ॣЁбва-¤ў®©­®Ґ |
| б«®ў® r/m. €­ зҐ ®зЁй Ґв|
| ZF Ё § Јаг¦ Ґв ¤ў®©­®Ґ |
| б«®ў® r/m ў EAX. |
-----------------------------------------------------------------

ђ Ў®в  Є®¬ ­¤л
--------------

IF  ЄЄг¬г«пв®а = DEST
ZF <- 1
DEST <- SRC
ELSE
ZF <- 0
 ЄЄг¬г«пв®а <- DEST

ЋЇЁб ­ЁҐ
--------

Љ®¬ ­¤  CMPXCHG ба ў­Ёў Ґв  ЄЄг¬г«пв®а (ॣЁбва AL, AX Ё«Ё EAX)
б DEST. …б«Ё ®­Ё а ў­л, в® SRC § Јаг¦ Ґвбп ў DEST. ‚ Їа®вЁў­®¬
б«гз Ґ DEST § Јаг¦ Ґвбп ў  ЄЄг¬г«пв®а.

€§¬Ґ­пҐ¬лҐ д« ЈЁ
----------------

”« ЈЁ CF, PF, AF, SF Ё OF Ё§¬Ґ­повбп в ЄЁ¬ ®Ўа §®¬, Є Є Ґб«Ё Ўл
Ўл«  ўлЇ®«­Ґ­  Є®¬ ­¤  CMP б DEST Ё  ЄЄг¬г«пв®а®¬ ў Є зҐб⢥
®ЇҐа ­¤®ў. ”« Ј ZF гбв ­ ў«Ёў Ґвбп, Ґб«Ё ®ЇҐа ­¤ ­ §­ зҐ­Ёп Ё
 ЄЄг¬г«пв®а а ў­л; ў Їа®вЁў­®¬ б«гз Ґ ®­ ®зЁй Ґвбп.

€бЄ«о祭Ёп § йЁйҐ­­®Ј® ०Ё¬ 
----------------------------------

#GP(0), Ґб«Ё १г«мв в ¤®«¦Ґ­ Ї®¬Ґй вмбп ў ᥣ¬Ґ­в, ¤«п Є®в®а®Ј®
§ ЇаҐйҐ­  § ЇЁбм; #GP(0) ў б«гз Ґ ­Ґ¤®ЇгбвЁ¬®Ј® ЁбЇ®«­ЁвҐ«м­®Ј®
 ¤аҐб  ®ЇҐа ­¤  Ї ¬пвЁ ў ᥣ¬Ґ­в е CS, DS, ES, FS Ё«Ё GS; #SS(0)
ў б«гз Ґ ­Ґ¤®ЇгбвЁ¬®Ј®  ¤аҐб  ў ᥣ¬Ґ­вҐ SS; #PF(Є®¤ бЎ®п) ў
б«гз Ґ бва ­Ёз­®Ј® бЎ®п; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є Ї ¬пвЁ
ЇаЁ ⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.

€бЄ«о祭Ёп ०Ё¬  ॠ«м­ле  ¤аҐб®ў
---------------------------------------

ЏаҐалў ­ЁҐ 13, Ґб«Ё Є Є п-«ЁЎ® з бвм ®ЇҐа ­¤  «Ґ¦Ёв ў­Ґ
Їа®бва ­бвў  ЁбЇ®«­ЁвҐ«м­ле  ¤аҐб®ў ®в 0 ¤® 0FFFFH.

€бЄ«о祭Ёп ўЁавг «м­®Ј® ०Ё¬  8086
----------------------------------------

’Ґ ¦Ґ ЁбЄ«о祭Ёп, зв® Ё ¤«п ०Ё¬  ॠ«м­ле  ¤аҐб®ў: #PF (Є®¤
бЎ®п) ¤«п бва ­Ёз­ле бЎ®Ґў; #AC ¤«п ­Ґўла ў­Ґ­­®© ббл«ЄЁ Є
Ї ¬пвЁ ЇаЁ ⥪г饬 га®ў­Ґ ЇаЁўЁ«ҐЈЁа®ў ­­®бвЁ, а ў­®¬ 3.

ЏаЁ¬Ґз ­Ёп
----------

ќв  Є®¬ ­¤  ¬®¦Ґв Ўлвм ЁбЇ®«м§®ў вмбп б ЇаҐдЁЄб®¬ LOCK. „«п
гЇа®йҐ­Ёп Ё­вҐадҐ©б  б иЁ­®© Їа®жҐбб®а  ®ЇҐа ­¤ ­ §­ зҐ­Ёп
ЇаЁ­Ё¬ Ґв жЁЄ« § ЇЁбЁ ЎҐ§®в­®бЁвҐ«м­® Є १г«мв вг ба ў­Ґ­Ёп.
…б«Ё ба ў­Ґ­ЁҐ § Є®­зЁ«®бм ­Ґг¤ з­®, в® DEST § ЇЁблў Ґвбп ­ § ¤,
  ў Їа®вЁў­®¬ б«гз Ґ ў ®ЇҐа ­¤ ­ §­ зҐ­Ёп § ЇЁблў Ґвбп DEST.
(Џа®жҐбб®а ­ЁЄ®Ј¤  ­Ґ ўл¤ Ґв жЁЄ«  з⥭Ёп б § еў в®¬ ЎҐ§
ᮮ⢥вбвўго饩 § ЇЁбЁ б § еў в®¬). ќв  Є®¬ ­¤  Їа®жҐбб®а ¬Ё 386
­Ґ Ї®¤¤Ґа¦Ёў Ґвбп. €бЇ®«м§®ў ­ЁҐ Є®¬ ­¤л CMPXCHG б®ў¬ҐбвЁ¬л¬ б
386 ®Ўа §®¬ б¬. ў а §¤Ґ«Ґ 3.11.


-----------------------------------------------------------------
Соседние файлы в папке I486