home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-01-01 | 83.0 KB | 2,019 lines |
- - 254 -
- ╔════════════════════════════════════════════════════════════╗
- ║IRET/IRETD 髺óαáΓ ¿º »αÑαδóá¡¿∩ (¿½¿ ¿º ºáñáτ¿ ó çáΘ¿ΘÑ¡¡«¼║
- ║ αѪ¿¼Ñ) ║
- ╚════════════════════════════════════════════════════════════╝
- öÄÉîÇÆ:
- ┌────────┐
- IRET │11001111│
- └────────┘
- öôìèûêƒ:
- IF (ADRESS SIZE = 32) THEN
- BEGIN
- POP EIP; ( IRET ß¡¿¼áÑΓ ß« ßΓѬá EIP ¿½¿ IP)
- POP CS; ( IRET Γá¬ªÑ ß¡¿¼áÑΓ ß« ßΓѬá CS)
- POP EFLAGS; ( IRET Γá¬ªÑ ß¡¿¼áÑΓ ß« ßΓѬá EFLAG ¿½¿ FLAG)
- END
- ELSE
- BEGIN
- POP IP; ( IRET ß¡¿¼áÑΓ ß« ßΓѬá EIP ¿½¿ IP)
- POP CS; ( IRET Γá¬ªÑ ß¡¿¼áÑΓ ß« ßΓѬá CS)
- POP FLAGS; ( IRET Γá¬ªÑ ß¡¿¼áÑΓ ß« ßΓѬá EFLAG ¿½¿ FLAG)
- END
-
- ÄÅêæÇìêà:
- IRET «íδτ¡« »«∩ó½∩ÑΓß∩ ó ¬«¡µÑ »α«úαá¼¼δ «íß½πª¿óá¡¿∩ »αÑαδóá¡¿⌐
- ñ½∩ ¬«¡Γα«½∩ ó«ºóαáΓá ¬ »αÑαóá¡¡«⌐ »α«úαá¼¼Ñ. IRET ß¡¿¼áÑΓ ß«
- ßΓѬá π¬áºáΓѽ∞ ¬«¼á¡ñδ ¿ ¬«ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá, Γ.«. óδ»«½¡∩∩
- ¼ÑªßÑú¼Ñ¡Γ¡δ⌐ ó«ºóαáΓ. Ä¡á Γá¬ªÑ ß¡¿¼áÑΓ ß« ßΓѬá Σ½áú αÑú¿ßΓαá,
- ¬«Γ«αδ⌐ ß«ñÑαª¿Γ ß«ßΓ«∩¡¿Ñ IF, »αÑñΦÑßΓóπεΘÑú« »αÑαδóá¡¿ε.
- è«úñá IRET ¿¼ÑÑΓ ¼ÑßΓ« ó αÑá½∞¡«¼ αѪ¿¼Ñ ¿½¿ ó αѪ¿¼Ñ
- ó¿αΓπá½∞¡«¼ 8086, Γ« π¬áºáΓѽ∞ ¬«¼á¡ñδ ¿ αÑú¿ßΓα ¬«ñá ßÑú¼Ñ¡Γá,
- ß¡∩ΓδÑ ß« ßΓѬá, «»αÑñѽ∩εΓ áñαÑß, ¬πñá ñ«½ª¡« ó«ºóαáΓ¿Γ∞ß∩
- óδ»«½¡Ñ¡¿Ñ ú½áó¡«⌐ »α«úαá¼¼δ.
- è«úñá IRET ¿¼ÑÑΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, ñÑ⌐ßΓó¿∩,
- óδ»«½¡∩ѼδÑ 80386 ¼«úπΓ íδΓ∞ ñ«ó«½∞¡« ß½«ª¡δ¼¿ ¿ ñ«½ª¡δ
- ß««ΓóÑΓßΓó«óáΓ∞ «ñ¡«¼π ¿º 3-σ ß«ßΓ«∩¡¿⌐:
- 1.ßÑú¼Ñ¡Γ ¬«ñá ¡áσ«ñ¿Γß∩ ¡á ΓѬπΘѼ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ (DPL=CPL);
- 2.ßÑú¼Ñ¡Γ ¬«ñá ¡áσ«ñ¿Γß∩ ¡á í«½ÑÑ »α¿ó¿½Ñú¿α«óá¡¡«¼ πα«ó¡Ñ (DPL<
- CPL) ¿½¿
- 3.ßÑú¼Ñ¡Γ ß«ßΓ«∩¡¿∩ ºáñáτ.
- 諼á¡ñá IRET Γá¬ªÑ ú«ñ¿Γß∩ ñ½∩ «¬«¡τá¡¿∩ (ºáóÑαΦÑ¡¿∩) αÑΦáѼ«⌐
- ºáñáτ¿, úñÑ «¡á óδºδóáÑΓ »ÑαѬ½ετÑ¡¿Ñ ¬ »αÑñδñπΘѼπ ºáñá¡¿ε
- (πß½«ó¿Ñ αÑΦáѼ«⌐ ºáñáτ¿ «í«º¡áτáÑΓß∩ NT=1 ó αÑú¿ßΓαÑ EFLAG).
-
- ÅÉêîàÉ:
- IRET
-
- äàÆÇïê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- IF Σ½áú αѪ¿¼á ó¿αΓπá½∞¡«ú« 8086 (VM)=1 ¿ IOPL<3
- THEN ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h) (ñ½∩
- φ¼π½∩µ¿¿ ¬«¼á¡ñδ αáºαÑΦ¿Γ∞ ßπ»Ñαó¿º«α ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á)
- ELSE
- IF Σ½áú 齫ªÑ¡¡«⌐ çáñáτ¿ (NT=1) THEN go to (»ÑαÑ⌐Γ¿) ¬ éÄçéÉÇÆô
- çÇäÇùê
- ELSE
- IF Σ½áú αѪ¿¼á ó¿αΓπá½∞¡«ú« 8086 (VM)=1 ó ¿¼¿ñªÑ Σ½áúá ¡á ßΓѬÑ
- THEN goto éÄçéÉÇÆ æÆàèÇ è Éàåêîô éêÉÆôÇï£ìÄîô 8086
- ELSE goto éÄçéÉÇÆ æÆàèÇ.
- éÄçéÉÇÆ æÆàèÇ è Éàåêîô éêÉÆôÇï£ìÄîô 8086(ÅαÑαóá¡¡á∩ »α«µÑñπαá
- íδ½á ó αѪ¿¼Ñ ó¿αΓπá½∞¡«¼ 8086)
-
- - 255 -
- CPL ñ«½ªÑ¡=0 ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá).
- éÑαΦ¿¡á ßΓѬá 36 íá⌐Γ«ó πα«ó¡∩ 0 ñ«½ª¡á íδΓ∞ ó »αÑñѽáσ ELSE
- ÄΓ¬áº ßΓѬá (¬«ñ «Φ¿í¬¿ 0000h)
- éδ»«½¡¿Γ∞ ó«ºóαáΓ CS ßÑ½Ñ¬Γ«αá ¿ ß««ΓóÑΓßΓóπεΘÑú« ñÑß¬α¿»Γ«αá:
- æÑ½Ñ¬Γ«α ¡Ñ ñ«½ªÑ¡ íδΓ∞ ¡π½Ñ¼ ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ ßÑú¼Ñ¡Γ ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá).
- DPL ßÑú¼Ñ¡Γá ¬«ñá ñ«½ªÑ¡ = 3 ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- æÑú¼Ñ¡Γ ¬«ñá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá)
- éδ»«½¡¿Γ∞ SS ßÑ½Ñ¬Γ«α ó«ºóαáΓá ¿ ß««ΓóÑΓßΓóπεΘÑú« ñÑß¬α¿»Γ«αá:
- æÑ½Ñ¬Γ«α ¡Ñ ñ«½ªÑ¡ íδΓ∞ ¡π½Ñ¼ ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßΓѬá).
- RPL ßÑ½Ñ¬Γ«α ñ«½ªÑ¡ = RPL ßÑ½Ñ¬Γ«αá ó«ºóαáΓá ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßΓѬá).
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ αáºαÑΦÑ¡¿Ñ ºá»¿ß¿
- ßÑú¼Ñ¡Γá ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßΓѬá).
- DPL ßÑú¼Ñ¡Γá ßΓѬá ñ«½ªÑ¡ = 3 ELSE ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- æÑú¼Ñ¡Γ ßΓѬá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá)
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- çáúαπº¿Γ∞ EFLAGS SS:[ESP+8] (ôßΓá¡áó½¿óáÑΓß∩ Σ½áú αѪ¿¼á
- ó¿αΓπá½∞¡«ú« 8086 (VM) ó
- »αÑαδóáѼ«⌐ »α«úαá¼¼Ñ)
- EIP := Pop().
- CS :=Pop().(CS ¿ óßÑ ñαπú¿Ñ óѽ¿τ¿¡δ αÑú¿ßΓαá ßÑú¼Ñ¡Γá,
- ß¡∩ΓδÑ ß« ßΓѬá, óÑñπΓ ßÑí∩ Γ«τ¡« Γá¬ªÑ ¬á¬ ó 8086
- »α¿ VM=1)
- throwaway := Pop(). (éδíα«ß πªÑ ºáúαπªÑ¡¡«ú« EFLAGS)
- ES := Pop(). (æ¡∩Γ∞ ß« ßΓѬá 4 íá⌐Γá, óδíα«ß¿Γ∞ 2 óÑασ¡¿σ íá⌐Γá)
- DS := Pop(). (æ¡∩Γ∞ ß« ßΓѬá 4 íá⌐Γá, óδíα«ß¿Γ∞ 2 óÑασ¡¿σ íá⌐Γá)
- FS := Pop(). (æ¡∩Γ∞ ß« ßΓѬá 4 íá⌐Γá, óδíα«ß¿Γ∞ 2 óÑασ¡¿σ íá⌐Γá)
- GS := Pop(). (æ¡∩Γ∞ ß« ßΓѬá 4 íá⌐Γá, óδíα«ß¿Γ∞ 2 óÑασ¡¿σ íá⌐Γá)
- IF CS.RPL > CPL
- THEN
- TempESP := Pop().
- TempSS := Pop().
- SS:ESP := TempSS:TempESP.
- éÄçéÉÇÆ çÇäÇùê:
- éδ»«½¡¿Γ∞ æÑ½Ñ¬Γ«α ÄíαáΓ¡«⌐ æó∩º¿ ó TSS, áñαÑßß«óá¡¡δ⌐ ΓѬπΘ¿¼
- ÉÑú¿ßΓα«¼ çáñáτ (TR):
- 䫽ªÑ¡ ú½«íá½∞¡« «»¿ßδóáΓ∞ß∩ ó í¿ΓÑ ¿¡ñ¿¬áΓ«αá
- ú½«íá½∞¡«/½«¬á½∞¡«⌐ Γáí½¿µδ (TI) ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐
- TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- ê¡ñÑ¬ß ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ GDT ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐
- TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «»¿ßδóáΓ∞ æÑú¼Ñ¡Γ æ«ßΓ«∩¡¿∩
- çáñáτ¿ ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- TSS).
-
- - 256 -
- ì«óδ⌐ TSS ñ«½ªÑ¡ íδΓ∞ ºá¡∩Γ ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- çáñáτá ñ«½ª¡á ßπΘÑßΓó«óáΓ∞ ELSE ¿ß¬½ετÑ¡¿Ñ "äá¡¡δÑ «ΓßπΓßΓóπεΓ"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- ÅàÉàèï₧ùÇàî¢à çÇäÇùê íѺ 󽫪ѡ¿∩ ºáñáτ¿, ¡á TSS, «»αÑñѽ∩Ѽδ⌐
- ßÑ½Ñ¬Γ«α«¼ «íαáΓ¡«⌐ ßó∩º¿.
- ÄΓ¼ÑΓ¿Γ∞ ºáñáτπ, ¿º ¬«Γ«α«⌐ Γ«½∞¬« τΓ« óδΦ½¿, ¬á¬ ìàçÇìƒÆô₧.
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- éÄçéÉÇÆ æÆàèÇ:
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN 3-Ñ ß½«ó« ¡á ßΓÑ¬Ñ ñ«½ª¡« íδΓ∞ ó »αÑñѽáσ ßΓѬá ELSE
- ¿ß¬½ετÑ¡¿Ñ "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h)
- ELSE 2-Ñ ß½«ó« ¡á ßΓÑ¬Ñ ñ«½ª¡« íδΓ∞ ó »αÑñѽáσ ßΓѬá ELSE
- ¿ß¬½ετÑ¡¿Ñ "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h)
- 髺óαáΓ RPL ßÑ½Ñ¬Γ«αá CS ñ«½ªÑ¡ íδΓ∞ > CPL ê߬½ετÑ¡¿Ñ "»«
- ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- IF RPL ßÑ½Ñ¬Γ«αá ó«ºóαáΓá = CPL
- THEN goto éÄçéÉÇÆ è ÆÇèÄîô åà ôÉÄéì₧
- ELSE goto éÄçéÉÇÆ è é¢òÄäìÄîô ôÉÄéì₧ (ó«ºóαáΓ ¬ πα«ó¡ε
- ¼Ñ¡∞ΦÑ⌐ »α¿ó¿½Ñú¿¿)
- éÄçéÉÇÆ è ÆÇèÄîô åà ôÉÄéì₧:
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN
- éÑασ¡¿Ñ 12 íá⌐Γ ¡á ßΓÑ¬Ñ ñ«½ª¡δ íδΓ∞ ó »αÑñѽáσ ELSE ¿ß¬½ετÑ¡¿Ñ
- "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h).
- 髺óαáΓ ßÑ½Ñ¬Γ«αá CS (¡á ESP+4) ¡Ñ ñ«½ªÑ¡ íδΓ∞ ¡π½Ñ¼
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ELSE
- éÑασ¡¿Ñ 6 íá⌐Γ ¡á ßΓÑ¬Ñ ñ«½ª¡δ íδΓ∞ ó »αÑñѽáσ ELSE ¿ß¬½ετÑ¡¿Ñ
- "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h).
- 髺óαáΓ ßÑ½Ñ¬Γ«αá CS (¡á ESP+2) ¡Ñ ñ«½ªÑ¡ íδΓ∞ ¡π½Ñ¼
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Ñú« Γáí½¿µδ ñÑß¬α¿»Γ«αá
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá)
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ ßÑú¼Ñ¡Γ ¬«ñá ELSE
- ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá).
- IF ¡Ñß««ΓóÑΓßΓóπεΘ¿⌐ ßÑú¼Ñ¡Γ ¬«ñá
- THEN DPL ßÑú¼Ñ¡Γá ¬«ñá ñ«½ªÑ¡ = CPL ELSE ¿ß¬½ετÑ¡¿Ñ "»«
- ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- IF ß««ΓóÑΓßΓóπεΘ¿⌐ ßÑú¼Ñ¡Γ ¬«ñá
- THEN DPL ßÑú¼Ñ¡Γá ¬«ñá ñ«½ªÑ¡ íδΓ∞ > CPL ELSE ¿ß¬½ετÑ¡¿Ñ "»«
- ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- æÑú¼Ñ¡Γ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ «ΓßπΓßΓóπεΓ"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá)
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000).
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN
- æ¡∩Γ∞ ß« ßΓѬá CS:EIP.
- çáúαπº¿Γ∞ ¬φΦ ñÑß¬α¿»Γ«αá CS ¡«óδ¼ ñÑß¬α¿»Γ«α«¼ ßÑú¼Ñ¡Γá ¬«ñá.
- çáúαπº¿Γ∞ EFLAGS 3-¿¼ DWORD ¿º ßΓѬá.
- ôóѽ¿τ¿Γ∞ ESP ¡á 12, τΓ«íδ πτÑßΓ∞ óѽ¿τ¿¡δ, ß¡∩ΓδÑ ß« ßΓѬá.
- ELSE
-
- - 257 -
- çáúαπº¿Γ∞ ¬φΦ ñÑß¬α¿»Γ«αá CS ¡«óδ¼ ñÑß¬α¿»Γ«α«¼ ßÑú¼Ñ¡Γá ¬«ñá.
- çáúαπº¿Γ∞ EFLAGS 3-¿¼ DWORD ¡á ßΓѬÑ.
- ôóѽ¿τ¿Γ∞ SP ¡á 6.
- éÄçéÉÇÆ è é¢òÄäìÄîô ôÉÄéì₧:
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN
- éÑασ¡¿Ñ 20 íá⌐Γ ¡á ßΓÑ¬Ñ ñ«½ª¡δ íδΓ∞ ó »αÑñѽáσ ELSE ¿ß¬½ετÑ¡¿Ñ
- "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h).
- ELSE
- éÑασ¡¿Ñ 10 íá⌐Γ ¡á ßΓÑ¬Ñ ñ«½ª¡δ íδΓ∞ ó »αÑñѽáσ ELSE ¿ß¬½ετÑ¡¿Ñ
- "ÄΓ¬áº ßΓѬá" (¬«ñ «Φ¿í¬¿ 0000h).
- éδ»«½¡¿Γ∞ ó«ºóαáΓ CS ßÑ½Ñ¬Γ«αá ¿ ß««ΓóÑΓßΓóπεΘÑú« ñÑß¬α¿»Γ«αá:
- æÑ½Ñ¬Γ«α ¡Ñ ñ«½ªÑ¡ íδΓ∞ 0 ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Ñú« Γáí½¿µδ ñÑß¬α¿»Γ«αá
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá)
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ ßÑú¼Ñ¡Γ ¬«ñá ELSE
- ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá).
- IF ¡Ñß««ΓóÑΓßΓóπεΘ¿⌐ ßÑú¼Ñ¡Γ ¬«ñá
- THEN DPL ßÑú¼Ñ¡Γá ¬«ñá ñ«½ªÑ¡ = CS ßÑ½Ñ¬Γ«αá RPL ELSE ¿ß¬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- IF ß««ΓóÑΓßΓóπεΘ¿⌐ ßÑú¼Ñ¡Γ ¬«ñá
- THEN DPL ßÑú¼Ñ¡Γá ¬«ñá ñ«½ªÑ¡ íδΓ∞ < CPL ELSE ¿ß¬½ετÑ¡¿Ñ "»«
- ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá).
- æÑú¼Ñ¡Γ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ «ΓßπΓßΓóπεΓ"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá)
- éδ»«½¡¿Γ∞ ó«ºóαáΓ CS ßÑ½Ñ¬Γ«αá ¿ ß««ΓóÑΓßΓóπεΘÑú« ñÑß¬α¿»Γ«αá:
- æÑ½Ñ¬Γ«α ¡Ñ ñ«½ªÑ¡ íδΓ∞ 0 ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐
- ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ELSE ¿ß¬½ετÑ¡¿Ñ "»«
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßΓѬá)
- æÑ½Ñ¬Γ«α RPL ñ«½ªÑ¡ = RPL ßÑ½Ñ¬Γ«αá ó«ºóαáΓá ELSE ¿ß¬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßΓѬá)
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ αáºαÑΦÑ¡¿Ñ ºá»¿ß¿
- ßÑú¼Ñ¡Γá ¬«ñá ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ (¬«ñ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßΓѬá).
- DPL ßÑú¼Ñ¡Γá ßΓѬá ñ«½ªÑ¡ = RPL ó«ºóαáΘáѼ«ú« CS ßÑ½Ñ¬Γ«αá RPL
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ó«ºóαáΓá).
- æÑú¼Ñ¡Γ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ «ΓßπΓßΓóπεΓ"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ó«ºóαáΓá)
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000).
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN
- çáúαπº¿Γ∞ CS:EIP ¿º ßΓѬá.
- çáúαπº¿Γ∞ EFLAGS óѽ¿τ¿¡á¼¿ ó SS:[ESP + 8].
- ELSE
- çáúαπº¿Γ∞ CS:IP ¿º ßΓѬá.
- çáúαπº¿Γ∞ EFLAGS óѽ¿τ¿¡á¼¿ ó SS:[SP + 4].
- çáúαπº¿Γ∞ CS:EIP ¿º ßΓѬá.
- ôßΓá¡«ó¿Γ∞ CPL ó RPL ó«ºóαáΘáѼ«ú« CS ßÑ½Ñ¬Γ«αá
- çáúαπº¿Γ∞ ¬φΦ ñÑß¬α¿»Γ«αá CS ñÑß¬α¿»Γ«α«¼ CS.
- çáúαπº¿Γ∞ ¬φΦ ñÑß¬α¿»Γ«αá SS ñÑß¬α¿»Γ«α«¼ SS.
- FOR ¬áªñ«ú« ES,FS,GS,DS
- DO
-
- - 258 -
- IF óѽ¿τ¿¡á ΓѬπΘÑú« RPL αÑú¿ßΓαá ßÑú¼Ñ¡Γá ¡ÑóÑα¡á
- (¡ÑñÑ⌐ßΓó¿Γѽ∞¡á) ñ½∩ ¿ß»«½∞º«óá¡¿∩ ¡á óδσ«ñ¡«¼ πα«ó¡Ñ
- THEN «í¡π½¿Γ∞ αÑú¿ßΓα ßÑú¼Ñ¡Γá ¿ «τ¿ßΓ¿Γ∞ ß««ΓóÑΓßΓóπεΘ¿Ñ
- óÑα¡δÑ í¿Γδ Σ½áúá.
- ä½∩ Γ«ú« τΓ«íδ íδΓ∞ »αáó¿½∞¡δ¼, πßΓá¡áó½¿óáεΘ¿⌐ αÑú¿ßΓα ñ«½ªÑ¡
- ß««ΓóÑΓßΓó«óáΓ∞ ß½ÑñπεΘ¿¼ ΓαÑí«óá¡¿∩¼:
- ê¡ñÑ¬ß ßÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ñÑß¬α¿»Γ«αá,
- üá⌐Γ Åαáóá ä«ßΓπ»á (AR) ñ«½ªÑ¡ «º¡áτáΓ∞ ßÑú¼Ñ¡Γ ñá¡¡δσ ¿½¿
- τ¿ΓáѼδ⌐ ßÑú¼Ñ¡Γ ¬«ñá,
- IF ßÑú¼Ñ¡Γ-φΓ« ñá¡¡δÑ ¿½¿ ¡Ñß««ΓóÑΓßΓóπεΘ¿⌐ ¬«ñ, THEN DPL
- ñ«½ªÑ¡ íδΓ∞ > CPL ¿½¿ DPL ñ«½ªÑ¡ íδΓ∞ > RPL.
- öïÇâê:
- ö½áú¿ ¡Ñ ºáñÑ⌐ßΓóπεΓß∩ ñ« ΓÑσ »«α, »«¬á »ÑαѬ½ετáΓѽ∞ ºáñáτ ¡Ñ
- «¬áªÑΓß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ÅαÑαδóá¡¿Ñ 13 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá ó »á¼∩Γ¿
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼, í«½∞Φ¿¼, τѼ FFFFh ó ßÑú¼Ñ¡Γáσ
- CS, DS, ES, FS ¿½¿ GS. ÅαÑαδóá¡¿Ñ 12 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩
- τáßΓ∞ «»Ñαá¡ñá ó »á¼∩Γ¿ ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼,
- í«½∞Φ¿¼, τѼ FFFFh ó ßΓѬ«ó«¼ ßÑú¼Ñ¡ΓÑ SS.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¿ß¬½ετÑ¡¿Ñ
- 13) ¿ñÑΓ ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ «»Ñαá¡ñ«ó ßÑú¼Ñ¡Γ«ó »á¼∩Γ¿
- CS, DS, ES, FS ¿½¿ GS, Ñß½¿ «»Ñαá¡ñ ¿ßΓ«τ¡¿¬á ∩ó½∩ÑΓß∩
- ¡Ñτ¿ΓáÑ¼δ¼ ßÑú¼Ñ¡Γ«¼ ¬«ñá, ¿½¿ Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá.
- ê߬½ετÑ¡¿Ñ ßΓÑ¬á ¿ñÑΓ ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ «»Ñαá¡ñ«ó ó
- ßÑú¼Ñ¡ΓÑ ßΓѬá, Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá ∩ó½∩ÑΓß∩
- ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá. ê߬½ετÑ¡¿Ñ ßΓѬá ß
- ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ SS ¿ ¼áનα«óá¡, ¬á¬ «ΓßπΓßΓóπεΘ¿⌐.
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ" (¿ß¬½ετÑ¡¿Ñ 11)
- ¿¼ÑÑΓ ¼ÑßΓ« ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ DS, ES, FS, GS ¿ «Γ¼ÑτÑ¡
- ¡ÑßπΘÑßΓóπεΘ¿¼. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ"
- ¿¼ÑÑΓ ¼ÑßΓ« ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ DS, ES, FS, GS ¿ «Γ¼ÑτÑ¡
- ¡ÑßπΘÑßΓóπεΘ¿¼. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº ßΓαá¡¿µδ"
- (¿ß¬½ετÑ¡¿Ñ 14) ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼
- «Γ¬áºá ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ æÑú¼Ñ¡Γá
- æ«ßΓ«∩¡¿∩ çáñáτ (¿ß¬½ετÑ¡¿Ñ 10) ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ñ½∩
- ¡Ñß«ú½áß«óá¡¡«ßΓÑ⌐ ó æÑú¼Ñ¡ΓÑ æ«ßΓ«∩¡¿∩ çáñáτ ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿
- ºáñÑ⌐ßΓó«óá¡ »ÑαѬ½ετáΓѽ∞ ºáñáτ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« ¿¼ÑεΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ 0. ö«α¼áΓ ßΓѬá ß πα«ó¡Ñ¼ »α¿ó¿½Ñú¿¿
- 0 »«ß½Ñ ¿ß¬½ετÑ¡¿∩ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿ »αÑαδóá¡¿∩ (íѺ ¬«ñá
- «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß.12.2.Æá¬ªÑ ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº"
- ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá
- ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
-
- - 259 -
- ╔══════════════════════════════════════════╗
- ║JCC ÅÑαÑσ«ñ »α¿ πß½«ó¿¿ "¿ßΓ¿¡á"║
- ╚══════════════════════════════════════════╝
- öÄÉîÇÆ:
- JCC ū߽Ññ«óáΓѽ∞¡«ßΓ∞
- íá⌐Γ(«ó)
- íá⌐Γ 0 íá⌐Γ 1
- 8-í¿Γ«ó«Ñ 0111cccc 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ
- ß¼ÑΘÑ¡¿Ñ
- Å«½¡«Ñ ß¼ÑΘÑ¡¿Ñ 00001111 1000ßßßß
-
- C C C C ôß½«ó¿Ñ
- 0 0 0 0 ÅÑαÑ»«½¡Ñ¡¿Ñ
- 0 0 0 1 ìÑΓ »ÑαÑ»«½¡Ñ¡¿∩
- 0 0 1 0 쿪Ñ/ìÑ óδΦÑ ¿½¿ Éáó¡«
- 0 0 1 1 ìÑ ¡¿ªÑ/éδΦÑ ¿½¿ Éáó¡«
- 0 1 0 0 Éáó¡«/쫽∞
- 0 1 0 1 ìÑ αáó¡«/ìÑ ¡«½∞
- 0 1 1 0 ì¿ªÑ ¿½¿ Éáó¡«/ìÑ óδΦÑ
- 0 1 1 1 ìÑ ¡¿ªÑ ¿½¿ Éáó¡«/éδΦÑ
- 1 0 0 0 ç¡á¬/ÄΓα¿µáΓѽ∞¡δ⌐
- 1 0 0 1 ìÑ º¡á¬/Å«½«ª¿Γѽ∞¡δ⌐
- 1 0 1 0 Åáα¿ΓÑΓ/ùÑΓ¡δ⌐ »áα¿ΓÑΓ
- 1 0 1 1 ìÑ »áα¿ΓÑΓ/ìÑτÑΓ¡δ⌐ »áα¿ΓÑΓ
- 1 1 0 0 îÑ¡∞ΦÑ/ìÑ í«½∞ΦÑ ¿½¿ Éáó¡«
- 1 1 0 1 ìÑ ¼Ñ¡∞ΦÑ/ü«½∞ΦÑ ¿½¿ Éáó¡«
- 1 1 1 0 îÑ¡∞ΦÑ ¿½¿ Éáó¡«/ìÑ í«½∞ΦÑ
- 1 1 1 1 ìÑ ¼Ñ¡∞ΦÑ ¿½¿ Éáó¡«/ü«½∞ΦÑ
-
- öôìèûêƒ:
- IF (CONDITION = TRUE) THEN
- EIP <-- EIP + DISPLACEMENT; (ÅαÑ«íαẫóáΓ∞ óÑΓó∞, Ñß½¿
- πß½«ó¿Ñ ¿ßΓ¿¡¡«)
-
- ÄÅêæÇìêà:
- JCC «íÑß»Ñτ¿óáÑΓ πß½«ó¡«Ñ «ΓóÑΓó½Ñ¡¿Ñ ó¡πΓα¿ ßÑú¼Ñ¡Γá ΓѬπΘÑú«
- ¬«ñá. àß½¿ πß½«ó¿Ñ óÑα¡«, ß¼ÑΘÑ¡¿Ñ, ñá¡¡«Ñ ¬á¬ «»Ñαá¡ñ,
- ñ«íáó½∩ÑΓß∩ ¬ π¬áºáΓÑ½ε ¬«¼á¡ñδ ñ½∩ Γ«ú«, τΓ«íδ ¡áτáΓ∞
- óδ»«½¡Ñ¡¿Ñ »α¿ ¡«ó«¼ «ΣßÑΓÑ. çá¼ÑΓ¿¼, τΓ« ß¼ÑΘÑ¡¿Ñ «»Ñαá¡ñá -
- φΓ« ¿½¿ 8-í¿Γ«ó«Ñ º¡á¬«ó«Ñ τ¿ß½«, ¿½¿ »«½¡«Ñ τ¿ß½« º¡á¬«ó«ú«
- «ΣßÑΓá, »α¿ φΓ«¼ »«½¡δ⌐ «ΣßÑΓ ∩ó½∩ÑΓß∩ 16-í¿Γ«óδ¼, Ñß½¿ αẼÑα
- áñαÑßá-16 í¿Γ, ¿½¿ 32-í¿Γ«óδ¼, Ñß½¿ αẼÑα áñαÑßá-32 í¿Γá. Æ.«.
- »«½¡δÑ ß¼ÑΘÑ¡¿∩ »«ºó«½∩εΓ »ÑαÑσ«ñδ óѺñÑ ó ßÑú¼Ñ¡ΓÑ ΓѬπΘÑú«
- ¬«ñá.
- ū߬«½∞¬π φΓ¿ ¬«¼á¡ñδ πß½«ó¡δσ »ÑαÑσ«ñ«ó ¼«úπΓ αáºóÑΓó½∩Γ∞ß∩
- Γ«½∞¬« ó¡πΓα¿ ßÑú¼Ñ¡Γá, αÑú¿ßΓα ¬«ñá ßÑú¼Ñ¡Γá ¡Ñ ºáñÑ⌐ßΓó«óá¡.
-
- - 260 -
- ÅÉêîàÉ:
- JNE LABEL_D
- öïÇâê:
- ö½áú¿ ¡Ñ ºáñÑ⌐ßΓó«óá¡δ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ÅαÑαδóá¡¿Ñ 13 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩ τáßΓ∞ ¬«¼á¡ñδ »α¿Ñ¼¡¿¬á
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼, í«½∞Φ¿¼, τѼ FFFFh ó ßÑú¼Ñ¡ΓÑ
- CS.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¿ß¬½ετÑ¡¿Ñ 13)
- ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ »α¿Ñ¼¡¿¬á ó ßÑú¼Ñ¡ΓÑ »á¼∩Γ¿ CS ¿¼ÑÑΓ
- ¼ÑßΓ«, Ñß½¿ Ñß½¿ ½εíá∩τáßΓ∞ ¬«¼á¡ñδ »α¿Ñ¼¡¿¬á ∩ó½∩ÑΓß∩
- ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá. ê߬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ" (¿ß¬½ετÑ¡¿Ñ 11) ß ¬«ñ«¼ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ «»Ñαá¡ñ ó »á¼∩Γ¿ «í«º¡áτÑ¡
- ó ßÑú¼Ñ¡ΓÑ CS, ¬á¬ «ΓßπΓßΓóπεΘ¿⌐.
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº ßΓαá¡¿µδ" (¿ß¬½ετÑ¡¿Ñ 14) ß ¬«ñ«¼
- «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá ¡áσ«ñ¿Γß∩ ó
- αÑú¿ßΓαÑ CR2.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« ¿¼ÑεΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ 0. ö«α¼áΓ ßΓѬá ß πα«ó¡Ñ¼ »α¿ó¿½Ñú¿¿
- 0 »«ß½Ñ ¿ß¬½ετÑ¡¿∩ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿ »αÑαδóá¡¿∩ (íѺ ¬«ñá
- «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß.12.2.Æá¬ªÑ ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº"
- ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá
- ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
- ╔═══════════════════════════════════╗
- ║JCXZ/JECXZ ÅÑαÑσ«ñ, Ñß½¿ CX/ECX 0║
- ╚═══════════════════════════════════╝
- öÄÉîÇÆ:
- JCXZ/JECXZ
- üá⌐Γ 0 üá⌐Γ 1
- 8-í¿Γ«ó«Ñ ┌───────────┐
- ß¼ÑΘÑ¡¿Ñ │ 11100011 │8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ
- └───────────┘
- öôìèûêƒ:
- IF (ECX = 0) THEN
- EIP <-- EIP + DISPLACEMENT; (æ¼ÑΘÑ¡¿Ñ «ßπΘÑßΓó½∩ÑΓß∩
- Γ«½∞¬« 8 í¿ΓἿ)
-
- ÄÅêæÇìêà:
- JECXZ/JCXZ «íÑß»Ñτ¿óáÑΓ πß½«ó¡«Ñ αáºóÑΓó½Ñ¡¿Ñ ó¡πΓα¿ ßÑú¼Ñ¡Γá
- ΓѬπΘÑú« ¬«ñá ¡á íáºÑ αÑú¿ßΓαá ECX ¿½¿ CX (ó ºáó¿ß¿¼«ßΓ¿ «Γ
- αẼÑαá «»Ñαá¡ñá). àß½¿ ß«ßΓ«∩¡¿Ñ αÑú¿ßΓαá-0, Γ« ß¼ÑΘÑ¡¿Ñ,
- ñá¡¡«Ñ ¬á¬ «»Ñαá¡ñ, ñ«íáó½∩ÑΓß∩ ¬ π¬áºáΓÑ½ε ¬«¼á¡ñδ ñ½∩ Γ«ú«,
-
- - 261 -
- τΓ«íδ ¡áτáΓ∞ óδ»«½¡Ñ¡¿Ñ ¡«ó«ú« «ΣßÑΓá. çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ«
- ß¼ÑΘÑ¡¿Ñ »αÑñßΓáó½∩ÑΓ ß«í«⌐ 8-í¿Γ«ó«Ñ º¡á¬«ó«Ñ τ¿ß½«,
- «úαá¡¿τ¿óáεΘÑÑ ß¼ÑΘÑ¡¿Ñ ñ¿á»áº«¡«¼ «Γ -128 ñ« +127.
- Æ.¬. φΓá ¬«¼á¡ñá πß½«ó¡«ú« »ÑαÑσ«ñá ¼«ªÑΓ óÑΓó¿Γ∞ß∩ Γ«½∞¬«
- ó¡πΓα¿ ßÑú¼Ñ¡Γá, αÑú¿ßΓα ßÑú¼Ñ¡Γá ¬«ñá ¡Ñ ºáñÑ⌐ßΓó«óá¡.
-
- ÅÉêîàÉ:
- JECXZ LABEL_E
- öïÇâê:
- ö½áú¿ ¡Ñ ºáñÑ⌐ßΓó«óá¡δ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ÅαÑαδóá¡¿Ñ 13 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩ τáßΓ∞ ¬«¼á¡ñδ »α¿Ñ¼¡¿¬á
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼, í«½∞Φ¿¼, τѼ FFFFh ó ßÑú¼Ñ¡ΓÑ
- CS.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¿ß¬½ετÑ¡¿Ñ 13)
- ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ »α¿Ñ¼¡¿¬á ó ßÑú¼Ñ¡ΓÑ »á¼∩Γ¿ CS ¿¼ÑÑΓ
- ¼ÑßΓ«, Ñß½¿ Ñß½¿ ½εíá∩τáßΓ∞ ¬«¼á¡ñδ »α¿Ñ¼¡¿¬á ∩ó½∩ÑΓß∩
- ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá. ê߬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ" (¿ß¬½ετÑ¡¿Ñ 11) ß ¬«ñ«¼ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ «»Ñαá¡ñ ó »á¼∩Γ¿ «í«º¡áτÑ¡
- ó ßÑú¼Ñ¡ΓÑ CS, ¬á¬ «ΓßπΓßΓóπεΘ¿⌐.
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº ßΓαá¡¿µδ" (¿ß¬½ετÑ¡¿Ñ 14) ß ¬«ñ«¼
- «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá ¡áσ«ñ¿Γß∩ ó
- αÑú¿ßΓαÑ CR2.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« ¿¼ÑεΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ 0. ö«α¼áΓ ßΓѬá ß πα«ó¡Ñ¼ »α¿ó¿½Ñú¿¿
- 0 »«ß½Ñ ¿ß¬½ετÑ¡¿∩ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿ »αÑαδóá¡¿∩ (íѺ ¬«ñá
- «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß.12.2.Æá¬ªÑ ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº"
- ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá
- ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
-
- - 262 -
- ╔═══════════════════════════════════════════════════════╗
- ║JMP ÅÑαÑσ«ñ ¬ ¬«ñπ (¿½¿ ¬ ºáñáτÑ ó çáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ)║
- ╚═══════════════════════════════════════════════════════╝
- öÄÉîÇÆ:
- JMP ū߽Ññ«óáΓѽ∞¡«ßΓ∞
- íá⌐Γ(«ó)
- íá⌐Γ 0 íá⌐Γ 1
- Åα∩¼«Ñ,¬«α«Γ¬«Ñ 1 1 1 0 1 0 1 1 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ
- ß¼ÑΘÑ¡¿Ñ
- Åα∩¼«Ñ Å«½¡«Ñ ß¼ÑΘÑ¡¿Ñ 1 1 1 0 1 0 0 1 Å«½¡«Ñ ß¼ÑΘÑ¡¿Ñ
- è«ßóÑ¡¡δ⌐ »« áíß«½εΓ¡«- 1 1 1 1 1 1 1 1 mod: 1 0 0 : r/m
- ¼π «ΣßÑΓπ
- Åα∩¼«⌐ 1 1 1 0 1 0 1 0 Çíß«½εΓ¡δ⌐ «ΣßÑΓ,
- îѪßÑú¼Ñ¡Γ¡δ⌐ æÑ½Ñ¬Γ«α ßÑú¼Ñ¡Γá
- è«ßóÑ¡¡δ⌐ 1 1 1 1 1 1 1 1 mod: 1 0 1 : r/m
- ¼ÑªßÑú¼Ñ¡Γ¡δ⌐
-
- öôìèûêƒ:
- RELOAD EIP FROM OPERAND;
- RELOAD CS FROM OPERAND;
-
- ÄÅêæÇìêà:
- JMP ó¡πΓα¿ ßÑú¼Ñ¡Γá ΓѬπΘÑú« ¬«ñá ¼«ñ¿Σ¿µ¿απÑΓ π¬áºáΓѽ∞ ¬«¼á¡ñδ
- ñ½∩ Γ«ú«, τΓ«íδ ¡áτáΓ∞ óδ»«½¡Ñ¡¿Ñ ¡«ó«ú« «ΣßÑΓá. è«úñá JMP
- óδ»«½¡∩ÑΓß∩ ó¡πΓα¿ ßÑú¼Ñ¡Γá ΓѬπΘÑú« ¬«ñá, αÑú¿ßΓα ßÑú¼Ñ¡Γá ¬«ñá
- ¡Ñ ºáñÑ⌐ßΓó«óá¡.
- è«úñá ¼ÑªßÑú¼Ñ¡Γ¡δ⌐ JMP 󫺡¿¬áÑΓ ó αÑá½∞¡«¼ αѪ¿¼Ñ ¿½¿ ó αѪ¿¼Ñ
- ó¿αΓπá½∞¡«¼ 8086, π¬áºáΓѽ∞ ¬«¼á¡ñδ ¿ αÑú¿ßΓα ßÑú¼Ñ¡Γá ¬«ñá «íá
- ºá¼Ñ¡∩εΓß∩ óѽ¿τ¿¡á¼¿ «»Ñαá¡ñá, τΓ«íδ ¡áτáΓ∞ óδ»«½¡Ñ¡¿Ñ ó
- »«ñ»α«úαá¼¼Ñ.
- è«úñá JMP ¿¼ÑÑΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, ñÑ⌐ßΓó¿∩, óδ»«½¡∩ѼδÑ
- 80386, ¼«úπΓ íδΓ∞ ñ«ó«½∞¡« ß½«ª¡δ¼¿, ß«ú½áß¡« «ñ¡«¼π ¿º
- ß«ßΓ«∩¡¿⌐ ßÑ½Ñ¬Γ«αá »α¿Ñ¼¡¿¬á:
- 1.ßÑú¼Ñ¡Γ ¬«ñá ¡áσ«ñ¿Γß∩ ¡á ΓѬπΘѼ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ (DPL=CPL),
- 2.ßÑú¼Ñ¡Γ ß«ú½áß«óá¡¡«ú« ¬«ñá ¡áσ«ñ¿Γß∩ ¡á í«½ÑÑ
- »α¿ó¿½Ñú¿α«óá¡¡«¼ πα«ó¡Ñ (DPL < CPL),
- 3.»ÑαѬ½ετáΓѽ∞ ó맮óá,
- 4.ßÑú¼Ñ¡Γ ß«ßΓ«∩¡¿∩ ºáñáτ¿ ¿½¿
- 5.»ÑαѬ½ετáΓѽ∞ ºáñáτ¿.
-
- ÅÉêîàÉ:
- JMP LABEL_A
- äàÆÇïê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- JMP çÇÖêÖàììÄâÄ ÉàåêîÇ è æàâîàìÆô ìàæÄÄÆéàÆæÆéô₧ÖàâÄ (Γ.Ñ.
- αÑúπ½∩α¡«ú«) èÄäÇ:
-
- - 263 -
- RPL ßÑ½Ñ¬Γ«αá »α¿Ñ¼¡¿¬á ñ«½ªÑ¡ íδΓ∞ τ¿ß½Ñ¡¡« < CPL ELSE
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- äÑß¬α¿»Γ«α DPL ñ«½ªÑ¡ íδΓ∞ τ¿ß½Ñ¡¡« = CPL ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- æÑ½Ñ¬Γ«α ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ßó«Ñú« ñÑß¬α¿»Γ«αá
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ßÑú¼Ñ¡Γá ¬«ñá)
- æÑú¼Ñ¡Γ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ «ΓßπΓßΓóπεΓ"
- (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- çáúαπº¿Γ∞ ñÑß¬α¿»Γ«α ßÑú¼Ñ¡Γá ¬«ñá ó ¬φΦ ñÑß¬α¿»Γ«αá CS (¡Ñ
- ó¿ñ¿¼ ñ½∩ »α«úαá¼¼¿ßΓá).
- çáúαπº¿Γ∞ αÑú¿ßΓα CS ßÑ½Ñ¬Γ«α«¼ ßÑú¼Ñ¡Γá ¬«ñá.
- çáúαπº¿Γ∞ EIP ¡π½Ñóδ¼ αáßΦ¿αÑ¡¿Ñ¼ (¡«óδ⌐ «ΣßÑΓ).
- IF αẼÑα «»Ñαá¡ñá = 16 THEN EIP := EIP AND 0000FFFFh.
- ôßΓá¡«ó¿Γ∞ »«½Ñ RPL αÑú¿ßΓαá CS ó CPL.
- JMP çÇÖêÖàììÄâÄ ÉàåêîÇ è æàâîàìÆô æÄÄÆéàÆæÆéô₧ÖàâÄ èÄäÇ:
- DPL ñÑß¬α¿»Γ«α ñ«½ªÑ¡ íδΓ∞ τ¿ß½Ñ¡¡« < CPL ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- æÑ½Ñ¬Γ«α ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ßó«Ñú« ñÑß¬α¿»Γ«αá
- ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- ßÑú¼Ñ¡Γá ¬«ñá)
- ê¡ñÑ¬ß ßÑú¼Ñ¡Γá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- çáúαπº¿Γ∞ ñÑß¬α¿»Γ«α ßÑú¼Ñ¡Γá ¬«ñá ó ¬φΦ ñÑß¬α¿»Γ«αá CS (¡Ñ
- ó¿ñ¿¼ ñ½∩ »α«úαá¼¼¿ßΓá).
- çáúαπº¿Γ∞ αÑú¿ßΓα CS ßÑ½Ñ¬Γ«α«¼ ßÑú¼Ñ¡Γá ¬«ñá.
- çáúαπº¿Γ∞ EIP ¡π½Ñóδ¼ αáßΦ¿αÑ¡¿Ñ¼ (¡«óδ⌐ «ΣßÑΓ).
- IF αẼÑα «»Ñαá¡ñá = 16 THEN EIP := EIP AND 0000FFFFh.
- ôßΓá¡«ó¿Γ∞ »«½Ñ RPL αÑú¿ßΓαá CS ó CPL.
- JMP çÇÖêÖàììÄâÄ ÉàåêîÇ è ÅàÉàèï₧ùÇÆàï₧ é¢çÄéÇ:
- DPL »ÑαѬ½ετáΓѽ∩ ó맮óá ñ«½ªÑ¡ íδΓ∞ τ¿ß½Ñ¡¡« > CPL ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- »ÑαѬ½ετáΓѽ∩ ó맮óá).
- DPL »ÑαѬ½ετáΓѽ∩ ó맮óá ñ«½ªÑ¡ íδΓ∞ τ¿ß½Ñ¡¡« > RPL ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá
- »ÑαѬ½ετáΓѽ∩ ó맮óá).
- ÅÑαѬ½ετáΓѽ∞ ó맮óá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ
- "äá¡¡δÑ «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá »ÑαѬ½ετáΓѽ∩
- ó맮óá).
- éδ»«½¡¿Γ∞ »«¿ß¬ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá ó »ÑαѬ½ετáΓѽÑ
- ó맮óá:
- æÑ½Ñ¬Γ«α ¬«ñá ¡Ñ ñ«½ªÑ¡ íδΓ∞ ¡π½Ñ¼ ELSE ¿ß¬½ετÑ¡¿Ñ "»«
- ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- ê¡ñÑ¬ß æÑ½Ñ¬Γ«αá ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ Γáí½¿µδ ßó«Ñú«
- ñÑß¬α¿»Γ«αá ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ
- «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá)
- üá⌐Γ AR óδíαá¡¡«ú« ñÑß¬α¿»Γ«αá ñ«½ªÑ¡ «º¡áτáΓ∞ ßÑú¼Ñ¡Γ
- ¬«ñá ELSE ¿ß¬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿
- ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
-
- - 264 -
- IF ¡Ñß«ú½áß«óá¡¡δ⌐ ßÑú¼Ñ¡Γ ¬«ñá
- THEN
- DPL óδíαá¡¡«ú« ñÑß¬α¿»Γ«αá ñ«½ªÑ¡ íδΓ∞ < CPL ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá)
- ELSE
- DPL óδíαá¡¡«ú« ñÑß¬α¿»Γ«αá ñ«½ªÑ¡ íδΓ∞ < CPL ELSE ê߬½ετÑ¡¿Ñ
- "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá)
- ôßΓá¡«ó¿Γ∞ »«½Ñ RPL αÑú¿ßΓαá CS ó CPL.
- æÑú¼Ñ¡Γ ¬«ñá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ê߬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ"(¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¬«ñá).
- ô¬áºáΓѽ∞ ¬«¼á¡ñδ ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE
- ê߬½ετÑ¡¿Ñ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¬«ñ «Φ¿í¬¿ 0000h).
- IF αẼÑα «»Ñαá¡ñá = 32
- THEN çáúαπº¿Γ∞ CS:EIP ¿º »ÑαѬ½ετáΓѽ∩ ó맮óá.
- ELSE çáúαπº¿Γ∞ CS:IP ¿º »ÑαѬ½ετáΓѽ∩ ó맮óá.
- çáúαπº¿Γ∞ ñÑß¬α¿»Γ«α CS ó ¬φΦ ñÑß¬α¿»Γ«αá CS.
- ôßΓá¡«ó¿Γ∞ »«½Ñ RPL αÑú¿ßΓαá CS ó CPL.
- JMP çÇÖêÖàììÄâÄ ÉàåêîÇ è ÅàÉàèï₧ùÇÆàï₧ çÇäÇù:
- ÅÑαѬ½ετáΓѽ∞ ºáñáτ¿ DPL ñ«½ªÑ¡ íδΓ∞ > CPL ELSE ¿ß¬½ετÑ¡¿Ñ
- "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá »ÑαѬ½ετáΓѽ∩).
- ÅÑαѬ½ετáΓѽ∞ ó맮óá DPL ñ«½ªÑ¡ íδΓ∞ > RPL ELSE ¿ß¬½ετÑ¡¿Ñ
- "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá »ÑαѬ½ετáΓѽ∩).
- ÅÑαѬ½ετáΓѽ∞ ó맮óá ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ¿ß¬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá »ÑαѬ½ετáΓѽ∩).
- Åα«óÑα¿Γ∞ ßÑ½Ñ¬Γ«α TSS, ñá¡¡δ⌐ ó »ÑαѬ½ετáΓÑ½Ñ ºáñáτ:
- 䫽ªÑ¡ «Γ½¿τáΓ∞ß∩ Æáí½¿µá â½áíá½∞¡«ú« äÑß¬α¿»Γ«αá (GDT) ó í¿ΓÑ
- ê¡ñ¿¬áΓ«αá Æáí½¿µδ (TI) ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ
- «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- ê¡ñÑ¬ß ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ GDT ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐
- TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- üá⌐Γ Åαáóá ä«ßΓπ»á ñÑß¬α¿»Γ«αá TSS ñ«½ªÑ¡ íδΓ∞ ¡Ñºá¡∩Γ ELSE
- ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- æÑú¼Ñ¡Γ ß«ßΓ«∩¡¿∩ çáñáτ¿ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ¿ß¬½ετÑ¡¿Ñ
- "äá¡¡δÑ «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- ÅàÉàèï₧ùÇàî¢à çÇäÇùê íѺ 󽫪ѡ¿∩ ºáñáτ¿, ßíα«ß¿Γ∞ í¿Γ NT ó
- EFLAG) ñ½∩ ºáñáτ¿, ñá¡¡«⌐ ßÑ½Ñ¬Γ«α«¼ TSS.
- EIP ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE ¿ß¬½ετÑ¡¿Ñ
- "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ 0000h)
- JMP çÇÖêÖàììÄâÄ ÉàåêîÇ è æàâîàìÆô æÄæÆÄƒìêƒ çÇäÇùê:
- TSS DPL ñ«½ªÑ¡ íδΓ∞ > CPL ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ
- «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- TSS DPL ñ«½ªÑ¡ íδΓ∞ > RPL ELSE ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ
- «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- üá⌐Γ Åαáóá ä«ßΓπ»á ñÑß¬α¿»Γ«αá TSS ñ«½ªÑ¡ íδΓ∞ ¡Ñºá¡∩Γ TSS ELSE
- ¿ß¬½ετÑ¡¿Ñ "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá TSS).
- ÅÑαѬ½ετáΓѽ∞ ºáñáτ ñ«½ªÑ¡ ßπΘÑßΓó«óáΓ∞ ELSE ¿ß¬½ετÑ¡¿Ñ "äá¡¡δÑ
- «ΓßπΓßΓóπεΓ" (¬«ñ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá »ÑαѬ½ετáΓѽ∩).
-
- - 265 -
- ÅàÉàèï₧ùÇàî¢à çÇäÇùê íѺ 󽫪ѡ¿∩ ºáñáτ¿, ßíα«ß¿Γ∞ í¿Γ NT ó
- EFLAG) ñ½∩ ºáñáτ¿, ñá¡¡«⌐ ßÑ½Ñ¬Γ«α«¼ TSS.
- EIP ñ«½ªÑ¡ íδΓ∞ ó »αÑñѽáσ ßÑú¼Ñ¡Γá ¬«ñá ELSE ¿ß¬½ετÑ¡¿Ñ
- "¡Ññ«»πßΓ¿¼δ⌐ TSS" (¬«ñ «Φ¿í¬¿ 0000h)
- öïÇâê:
- ö½áú¿ ¡Ñ ºáñÑ⌐ßΓóπεΓß∩ ñ« ΓÑσ »«α, »«¬á »ÑαѬ½ετáΓѽ∞ ºáñáτ ¡Ñ
- «¬áªÑΓß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ÅαÑαδóá¡¿Ñ 13 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá ó »á¼∩Γ¿
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼, í«½∞Φ¿¼, τѼ FFFFh ó ßÑú¼Ñ¡Γáσ
- CS, DS, ES, FS ¿½¿ GS. ÅαÑαδóá¡¿Ñ 12 ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ ½εíá∩
- τáßΓ∞ «»Ñαá¡ñá ó »á¼∩Γ¿ ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼,
- í«½∞Φ¿¼, τѼ FFFFh ó ßΓѬ«ó«¼ ßÑú¼Ñ¡ΓÑ SS.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "»« ßΓá¡ñáαΓ¡«⌐ ºáΘ¿ΓÑ" (¿ß¬½ετÑ¡¿Ñ
- 13) ¿ñÑΓ ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ «»Ñαá¡ñ«ó ßÑú¼Ñ¡Γ«ó »á¼∩Γ¿
- CS, DS, ES, FS ¿½¿ GS, Ñß½¿ «»Ñαá¡ñ ¿ßΓ«τ¡¿¬á ∩ó½∩ÑΓß∩
- ¡Ñτ¿ΓáÑ¼δ¼ ßÑú¼Ñ¡Γ«¼ ¬«ñá, ¿½¿ Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá
- ∩ó½∩ÑΓß∩ ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá.
- ê߬½ετÑ¡¿Ñ ßΓÑ¬á ¿ñÑΓ ß ¬«ñ«¼ «Φ¿í¬¿ 0000h ñ½∩ «»Ñαá¡ñ«ó ó
- ßÑú¼Ñ¡ΓÑ ßΓѬá, Ñß½¿ ½εíá∩ τáßΓ∞ «»Ñαá¡ñá ∩ó½∩ÑΓß∩
- ¿ß»«½¡¿Γѽ∞¡δ¼ áñαÑß«¼ óδΦÑ »αÑñѽá ßÑú¼Ñ¡Γá. ê߬½ετÑ¡¿Ñ ßΓѬá ß
- ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ SS ¿ ¼áનα«óá¡, ¬á¬ «ΓßπΓßΓóπεΘ¿⌐.
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ" (¿ß¬½ετÑ¡¿Ñ 11)
- ¿¼ÑÑΓ ¼ÑßΓ« ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ DS, ES, FS, GS ¿ «Γ¼ÑτÑ¡
- ¡ÑßπΘÑßΓóπεΘ¿¼. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ñá¡¡δÑ «ΓßπΓßΓóπεΓ"
- ¿¼ÑÑΓ ¼ÑßΓ« ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ßÑú¼Ñ¡Γá, Ñß½¿ «»Ñαá¡ñ ó
- »á¼∩Γ¿ ¡áσ«ñ¿Γß∩ ó ßÑú¼Ñ¡ΓÑ DS, ES, FS, GS ¿ «Γ¼ÑτÑ¡
- ¡ÑßπΘÑßΓóπεΘ¿¼. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº ßΓαá¡¿µδ"
- (¿ß¬½ετÑ¡¿Ñ 14) ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼
- «Γ¬áºá ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2. ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ æÑú¼Ñ¡Γá
- æ«ßΓ«∩¡¿∩ çáñáτ (¿ß¬½ετÑ¡¿Ñ 10) ß ¬«ñ«¼ «Φ¿í¬¿ ßÑ½Ñ¬Γ«αá ñ½∩
- ¡Ñß«ú½áß«óá¡¡«ßΓÑ⌐ ó æÑú¼Ñ¡ΓÑ æ«ßΓ«∩¡¿∩ çáñáτ ¿¼ÑÑΓ ¼ÑßΓ«, Ñß½¿
- ºáñÑ⌐ßΓó«óá¡ »ÑαѬ½ετáΓѽ∞ ºáñáτ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« ¿¼ÑεΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ 0. ö«α¼áΓ ßΓѬá ß πα«ó¡Ñ¼ »α¿ó¿½Ñú¿¿
- 0 »«ß½Ñ ¿ß¬½ετÑ¡¿∩ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿ »αÑαδóá¡¿∩ (íѺ ¬«ñá
- «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß.12.2.Æá¬ªÑ ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº"
- ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá
- ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
-
- - 266 -
- ╔═══════════════════════════════════════════╗
- ║LAHF çáúαπº¬á AH αÑú¿ßΓαá ¿º EFLAG.║
- ╚═══════════════════════════════════════════╝
- öÄÉîÇÆ:
- ┌────────┐
- LAHF │10011111│
- └────────┘
- öôìèûêƒ:
- AH <─ ¡¿º¬¿⌐ íá⌐Γ αÑú¿ßΓαá EFLAG
-
- ÄÅêæÇìêà:
- LAHF ºáúαπªáÑΓ AH αÑú¿ßΓα ¡á¿í«½ÑÑ ¡¿º¬¿¼ íá⌐Γ«¼ EFLAG. êº MSB
- ó LSB AH »α¿¡¿¼áÑΓ óѽ¿τ¿¡π SF, ZF, ¡Ñ«»αÑñѽѡ¡πε, AF,
- ¡Ñ«»αÑñѽѡ¡πε, PF, ¡Ñ«»αÑñѽѡ¡πε, CF.
- éÉàîƒ é¢ÅÄïìàìêƒ:
- 2 Γá¬Γá² 0,1 ¼¬ß »α¿ 20 îâµ.
- öïÇâê:
- ì¿ «ñ¿¡ ¡Ñ ºáñÑ⌐ßΓó«óá¡.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ìÑΓ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- ìÑΓ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- ìÑΓ.
- ─────────────────────────────────────────────────────────────────
-
- - 267 -
- ╔═════════════════════════════════════╗
- ║LAR Åαáó« ñ«ßΓπ»á ºáúαπº¬¿║
- ╚═════════════════════════════════════╝
- öÄÉîÇÆ.
- LAR
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- - - - - - - - - - - - - - - - - - - - - - - -
- 0 0 0 1 1 1 1 0 0 0 0 0 0 1 0 m«d: reg : r/m
-
- öôìèûêƒ:
- IF ACCESS IS VALID
- GENERAL REGISTER <-- ACCESS RIGHTS OF GIVEN SELECTOR;
- ZF <-- 1;
- ELSE
- ZF <-- 0;
-
- ÄÅêæÇìêà:
- LAR-¬«¼á¡ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. LAR σαá¡¿Γ ¼á߬¿απѼπε Σ«α¼π
- óΓ«α«ú« DWORD ñÑß¬α¿»Γ«αá ßÑ½Ñ¬Γ«αá ¿ßΓ«τ¡¿¬á, Ñß½¿ ñÑß¬α¿»Γ«α
- ∩ó½∩ÑΓß∩ ó¿ñ¿¼δ¼ ó CPL («ß½áí½Ñ¡« ßÑ½Ñ¬Γ«α¡δ¼ RPL).
- éΓ«α«Ñ ¼á߬¿α«óá¡¿Ñ DWORD óδ»«½¡∩ÑΓß∩ »«ßαÑñßΓó«¼ ß½«ªÑ¡¿∩ DWORD
- ß ¬«ñ«¼ 00F0FF00h.
- àß½¿ αẼÑα«¼ «»Ñαá¡ñá ¬«¼á¡ñδ ∩ó½∩ÑΓß∩ WORD, Γ« ó φΓ«¼ ß½πτáÑ
- ºáúαπªáÑΓß∩ Γ«½∞¬« WORD (¼Ñ¡∞Φπε τáßΓ∞ DWORD «íδτ¡« ¼á߬¿απεΓ).
- îá߬¿απѼá∩ óѽ¿τ¿¡á - FF00h.
- àß½¿ Γ¿» ñÑß¬α¿»Γ«αá ñ«ßΓπ»Ñ¡ CPL («ß½áí½Ñ¡¡δ¼ »«ßαÑñßΓó«¼ RPL
- ßÑ½Ñ¬Γ«αá), Γ« ZF πßΓá¡áó½¿óáÑΓß∩, ó »α«Γ¿ó¡«¼ ß½πτáÑ ZF
- ßíαáßδóáÑΓß∩.
- éßÑ ñÑß¬α¿»Γ«αδ ßÑú¼Ñ¡Γá ¿ »ÑαѬ½ετáΓѽ¿ ∩ó½∩εΓß∩ ñÑ⌐ßΓó¿Γѽ∞¡δ¼¿
- ¿ ñ«ßΓπ»¡δ¼¿, Ñß½¿ CPL («ß½áí½Ñ¡¡δ⌐ »«ßαÑñßΓó«¼ RPL ßÑ½Ñ¬Γ«αá) <
- DPL ñÑß¬α¿»Γ«αá ¿½¿ »ÑαѬ½ετáΓѽ∩.
-
- ÅÉêîàÉ:
- LAR ECX, DESCRIPTOR_PTR ; ºáúαπº¿Γ∞ r/m «»Ñαá¡ñ,
- ² ¿¡ΓÑα»αÑΓ¿α«óáΓ∞ «»Ñαá¡ñ ¬á¬ »αáó«
- ñ«ßΓπ»á ñÑß¬α¿»Γ«αá ¿½¿ »ÑαѬ½ετáΓѽ∩.
- éÉàîƒ é¢ÅÄïìàìêƒ:
- ¿º «»Ñαá¡ñá αÑú¿ßΓαá: 15 Γá¬Γ«ó² 0.75 ¼¬ß »α¿ 20 îâµ
- ¿º «»Ñαá¡ñá »á¼∩Γ¿: 16 Γá¬Γ«ó² 0.8 ¼¬ß »α¿ 20 îâµ
- öïÇâê:
- ZF «»¿ßá¡ ó αáºñÑ½Ñ öôìèûêƒ óδΦÑ. éßÑ ñαπú¿Ñ Σ½áú¿ ¡Ñ ¿º¼Ñ¡∩εΓß∩.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàÇï£ìÄâÄ ÉàåêîÇ:
- ÅαÑαδóá¡¿Ñ 6. LAR, ¬«¼á¡ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á, ¡Ñ αáß»«º¡áóáѼá ó
- αÑá½∞¡«¼ αѪ¿¼Ñ.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê çÇÖêÖàììÄâÄ ÉàåêîÇ:
- Æá¬¿Ñ ªÑ, ¬á¬ ñ½∩ ¬«¼á¡ñδ ADD.
- êæèï₧ùêÆàï£ì¢à æêÆôÇûêê ÉàåêîÇ éêÉÆôÇï£ìÄâÄ 8086:
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« ¿¼ÑεΓ ¼ÑßΓ« ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿¿ 0. ö«α¼áΓ ßΓѬá ß πα«ó¡Ñ¼ »α¿ó¿½Ñú¿¿
- 0 »«ß½Ñ ¿ß¬½ετÑ¡¿∩ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿ »αÑαδóá¡¿∩ (íѺ ¬«ñá
- «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß.12.2.Æá¬ªÑ ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "«Γ¬áº"
- ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í¬¿ ¬«ñá «Γ¬áºá ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ «Γ¬áºá
- ¡áσ«ñ¿Γß∩ ó αÑú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
-
- - 268 -
- ╔═══════════════════════════════╗
- ║LEA çáúαπº¬á »αáóá ñ«ßΓπ»á║
- ╚═══════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬──┬──┬──┬──┬─┬────┬────┬────┐
- LEA │ 10001101 │αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──┴──┴──┴──┴─┴────┴────┴────┘
-
- öπ¡¬µ¿∩
- GENERAL REGISTER ≈── EFFECTIVE ADRESS;
-
- Ä»¿ßá¡¿Ñ
- 諼á¡ñá LEA óδτ¿ß½∩ÑΓ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß ó ß««ΓóÑΓßΓó¿¿ ß
- «»αÑñѽѡ¡δ¼ ß»«ß«í«¼ áñαÑßᵿ¿.¥ΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß óδτ¿ß½∩ÑΓß∩ ¬á¬
- ñó«⌐¡«Ñ ß½«ó«,Ñß½¿ ¿ß»«½∞ºπÑΓß∩ 32-í¿Γ«óδ⌐ αẼÑα áñαÑßá,¿ ¬á¬
- ß½«ó«,Ñß½¿ ¿ß»«½∞ºπÑΓß∩ 16-í¿Γ«óδ⌐ αẼÑα áñαÑßá. ÉẼÑα ñá¡¡δσ ó
- ¬«¼á¡ñÑ «»αÑñѽ∩ÑΓ ñ«½ªÑ¡ ½¿ íδΓ∞ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß πßÑτÑ¡ ñ½∩
- ß««ΓóÑΓßΓó¿∩ ß αÑú¿ßΓα«¼ - »α¿Ñ¼¡¿¬«¼.
-
- Åα¿¼Ñα:
- LEA ECX,[EDX][4*ESI]DOLLAR
- àß½¿ EDX=00000034h, ESI=00000052h ¿ DOLLAR=00007289h, Γ«
- αѺπ½∞ΓáΓ«¼ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ LEA ¿º »α¿¼Ñαá ∩ó½∩ÑΓß∩
- ECX=00007405h. ¥Γ« - óδτ¿ß½Ñ¡¡δ⌐ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- 2-Γá¬Γ«óδσ ¿¼»π½∞ßá (Æê); 0,1 ¼¬ß »α¿ 20 îúµ
- àß½¿ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß ß«ñÑαª¿Γ 2 αÑú¿ßΓαá,¬á¬ ó »α¿¼ÑαÑ, Γ«
- ¬«¼á¡ñá LEA ΓαÑíπÑΓ «ñ¿¡ ñ«»«½¡¿Γѽ∞¡δ⌐ Γá¬Γ«óδ⌐ ¿¼»π½∞ß.Äíδτ¡«
- ¬«¼á¡ñá,óδτ¿ß½∩εΘá∩ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß,¬«Γ«αδ⌐ ó¬½ετáÑΓ 2
- αÑú¿ßΓαá,ΓαÑíπÑΓ 1 ñ«»«½¡¿Γѽ∞¡δ⌐ Γá¬Γ«óδ⌐ ¿¼»π½∞ß.
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ÅαÑαδóá¡¿Ñ 6; Ñß½¿ óΓ«α«⌐ «»Ñαá¡ñ ∩ó½∩ÑΓß∩ αÑú¿ßΓα«¼.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡ÑóÑα¡δ⌐ ¬«ñ «»Ñαᵿ¿" (¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 6),Ñß½¿ óΓ«α«⌐ «»Ñαá¡ñ - αÑú¿ßΓα. ê߬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 6 ¡Ñ »α«ΓὬ¿óáÑΓ ó ßΓѬ ¬«ñ «Φ¿í¬¿.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ,¬á¬ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ─────────────────────────────────────────────────────────────────
-
- - 269 -
- ╔═══════════════════════════════════════════╗
- ║LEAVE éδß«¬«πα«ó¡Ñóá∩ »α«µÑñπαá óδσ«ñá║
- ╚═══════════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐
- LEAVE │ 11001001 │
- └──────────┘
- öπ¡¬µ¿∩:
- ESP EBP (ó«ºñÑ⌐ßΓó¿Ñ ß« ßΓ«α«¡δ αẼÑαá áñαÑßá)
- EBP POP() (ó«ºñÑ⌐ßΓó¿Ñ ß« ßΓ«α«¡δ «»Ñαá¡ñá)
- Ä»¿ßá¡¿Ñ:
- äÑ⌐ßΓó¿Ñ ¬«¼á¡ñδ LEAVE «íαáΓ¡« ñÑ⌐ßΓó¿ε ¬«¼á¡ñδ ENTER. ESP,EBR
- ó«ßßΓá¡áó½¿óáεΓ º¡áτÑ¡¿∩,¬«Γ«αδÑ í뫨 ñ« ¬«¼á¡ñδ ENTER.
-
- Åα¿¼Ñα:
- LEAVE
- RET
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿:
- 4 Æê; 0,2 ¼¬ß »α¿ 20 îúµ.
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ,¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ,¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ,¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ─────────────────────────────────────────────────────────────────
-
- - 270 -
- ╔═══════════════════════════════════════════════════════╗
- ║LGDT çáúαπº¿Γ∞ αÑú¿ßΓα Γáí½¿µδ ú½«íá½∞¡δσ ñÑß¬α¿»Γ«α«ó║
- ╚═══════════════════════════════════════════════════════╝
- ö«α¼áΓ:
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬──┬──┬───┬───┬────┬─────┐
- LGDT │ 10001101 │ 00000001 │αѪ¿¼│010│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴──┴──┴───┴───┴────┴─────┘
- öπ¡¬µ¿∩:
- IF (ADRESS SIZE=32)
- THEN
- GDTR.LIMIT: GDTR.BASE ≈──── MEMORY 16:24;(ºáúαπªáÑΓß∩
- 24 í¿Γá «Γ
- íáºδ)
- ELSE
- GDTR.LIMIT:GDTR.BASE ≈──── MEMORY 16:32;(ºáúαπªáÑΓß∩
- 32 í¿Γá «Γ
- íáºδ)
- ÄÅêæÇìêà:
- LGDT ºáúαπªáÑΓ úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ ¿ ½¿¡Ñ⌐¡δ⌐ íẫóδ⌐ áñαÑß ó
- αÑú¿ßΓα Γáí½¿µδ ú½«íá½∞¡áσ ñÑß¬α¿»Γ«α«ó.Æá¬¿¼ «íαẫ¼
- πßΓá¡áó½¿óáÑΓß∩ αẼÑα ¿ αẼÑΘÑ¡¿Ñ ó »á¼∩Γ¿ Γáí½¿µδ ú½«íá½∞¡δσ
- ñÑß¬α¿»Γ«α«ó.
- LGDT ∩ó½∩ÑΓß∩ ¬«¼á¡ñ«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. Ä¡á «íδτ¡«
- óßΓαÑτáÑΓß∩ ó »α«úαá¼¼Ñ αÑá½∞¡«ú« αѪ¿¼á ¬«úñá ß¿ßΓѼá
- ¿¡¿µ¿º¿απÑΓß∩ ñ½∩ óó«ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.èα«¼Ñ Γ«ú« ¬«¼á¡ñá
- LGDT óδ»«½¡∩ÑΓß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ »α¿ CPL=0. é ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ Γ«½∞¬« ¬«¼á¡ñδ LGDT ¿ LIDT óδ»«½¡∩εΓ ºáúαπº¬π ½¿¡Ñ⌐¡«ú«
- áñαÑßá ó αÑú¿ßΓα.
-
- ÅÉêîàÉ:
- LGDT GDT_INFO ;πßΓá¡áó½¿óáÑΓ αẼÑα ¿
- ;úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ Γáí½¿µδ
- ;ú½«íá½∞¡δσ ñÑß¬α¿»Γ«α«ó,
- ;ß««ΓóÑΓßΓóπεΘ¿Ñ ñá¡¡δ¼
- ;ó »á¼∩Γ¿,¡áºóá¡¡δ¼
- ;GDT_INFO
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿:
- 11 Æê; 0,55 ¼¬ß »α¿ 20 îúµ.
- ö½áú¿:
- ìÑ πßΓá¡áó½¿óáεΓß∩
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD;
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá"(¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h,Ñß½¿ CPL ¡Ñ αáó¡« 0. ÄßΓá½∞¡δÑ
- ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿-Γá¬¿Ñ ªÑ ,¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá"(¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h,Ñß½¿ CPL=3(¡Ñ αáó¡« 0).
- ─────────────────────────────────────────────────────────────────
-
- - 271 -
- ╔═════════════════════════════════════════════════════════╗
- ║LIDT çáúαπº¬á αÑú¿ßΓαá Γáí½¿µδ «»¿ßáΓѽÑ⌐ »αÑαδóá¡¿∩║
- ╚═════════════════════════════════════════════════════════╝
- öÄÉîÇÆ:
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬──┬──┬───┬───┬────┬─────┐
- LIDT │ 00001111 │ 00000001 │αѪ¿¼│011│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴──┴──┴───┴───┴────┴─────┘
-
- öπ¡¬µ¿∩:
- IF (OPERAND SIZE =32)
- THEN
- IDTR.LIMIT: IDTR.BASE ≈──── MEMORY 16:24;(ºáúαπªáÑΓß∩
- 24 í¿Γá «Γ
- íáºδ)
- ELSE
- IDTR.LIMIT:IDTR.BASE ≈──── MEMORY 16:32;(ºáúαπªáÑΓß∩
- 32 í¿Γá «Γ
- íáºδ)
- ÄÅêæÇìêà:
- LIDT ºáúαπªáÑΓ úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ ¿ ½¿¡Ñ⌐¡δ⌐ íẫóδ⌐ áñαÑß ó
- αÑú¿ßΓα Γáí½¿µδ ñÑß¬α¿»Γ«α«ó »αÑαδóá¡¿⌐,Γᬿ¼ «íαẫ¼
- πßΓá¡áó½¿óá∩ αẼÑα ¿ αẼÑΘÑ¡¿Ñ Γáí½¿µδ ñÑß¬α¿»Γ«α«ó »αÑαδóá¡¿⌐
- ó »á¼∩Γ¿.
- LIDT ∩ó½∩ÑΓß∩ ¬«¼á¡ñ«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ.Ä¡á «íδτ¡«
- »«∩ó½∩ÑΓß∩ ó »α«úαá¼¼Ñ αÑá½∞¡«ú« αѪ¿¼á,Ñß½¿ ß¿ßΓѼá
- ¿¡¿µ¿á½¿º¿απÑΓß∩ ñ½∩ óó«ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á.èα«¼Ñ Γ«ú« LIDT
- óδ»«½¡∩ÑΓß∩ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ Γ«½∞¬« ¬«¼á¡ñδ LGDT ¿ LIDT
- óδ»«½¡∩εΓ ºáúαπº¬π ½¿¡Ñ⌐¡«ú« áñαÑßá ó αÑú¿ßΓα.
-
- ÅÉêîàÉ:
- LIDT IDT_INFO ;πßΓá¡áó½¿óáÑΓ αẼÑα ¿
- ;úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ Γáí½¿µδ
- ;ñÑß¬α¿»Γ«α«ó »αÑαδóá¡¿⌐,
- ;ß««ΓóÑΓßΓóπεΘ¿Ñ ñá¡¡δ¼
- ;ó »á¼∩Γ¿,¡áºóá¡¡δ¼
- ;IDT_INFO
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿:
- 11 Æê; 0,55 ¼¬ß »α¿ 20 îúµ.
- ö½áú¿:
- ìÑ πßΓá¡áó½¿óáεΓß∩
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD;
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá"(¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h,Ñß½¿ CPL ¡Ñ αáó¡« 0. ÄßΓá½∞¡δÑ
- ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿-Γá¬¿Ñ ªÑ ,¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá"(¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h,Ñß½¿ CPL=3(¡Ñ αáó¡« 0).
- ─────────────────────────────────────────────────────────────────
-
- - 272 -
- ╔═══════════════════════════════════════════════════════════╗
- ║LDS/LES/LFS/LGS/LSS çáúαπº¬á »«½¡«ú« π¬áºáΓѽ∩ ó αÑú¿ßΓα║
- ║ ßÑú¼Ñ¡Γá :αÑú¿ßΓα «íΘÑú« ¡áº¡áτÑ¡¿∩ ║
- ╚═══════════════════════════════════════════════════════════╝
- öÄÉîÇÆ:
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬─────┬───────┬──────────────┐
- LDS │ 11000101 │αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴─────┴───────┴──────────────┘
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬──────┬───────┬──────────────┐
- LES │ 11000100 │ αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────┴───────┴──────────────┘
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬─────┬───────┬──────────────┐
- LFS │ 00001111 │ 10110100 │αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴─────┴───────┴──────────────┘
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬─────┬───────┬──────────────┐
- LGS │ 00001111 │ 10110101 │αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴─────┴───────┴──────────────┘
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬─────┬───────┬──────────────┐
- LSS │ 00001111 │ 10110010 │αѪ¿¼│αÑú¿ßΓα│αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴─────┴───────┴──────────────┘
-
- - 273 -
- öπ¡¬µ¿∩:
- IF (OPERAND SIZE=32)
- THEN
- BEGIN
- GENERAL REGISTER EFFECTIVE ADRESS ; (32-í¿Γ«óδ⌐ φΣΣÑ¬Γ¿ó-
- ¡δ⌐ áñαÑß)
- SEGMENT REGISTER EFFECTIVE ADRESS 4; (16-í¿Γ«óδ⌐ ßÑ½Ñ¬Γ«α)
- END
- ELSE
- BEGIN
- GENERAL REGISTER EFFECTIVE ADRESS ; (16-í¿Γ«óδ⌐ φΣΣÑ¬Γ¿ó-
- ¡δ⌐ áñαÑß)
- SEGMENT REGISTER EFFECTIVE ADRESS +2 ; (16- í¿Γ«óδ⌐ ßÑ½Ñ¬Γ«α)
- Ä»¿ßá¡¿Ñ
- ¥Γá ¬«¼á¡ñá ºáúαπªáÑΓ ¿º »á¼∩Γ¿ »«½¡δ⌐ π¬áºáΓѽ∞. Å«½¡δ⌐ π¬á-
- ºáΓѽ∞ ß«ßΓ«¿Γ ¿º ¡á»αáó½Ñ¡¿∩ (colrse), ßÑ½Ñ¬Γ«αá (ñ½∩ ¿ñÑ¡Γ¿Σ¿-
- ¬áµ¿¿ «Γñѽ∞¡«ú« ßÑú¼Ñ¡Γá) ¿ φΣΣÑ¬Γ¿ó¡«ú« áñαÑßá (ß¼ÑΘÑ¡¿Ñ ó ßÑú-
- ¼Ñ¡ΓÑ). æÑ½Ñ¬Γ«α ºáúαπªáÑΓß∩ ó αÑú¿ßΓα ßÑú¼Ñ¡Γá, φΣΣÑ¬Γ¿ó¡δ⌐ áñ-
- αÑß - ó αÑú¿ßΓα «íΘÑú« ¡áº¡áτÑ¡¿∩.
- è«úñá »α«¿ßσ«ñ¿Γ »α¿ßóá¿óá¡¿Ñ º¡áτÑ¡¿∩ αÑú¿ßΓαπ ßÑú¼Ñ¡Γá ó
- αÑá½∞¡«¼ ¿½¿ "ó¿αΓπá½∞¡«¼ 8086" αѪ¿¼áσ º¡áτÑ¡¿Ñ ßÑ½Ñ¬Γ«αá ßñó¿-
- úáÑΓß∩ ¡á 4 »«º¿µ¿¿ ó½Ñó« ñ½∩ óδτ¿ß½Ñ¡¿∩ ¬¿½Ñ⌐¡«ú« íẫó«ú« áñαÑ-
- ßá ßÑú¼Ñ¡Γá. àß½¿ »α¿ßóá¿óá¡¿Ñ »«¿ßσ«ñ¿Γ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ, Γ«
- íẫóδÑ ¿ úαá¡¿τ¡«Ñ º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá ºáúαπªáÑΓß∩ ¿º ßΓ᫬¿ Γáí-
- ½¿µδ ñÑß¬α¿»Γ«ó, ñ½∩ ñá¡¡«ú« ßÑú¼Ñ¡Γá.
-
- Åα¿¼Ñα
- LDS DATA SEG πßΓá¡áó½¿óáÑΓ ñá¡¡δÑ ßÑú¼Ñ¡Γá,
- ß««ΓóÑΓßΓóπεΘÑú« ßÑ½Ñ¬Γ«απ ß
- ¿¼ÑѡѼ DATA SEG
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑá½∞¡δ⌐ ¿½¿ "ó¿αΓπá½∞¡δ⌐ 8086" αѪ¿¼δ:
- 7Æê; 0,35 ¼¬ß »α¿ 20 îâ⌐
- çáΘ¿ΘÑ¡¡δ⌐ »αѪ¿¼:
- 22Æê; 1,1 ¼¬ß »α¿ 20îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD;
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD
- ─────────────────────────────────────────────────────────────────
-
- - 274 -
- ╔══════════════════════════════════════════════════════════╗
- ║LLDT çáúαπº¬á αÑú¿ßΓαá Γáí½¿µδ ½«¬á½∞¡δσ ñÑß¬α¿»Γ«α«ó║
- ╚══════════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬───────┬─────┬────────────────┐
- LLDT │ 00001111 │ 00000000 │ αѪ¿¼ │ 000 │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴──────────┴───────┴─────┴────────────────┘
-
- öπ¡¬µ¿∩
- LDTR SELECTOR (16-í¿Γ«óδ⌐ ßÑ½Ñ¬Γ«α)
- Ä»¿ßá¡¿Ñ
- LLDT - ¬«¼á¡ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼Ñ LLDT ºáúαπªáÑΓ ßÑ½Ñ¬Γ«α ó
- αÑú¿ßΓα Γáí½¿µδ ½«¬á½∞¡δσ ñÑß¬α¿»Γ«ó. Æ.«. πßΓá¡áó½¿óáÑΓß∩ Γáí½¿-
- µá ½«¬á½∞¡δσ ñÑß¬α¿»Γ«α«ó. äá¡¡δÑ íáºδ ¿ úαá¡¿µδδ Γáí½¿µδ
- ñÑß¬α¿»Γ«α«ó ºáúαπªáεΓß∩ ¿º Γáí½¿µδ ñÑß¬α¿»Γ«α«ó, óóÑñÑ¡¡«⌐ ñ½∩
- ñá¡¡«ú« ßÑú¼Ñ¡Γá. æÑ½Ñ¬Γ«α ñ«½ªÑ¡ «íαáΘáΓ∞ß∩ ¬ ñÑß¬α¿»Γ«απ ¿º
- Γáí½¿µδ ½«¬á½∞¡δσ ñÑß¬α¿»Γ«α«ó (ñÑß¬α¿»Γ«α Γ¿»á 2).
- Äñ¡á¬«, ßÑ½Ñ¬Γ«α ¼«ªÑΓ íδΓ∞ ÑΘÑ ¡π½Ñóδ¼. é Γᬫ¼ ß½πτáÑ Γáí-
- ½¿µá ½«¬á½∞¡δσ ñÑß¬α¿»Γ«α«ó ßτ¿ΓáÑΓß∩ ¡ÑóÑα¡«⌐ ¿ ½εíδÑ ßß佬¿
- ñÑß¬α¿»Γ«α«ó ¡á φΓπ Γáí½¿µπ óδºδóáεΓ «íΘπε ¿ß¬½ετ¿Γѽ∞¡πε ß¿Γπ-
- áµ¿ε »α¿ ºáΘ¿ΓÑ (¿ß¬½ετá∩ ßß佬¿ ¬«¼á¡ñ LAR, LSL, VERR ¿ VERW,
- αáºαáí«Γá¡¡δÑ ñ½∩ ñ«ßΓπ»á ¬ ΓÑßΓ¿απÑ¼δ¼ ßÑ½Ñ¬Γ«αá¼ "í½áú«Γó«α¡δ¼
- «íαẫ¼".
- LLDT - ∩ó½∩ÑΓß∩ »α¿ó¿½Ñú¿α«óá¡¡«⌐ ¬«¼á¡ñ«⌐ ¿ ñ«ßΓπ»¡á ñ½∩ óδ-
- »«½¡Ñ¡¿∩ Γ«½∞¬« ¡á ¡π½Ñó«¼ πα«ó¡Ñ »α¿ó¿½Ñú¿α«óá¡¡«ßΓ¿.
-
- Åα¿¼Ñα
- LLDT INITIAL LD πßΓá¡áó½¿óáÑΓ Γáí½¿µπ ½«¬á½∞¡δσ
- ñÑ߬αÑ»Γ«α«ó, ß««ΓóÑΓßΓóπεΘπε ßÑ½Ñ¬Γ«απ
- ß ¿¼Ñ¡Ñ¼ INITIAL LDT
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- 20Æê; 1,0 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ÅαÑαδóá¡¿Ñ 6, ¬«¼á¡ñá LLDT ºá»αÑΘÑ¡á ó αÑá½∞¡«¼ αѪ¿¼Ñ.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" (¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h, Ñß½¿ CPL=0.
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" ß ¬«ñ«¼ «Φ¿í¬¿
- «Φ¿í«τ¡«ú« ßÑ½Ñ¬Γ«αá, Ñß½¿ «»Ñαá¡ñ-ßÑ½Ñ¬Γ«α ¡Ñ ßßδ½áÑΓß∩ ¡á Γáí-
- ½¿µδ ú½«íá½∞¡δσ ñÑß¬α¿»Γ«α«ó ¿ ñÑß¬α¿»Γ«α ó ½«¬á½∞¡«⌐ Γáí½¿µÑ
- ñÑß¬α¿»Γ«α«ó. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ - Γá¬¿Ñ ªÑ, ¬á¬
- »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡«⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡ÑóÑα¡δ⌐ ¬«ñ «»Ñαᵿ¿" (¿ß¬½ετ¿Γѽ∞-
- ¡á∩ ß¿Γπᵿ∩ 6). LLDT ºá»αÑΘÑ¡á ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086".
- ─────────────────────────────────────────────────────────────────
-
- - 275 -
- ╔═════════════════════════════════════════════════════════╗
- ║LMSW çáúαπº¬á αÑú¿ßΓαá ß½«óá ß«ßΓ«∩¡¿∩ ¬«¼»∞εΓÑαá║
- ╚═════════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 üá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬───────┬─────┬───────────────┐
- LMSW │ 00001111 │ 00000001 │ αѪ¿¼ │ 110 │ αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴───────┴─────┴───────────────┘
-
- öπ¡¬µ¿∩
- MSW 16-bit operand (MSW (ß½«ó« ß«ßΓ«∩¡¿∩ ¬«¼»∞εΓÑαá)
- - ¼½áñΘ¿Ñ 16 í¿Γ«ó ¿º CRO)
-
- Ä»¿ßá¡¿Ñ
- LMSW - ºáúαπªáÑΓ ¼½áñΦπε »«½«ó¿¡π CRO ¿º ¿ßΓ«τ¡¿¬á «»Ñαá¡ñá.
- Äñ¡á¬« í«½Ñ óÑα«∩Γ¡«, τΓ« íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ¬«¼á¡ñá ¼¿¬α«»α«-
- µÑßß«αá 80386 MOV CRO, SOURCE. (諼á¡ñá LMSW «íÑß»Ñτ¿óáÑΓ ß«ó¼Ñß-
- Γ¿¼«ßΓ∞ ß ¬«ñ«¼ «»Ñαᵿ¿ ó »α«µÑßß«αÑ 80286).
- LMSW ∩ó½∩ÑΓß∩ ¬«¼á¡ñ«⌐ «»Ñαᵿ«¡¡«⌐ ß¿ßΓѼδ. Ä¡á «íδτ¡«
- óßΓαÑτáÑΓß∩ ó »α«úαá¼¼Ñ ó αÑá½∞¡«¼ αѪ¿¼Ñ ó 80286 ¬«úñá ß¿ßΓѼá
- ¿¡¿µ¿á½¿º¿απÑΓß∩ ñ½∩ óó«ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. ¥Γá ¬«¼á¡ñá ¼«ªÑΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ »ÑαѬ½ετÑ¡¿∩ (»ÑαÑσ«ñá) ó ºáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼
- »«ßαÑñßΓó«¼ πßΓá¡«ó¬¿ í¿Γá PE ó CRO. é Γᬫ¼ ß½πτáÑ ºá ¡Ñ⌐ ñ«½ªÑ¡
- ß½Ññ«óáΓ∞ ¼ÑªßÑú¼Ñ¡Γ¡δ⌐ »ÑαÑσ«ñ ñ½∩ »«ñ¬áτ¬¿ ¬«¼á¡ñ, ñÑΦ¿Σα¿απ-
- Ѽδσ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ó «τÑαÑñ∞ »αÑñóδí«α¬¿ ¬«¼á¡ñ.
-
- Åα¿¼Ñα
- LMSW IDT INFO ºáúαπªáÑΓ ¼½áñΦπε »«½«ó¿¡π CRO
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- Ä»Ñαá¡ñ ¿º αÑú¿ßΓαá: ÄÆê; 0,5 ¼¬ß »α¿ 20 îâµ
- Ä»Ñαá¡ñ ¿º »á¼∩Γ¿: éÆê; 0,65 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" (¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 000h, Ñß½¿ CPL=0. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿-
- Γѽ∞¡δÑ ß¿Γπᵿ¿ Γá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡«⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" ß ¬«ñ«¼ «Φ¿í¬¿
- 000h, Ñß½¿ CPL αáó¡« 3 (¡Ñ αáó¡« 0).
- ─────────────────────────────────────────────────────────────────
-
- - 276 -
- ╔═══════════════════════════════════════════════════╗
- ║LODSB/LODSW/LODSD çáúαπº¿Γ∞ ßΓ᫬π ñá¡¡δσ║
- ╚═══════════════════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐
- LODSB/LODSW/LODSD │ 1010110W │
- └──────────┘
-
- öπ¡¬µ¿∩
- IF (OPERAND SZZE = DWORD) (ºáúαπº¬á «»Ñαá¡ñá ó
- EAX/AX/AC)
- THEN
- EAX SOURCE INPEX
- ELSE IF (OPERAND SIZE = WORD)
- THEN
- AX SOORCE INDEX
- ELSE (αẼÑα «»Ñαá¡ñá - íá⌐Γ)
- AL SOURCE INDEX
- IF (ADRESS SIZE = 32) THEN (¼«ñ¿Σ¿¬áµ¿∩ ¿¡ñѬßá ñ½∩
- ¿ßΓ«τ¡¿¬á)
- ADYUST EST
- ELSE
- ADYUST SI (αẼÑα áñαÑßá - 16 í¿Γ)
- Ä»¿ßá¡¿Ñ
- LODS ºáúαπªáÑΓ «»Ñαá¡ñδ ¿º "ßΓ᫬¿ »á¼∩Γ¿" - ¿ßΓ«τ¡¿¬á. Å«ñ-
- αáºπ¼ÑóáÑΓß∩, τΓ« ßΓ᫬á ∩ó½∩ÑΓß∩ ¼áßß¿ó«¼ íá⌐Γ«ó, ß½«ó ¿½¿
- ñó«⌐¡δσ ß½«ó (ó ºáó¿ß¿¼«ßΓ¿ «Γ αẼÑαá «»Ñαá¡ñá ó ßΓα«¬Ñ ¬«¼á¡-
- ñδ). Å«ß½Ñ Γ«ú«, ¬á¬ »ÑαÑßδ½¬á »α«¿ºóÑñÑ¡á ¿¡ññѬߡδ⌐ αÑú¿ßΓα ¿ß-
- Γ«τ¿¬á áóΓ«¼áΓ¿τÑ߬¿ ¿º¼Ñ¡∩ÑΓß∩ (πóѽ¿τ¿óáÑΓß∩ ¿½¿ ¿º¼Ñ¡∩ÑΓß∩ ó
- ß««ΓóÑΓßΓó¿ ß DF) ¡á óѽ¿τ¿¡π αáó¡πε αẼÑαπ «»Ñαá¡ñá.
- àß½¿ αẼÑα áñαÑßá ¬«¼á¡ñδ - ñóá ß½«óá, Γ« «»Ñαá¡ñ (¿ßσ«ñ¡á∩
- ßΓ᫬á) - ESI . Lelare ¿ßσ«ñ¡δ⌐ «»Ñαá¡ñ - SI . Åαáó¿½∞¡« º¡áτÑ¡¿Ñ
- ¿¡ñѬßá ºáúαπªáÑΓß∩ ñ« óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ LODS.
-
- Åα¿¼Ñα
- LODSW ºáúαπªáÑΓ «ñ¡« ß½«ó« ¿º ßΓ᫬¿
- Æ.¬. ¿¡ñѬߡδ⌐ αÑú¿ßΓα ¿ßΓ«τ¡¿¬á ñ«½ªÑ¡ íδΓ∞ ºáúαπªáÑΓ »α¿ ¿ß-
- »«½∞º«óá¡¿¿ φΓ«⌐ ¬«¼á¡ñδ, Γ« ¬«¼á¡ñá LODSW/W/D τáßΓ« óßΓαÑτáÑΓß∩
- ó µ¿¬½áσ ¿ ¿ß»«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ ¿ΓÑαᵿ⌐.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- STI; 0,25 ¼¬ß »α¿ 20 îâµ
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 277 -
- ╔════════════════════════════════════════════════╗
- ║LOOP éδ»«½¡¿Γ∞ µ¿¬½ ¿ π¼Ñ¡∞Φ¿Γ∞ ECX║
- ╚════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 üá⌐Γ 1
- ┌──────────┬────────────────────┐
- LOOP │ 11100010 │ 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ │
- └──────────┴────────────────────┘
-
- öπ¡¬µ¿∩
- IF (ECX < > 0) THEN
- EIP EIP + DISPLASEMENT (ß¼ÑΘÑ¡¿Ñ Γ«½∞¬« 8-í¿Γ«ó«Ñ)
- (ß¼ÑΘÑ¡¿Ñ)
- Ä»¿ßá¡¿Ñ
- LOOP π¼Ñ¡∞ΦáÑΓ αÑú¿ßΓα ßτÑΓá íѺ ¿º¼Ñ¡Ñ¡¿∩ Σ½áú«ó. ÉÑú¿ßΓα ßτÑΓá
- - ECX (Ñß½¿ αẼÑα áñαÑßá - 32 í¿Γá) ¿ CX (Ñß½¿ αẼÑα áñαÑßá - 16
- í¿Γ) - π¼Ñ¡∞ΦáÑΓß∩ ¬á¬ ßτÑΓτ¿¬ ¿ΓÑαᵿ⌐ íѺ º¡á¬á ¿ »α«óÑα∩ÑΓß∩ (¡«
- Σ½áú¿ ¡Ñ ¿º¼Ñ¡∩εΓß∩). àß½¿ αÑú¿ßΓα ßτÑΓá ¡Ñ αáóÑ¡ ¡π½ε, Γ« ñѽáÑΓß∩
- "¬«α«Γ¬¿⌐ »ÑαÑσ«ñ" ß ¿ß»«½∞º«ó᡿Ѽ 8-í¿Γ«ó«ú« ß¼ÑΘÑ¡¿∩, ¡áσ«ñ∩ΘÑú«ß∩
- ó «»Ñαá¡ñÑ. æ¼ÑΘÑ¡¿Ñ »α¿íáó½∩ÑΓß∩ ¬ ßτ¿Γτ¿¬π ¬«¼á¡ñ, ß««ΓóÑΓßΓóπεΘѼπ
- áñαÑßπ ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ. çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« ß¼ÑΘÑ¡¿Ñ - 8-í¿Γ«óá∩
- óѽ¿τ¿¡á ß« º¡á¬«¼, »«φΓ«¼π º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿∩ ¡áσ«ñ∩Γß∩ ó »αÑñѽáσ «Γ
- - 128 ñ« +127.
- Æ.«., óδ»«½¡∩∩ ¬«¼á¡ñπ LOOP, 󫺼«ª¡« óδ»«½¡∩Γ∞ »ÑαÑσ«ñδ Γ«½∞¬«
- ó¡πΓα¿ ßÑú¼Ñ¡Γá, á ß«ñÑন¼«Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
-
- Åα¿¼Ñα
- LOOP LOOP START óδ»«½¡∩ÑΓ «»αÑñѽѡ¡«Ñ ó αÑú¿ßΓαÑ
- ßτÑΓá ¬«½¿τÑßΓó« ¿ΓÑαᵿ⌐
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ÅαÑαδóá¡¿Ñ 13, Ñß½¿ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß ½εí«⌐ τáßΓ¿ ¬«¼á¡ñδ, ¬ ¬«Γ«-
- α«⌐ ß«óÑαΦáÑΓß∩ »ÑαÑσ«ñ, í«½∞ΦÑ, τѼ FFFFh ó CS ßÑú¼Ñ¡Γá.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" (¿ß¬½ετ¿Γѽ∞¡á∩ ß¿Γπ-
- ᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h? ñ½∩ CS ßÑú¼Ñ¡Γá »á¼∩Γ¿, ¬ ¬«Γ«α«¼π «ßπ-
- ΘÑßΓó½∩ÑΓß∩ »ÑαÑσ«ñ, Ñß½¿ φΣΣÑ¬Γ¿ó¡δ⌐ áñαÑß ½εí«⌐ τáßΓ¿ ¬«¼á¡ñδ, ¬ ¬«-
- Γ«α«⌐ «ßπΘÑßΓó½∩ÑΓß∩ »ÑαÑσ«ñ, óδσ«ñ¿Γ ºá »αÑñѽδ ßÑú¼Ñ¡Γá. ê߬½ετ¿-
- Γѽ∞¡á∩ ß¿Γπᵿ∩ "«ΓßπΓßΓó¿Ñ" (¿ß¬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ 11) ß ¬«ñ«¼
- «Φ¿í¬¿ αáó¡δ¼ ßÑ½Ñ¬Γ«απ ßÑú¼Ñ¡Γá, Ñß½¿ «»Ñαá¡ñ ó »á¼∩Γ¿ »«¼ÑτÑ¡ ó CS
- ßÑú¼Ñ¡Γá ¬á¬ «ΓßπΓßΓóπεΘ¿⌐. ê߬½ªετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡Ñ¿ß»αáó¡«ßΓ∞
- ßΓαá¡¿µδ" (¿ß¬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ 14) ß ¬«ñ«¼ «Φ¿í¬¿ αáó¡δ¼ ¬«ñπ ¡Ñ-
- ¿ß»αáó¡«ßΓ¿ ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ ¡Ñ¿ß»αáó¡«⌐ ßΓαá¡¿µδ ó αÑú¿ßΓαÑ CR2.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡«¼ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ ó αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« «íαáíáΓδóτáεΓß∩ ó ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ ¡á ¡π½Ñó«¼ πα«ó¡Ñ »α¿ó¿½Ñú¿α«óá¡¡«ßΓ¿. ö«α¼áΓ ßΓѬá ó »α¿ó¿½Ñ-
- ú¿α«óá¡¡«¼ αѪ¿¼Ñ »«ß½Ñ ¿ß¬½ετ¿Γѽ∞¡«⌐ ß¿Γπᵿ¿ (ß ¬«ñ«¼ «Φ¿í¬¿) ¿½¿
- »«ß½Ñ »αÑαδóá¡¿∩ (íѺ ¬«ñá «Φ¿í¬¿) »«¬áºá¡ ¡á α¿ß. 12.2. èα«¼Ñ Γ«ú«,
- íδóáÑΓ ¿ß¬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡Ñ¿ß»αáó¡«ßΓ∞ ßΓαá¡¿µδ" ß ¬«ñ«¼ «Φ¿í-
- ¬¿, αáó¡δ¼ ¬«ñπ ¡Ñ¿ß»αáó¡«ßΓ¿ ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ ¡Ñ¿ß»αáó¡«⌐ ßΓαá¡¿µδ
- ó αÑú¿ßΓαÑ CS2.
- ─────────────────────────────────────────────────────────────────
-
- - 278 -
- ╔═════════════════════════════════════════════╗
- ║LOOPE/LOOPZ éδ»«½¡¿Γ∞ µ¿¬½ ¿ π¼Ñ¡∞Φ¿Γ∞ ECX,║
- ║ Ñß½¿ óδ»«½¡∩ÑΓß∩ πß½«ó¿Ñ ║
- ╚═════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬────────────────────┐
- LOOPE/LOOPZ │ 11100001 │ 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ │
- └──────────┴────────────────────┘
- öπ¡¬µ¿∩
- IF ((ECX < >0 AND (ZF=1) THEN
- EIP EIP + ß¼ÑΘÑ¡¿Ñ ß¼ÑΘÑ¡¿Ñ Γ«½∞¬« 8-í¿Γ«ó«Ñ
-
- Ä»¿ßá¡¿Ñ
- LOOP π¼Ñ¡∞ΦáÑΓ ß«ñÑন¼«Ñ αÑú¿ßΓαá ßτÑΓτ¿¬á íѺ ¿º¼Ñ¡Ñ¡¿∩ Σ½áú«ó.
- ÉÑú¿ßΓα ßτÑΓτ¿¬á - ECX (Ñß½¿ αẼÑα áñαÑßá 32 í¿Γá) ¿½¿ CX (Ñß½¿ αáº-
- ¼Ñα áñαÑßá 16 í¿Γ«ó) - π¼Ñ¡∞ΦáÑΓß∩ ¬á¬ ßτÑΓτ¿¬ ¿ΓÑαᵿ⌐ íѺ º¡á¬á ¿
- »α«óÑα∩ÑΓß∩ (¡« Σ½áú¿ ¡Ñ ¿º¼Ñ¡∩εΓß∩). àß½¿ αÑú¿ßΓα ßτÑΓτ¿¬á ¡Ñ ¡π½Ñó«⌐
- ¿ Σ½áú αáóÑ¡ßΓóá ¡π½ε πßΓá¡«ó½Ñ¡, Γ« ß«óÑαΦáÑΓß∩ ¬«α«Γ¬¿⌐ »Ñ»αÑσ«ñ,
- ¿ß»«½∞ºπ∩ 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ, ¡áσ«ñ∩ΘÑÑß∩ ó «»Ñαá¡ñÑ. æ¼ÑΘÑ¡¿Ñ »α¿íáó-
- ½∩ÑΓß∩ ¬ ßτÑΓτ¿¬π ¬«¼á¡ñ ß««ΓóÑΓßΓóπεΘѼπ áñαÑßπ, ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ.
- çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« ß¼ÑΘÑ¡¿Ñ - Γ«½∞¬« 8-í¿Γ«óá∩ óѽ¿τ¿¡á ß« º¡á¬«¼.
- ¥Γ« «úαá¡¿τ¿óáÑΓ º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿∩ «Γ - 128 ñ« +127.
- Æ.«. φΓá ¬«¼á¡ñá µ¿¬½á ¼«ªÑΓ ß«óÑαΦáΓ∞ »ÑαÑσ«ñδ Γ«½∞¬« ó¡πΓα¿ ßÑú-
- ¼Ñ¡Γá, á ß«ñÑন¼«Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
-
- Åα¿¼Ñα
- LOOPE LOOP START óδ»«½¡∩ÑΓ ¿ΓÑαᵿ¿ «»αÑñѽѡ¡«Ñ ó αÑú¿ßΓαÑ
- ßτÑΓτ¿¬á, »«¬á ¬«½¿τÑßΓó« αẠóδ»«½¡∩ÑΓß∩
- ZF=1 (Γ.Ñ. πß½«ó¿Ñ óÑα¡«)
- ö½áú¿
- ìÑ ¿º¼Ñ¡∩εΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ , ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ─────────────────────────────────────────────────────────────────
-
- - 279 -
- ╔════════════════════════════════════════════════════════╗
- ║LOOPNE/LOORNZ éδ»«½¡¿Γ∞ µ¿¬½ ¿ π¼Ñ¡∞Φ¿Γ∞ ECX,║
- ║ Ñß½¿ ¡Ñ óδ»«½¡∩ÑΓß∩ πß½«ó¿Ñ ║
- ╚════════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬────────────────────┐
- LOOPNE/LOOPNZ │ 11100000 │ 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ │
- └──────────┴────────────────────┘
- öπ¡¬µ¿∩
- IF ((ECX < >0 AND (ZF=1))THEN
- EIP EIP + ß¼ÑΘÑ¡¿Ñ (ß¼ÑΘÑ¡¿Ñ Γ«½∞¬« 8-í¿Γ«ó«Ñ)
-
- Ä»¿ßá¡¿Ñ
- LOOP π¼Ñ¡∞ΦáÑΓ ß«ñÑন¼«Ñ αÑú¿ßΓαá ßτÑΓτ¿¬á íѺ ¿º¼Ñ¡Ñ¡¿∩ Σ½áú«ó.|
- ÉÑú¿ßΓα ßτÑΓτ¿¬á - ECX (Ñß½¿ αẼÑα áñαÑßá 32 í¿Γá) ¿½¿ CX (Ñß½¿ αáº-
- ¼Ñα áñαÑßá 16 í¿Γ) - π¼Ñ¡∞ΦáÑΓß∩ ¬á¬ ßτÑΓτ¿¬ ¿ΓÑαᵿ⌐ íѺ º¡á¬á ¿ »α«-
- óÑα∩ÑΓß∩ (¡« Σ½áú¿ ¡Ñ πßΓá¡áó½¿óáεΓß∩). àß½¿ αÑú¿ßΓα ßτÑΓτ¿¬á ¡Ñ ¡π½Ñ-
- ó«⌐ ¿ ßíα«ΦÑ¡ Σ½áú αáóÑ¡ßΓóá ¡π½ε, Γ« ß«óÑαΦáÑΓß∩ ¬«α«Γ¬¿⌐ »ÑαÑσ«ñ,
- ¿ß»«½∞ºπ∩ 8-í¿Γ«ó«Ñ ß¼ÑΘÑ¡¿Ñ, ¡áσ«ñƒΘÑÑß∩ ó «»Ñαá¡ñÑ. æ¼ÑΘÑ¡¿Ñ »α¿íáó-
- ½∩ÑΓß∩ ¬ ßτÑΓτ¿¬π ¬«¼á¡ñ, ß««ΓóÑΓßΓóπεΘѼπ áñαÑßπ ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ.
- çá¼ÑΓ¿¼, «ñ¡á¬«, τΓ« ß¼ÑΘÑ¡¿Ñ - Γ«½∞¬« 8-í¿Γ«óá∩ óѽ¿τ¿¡á ß« º¡á¬«¼.
- ¥Γ« «úαá¡¿τ¿óáÑΓ º¡áτÑ¡¿∩ ß¼ÑΘÑ¡¿∩ «Γ - 128 ñ« + 127.
- Æ.«. φΓá ¬«¼á¡ñá µ¿¬½á ¼«ªÑΓ ß«óÑαΦáΓ∞ »ÑαÑσ«ñδ Γ«½∞¬« ó »αÑñѽáσ
- ßÑú¼Ñ¡Γá, ß«ñÑন¼«Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá, ß«ñÑন¼«Ñ αÑú¿ßΓαá ßÑú¼Ñ¡Γá
- ¡Ñ ¿º¼Ñ¡∩ÑΓß∩.
-
- Åα¿¼Ñα
- LOOPNE LOOP START óδ»«½¡∩ÑΓ ¿ΓÑαᵿ¿ ¬«½¿τÑßΓó« αáº, «»αÑñѽѡ¡«Ñ
- ó αÑú¿ßΓαÑ ßτÑΓτ¿¬á, »«¬á ZF=0 (Γ.Ñ. πß½«ó¿Ñ
- ¡Ñ óδ»«½¡∩ÑΓß∩)
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ LOOP.
- ─────────────────────────────────────────────────────────────────
-
- - 280 -
- ╔═══════════════════════════════════════════════════════╗
- ║LSL çáúαπº¬á úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ ßÑú¼Ñ¡Γá ó αÑú¿ßΓα║
- ╚═══════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬─────┬────────┬───────────────┐
- LSL │ 00001111 │ 00000011 │ mod │ red │ r/m │
- │ │ │αѪ¿¼│αÑú¿ßΓα │ αÑú¿ßΓα/»á¼∩Γ∞│
- └──────────┴──────────┴─────┴────────┴───────────────┘
- öπ¡¬µ¿∩
- IF ACCESS IS VALID (ßπΘÑßΓóπÑΓ ñ«ßΓπ»)
- THEN
- GENERAL REGISTER SEGMENT LIMIT OF GIVEN SELECTOR
- (αÑú¿ßΓα «íΘÑú« ¡áº¡áτÑ¡¿∩ «úαá¡¿τÑ¡¿Ñ ßÑú¼Ñ¡Γá ¿º ñá¡¡«ú«
- ßÑ½Ñ¬Γ«αá)
- ZF 1
- ELSE
- ZF 0
-
- Ä»¿ßá¡¿Ñ
- LSL ∩ó½∩ÑΓß∩ ¬«¼á¡ñ«⌐ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á, LSL ºáúαπªáÑΓ αáº-
- ½«ªÑ¡¡«Ñ ¡á ß«ßΓáó¡δÑ τáßΓ¿ (αáßΦ¿Σα«óá¡¡δ⌐) úαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ
- ßÑú¼Ñ¡Γá ¿º ñÑß¬α¿»Γ«αá, Ñß½¿ ñÑß¬α¿»Γ«α ∩ó½∩ÑΓß∩ "ó¿ñ¿¼δ¼" ó CPL
- («ß½áí½Ñ¡¡δ⌐ RPL ßÑ½Ñ¬Γ«αá).
- LSL ºáúαπªáÑΓ íá⌐Γ úαá¡¿τ¡«ú« º¡áτÑ¡¿∩ ßÑú¼Ñ¡Γá. àß½¿ úαá¡¿τ-
- ¡«Ñ º¡áτÑ¡¿Ñ í½«¬¿α«óá¡« »« ßΓαá¡¿µá¼ ó ñÑß¬α¿»Γ«αÑ, LSL "»ÑαÑñÑ-
- ½áÑΓ (trauslate) Ñú« ó íá⌐Γ úαá¡¿τ¡«ú« ß«ßΓ«∩¡¿∩ »ÑαÑñ ºáúαπº¬«⌐
- Ñú« ó αÑú¿ßΓα-»α¿Ñ¼¡¿¬ (ßñó¿ú í½«¬¿α«óá¡¡«ú« »« ßΓαá¡¿µá¼ úαá¡¿τ-
- ¡«ú« º¡áτÑ¡¿∩ ¡á 12 í¿Γ«ó ó½Ñó«, ºáΓѼ «»Ñαᵿ∩ êïê ß 00000FFFh).
- àß½¿ Γ¿» ñÑß¬α¿»Γ«αá ñ«ßΓπ»Ñ¡ ó CPL («ß½áí½Ñ¡¡δ⌐ RPL-ßÑ½Ñ¬Γ«-
- αá) πßΓá¡áó½¿óáÑΓ ZF=1, ¿¡áτÑ ZF=0
- éßÑ ñÑß¬α¿»Γ«αδ ßÑú¼Ñ¡Γá ßπΘÑßΓóπεΓ ¿ ñ«ßΓπ»¡δ, Ñß½¿ CPL («ß-
- ½áí½Ñ¡¡δ⌐ RPL ßÑ½Ñ¬Γ«αá) < DPL ñÑß¬α¿»Γ«αá. Äñ¡á¬«, »ÑαѬ½ετáΓѽ¿
- ¡Ñ ¿¼ÑεΓ ¼ÑßΓ« ó φΓ«⌐ ¬«¼á¡ñÑ, »«ß¬«½∞¬π «¡¿ ¡Ñ ¿¼ÑεΓ »«½∩ «úαá-
- ¡¿τÑ¡¿∩ (úαá¡¿τ¡«ú« »«½∩).
-
-
- - 281 -
- Åα¿¼Ñα
- LSL ECX, DESERIPTOR PTR ºáúαπªáÑΓ «»Ñαá¡ñ ¿º αÑú¿ßΓαá/»á¼∩Γ¿,
- ¿¡ΓÑα»αÑΓ¿απ∩ Ñú« ¬á¬ úαá¡¿τ¡«Ñ º¡á-
- τÑ¡¿Ñ ßÑú¼Ñ¡Γá, ß«ñÑαªáΘ¿Ñß∩ ó ñÑ߬-
- α¿»Γ«αÑ
- éαѼѡ¡δÑ σáαá¬ΓÑ»¿ßΓ¿¬¿
- üá⌐Γ úαá¡¿τ¡«ú« º¡áτÑ¡¿∩ ¿º «»Ñαá¡ñá-αÑú¿ßΓαá: 20 Γá¬Γ«óδσ
- ¿¼»π½∞ß«ó; 1,00 ¼¬ß »α¿ 20îâµ.
- üá⌐Γ úαá¡¿τ¡«ú« º¡áτÑ¡¿∩ ¿º «»Ñαá¡ñá-»á¼∩Γ¿: 21 Γá¬Γ«óδ⌐ ¿¼-
- »π½∞ß; ;1,05 ¼¬ß »α¿ 20 îâµ.
- âαá¡¿τ¡«Ñ º¡áτÑ¡¿Ñ ßΓαá¡¿µδ ¿º «»Ñαá¡ñá-αÑú¿ßΓαá: 25 Æê; 1,25
- ¼¬ß »α¿ 20 îâµ.
- âαá¡¿τ¡«Ñ º¡áτÑ¿Ñ ßΓαá¡¿µδ ¿º «»Ñαá¡ñá-»á¼∩Γ¿: 26 Æê; 1,3 ¼¬ß
- »α¿ 20îâµ.
- ö½áú¿
- ö½áú ZF πßΓá¡áó½¿óáÑΓß∩, ¬á¬ »«¬áºá¡« ó "öπ¡¬µ¿¿", «ßΓá½∞¡δÑ
- Σ½áú¿ ¡Ñ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ÅαÑαδóá¡¿Ñ 6. LST-¬«¼á¡ñá ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á ¿ ¡Ñ αáß»«º¡áÑΓ-
- ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ αÑá½∞¡«¼ αѪ¿¼Ñ, ¡« «íαáíáΓδóáÑΓß∩ ó ºáΘ¿-
- ΘÑ¡¡«ú« αѪ¿¼Ñ ¡á ¡π½Ñó«¼ πα«ó¡Ñ »α¿ó¿½Ñú¿α«óá¡¡«ßΓ¿. ö«α¼áΓ ßΓÑ-
- ¬á ¡π½Ñó«¼ πα«ó¡Ñ »α¿ó¿½Ñú¿⌐ »«ß½Ñ ¿ß¬½ετ¿Γѽ∞¡«⌐ ß¿Γπᵿ¿ »«¬á-
- ºá¡ ¡á α¿ß.12.2. èα«¼Ñ Γ«ú«, ¿ß¬½εñτ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡Ñ¿ß»αáó-
- ¡«ßΓ∞ ßΓαá¡¿µδ" (¿ß¬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ ) ß ¬«ñ«¼ «Φ¿í¬¿, αáó¡δ¼
- ¬«ñπ ¡Ñ¿ß»αáó¡«ßΓ¿ ¿ ½¿¡Ñ⌐¡δ¼ áñαÑß«¼ ¡Ñ¿ß»αáó¡«⌐ ßΓαá¡¿µδ ó αÑ-
- ú¿ßΓαÑ CR2.
- ─────────────────────────────────────────────────────────────────
-
- - 282 -
- ╔═══════════════════════════════════════════════╗
- ║LTR çáúαπº¿Γ∞ αÑú¿ßΓα ºáñáτ¿║
- ╚═══════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬──────────┬───────┬─────┬────────────────┐
- LTR │ 00001111 │ 00000000 │ αѪ¿¼ │ 001 │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴──────────┴───────┴─────┴────────────────┘
-
- öπ¡¬µ¿∩
- TR SELECTOR
- ßÑ½Ñ¬Γ«α (16-í¿Γ«óδ⌐ ßÑ½Ñ¬Γ«α)
-
- Ä»¿ßá¡¿Ñ
- LTR ∩ó½∩ÑΓß∩ ¬«¼á¡ñ«⌐ ºáΘ¿ΘÑ¡¡«ú« αѪ¿¼á. LTR ºáúαπªáÑΓ ßÑ-
- ½Ñ¬Γ«α ó TR (ÉÑú¿ßΓα ºáñáτ¿). Æá¬¿¼ «íαẫ¼ πßΓá¡áó½¿óáÑΓß∩ TSS
- (ßÑú¼Ñ¡Γ ß«ßΓ«∩¡¿∩ ºáñáτ¿) ºáñáτ¿. ¥Γ« ¡Ñ ∩ó½∩ÑΓß∩ »α¿τ¿¡«⌐ »Ñ-
- αѬ½ετÑ¡¿∩ ºáñáτ¿. äá¡¡δÑ αẼÑΘÑ¡¿∩ ¿ úαá¡¿µδ TSS ºáúαπªáεΓß∩ ¿º
- Γáí½¿µδ ñÑß¬α¿»Γ«α«ó, óóÑñÑ¡¡«⌐ ñ½∩ ñá¡¡«ú« ßÑ½Ñ¬Γ«αá. æÑ½Ñ¬Γ«α
- ñ«½ªÑ¡ ßßδ½áΓ∞ß∩ ¡á ¡Ñºá¡∩Γδ⌐ ñÑß¬α¿»Γ«α TSS (Γ¿» ñÑß¬α¿»Γ«αá 1
- ¿½¿ 9) ó GDT (Γáí½¿µá ú½«íá½∞¡δσ ñÑß¬α¿»Γ«α«ó).
- LTR - »α¿ó¿½Ñú¿α«óá¡¡á∩ ¬«¼á¡ñá, óδ»«½¡∩ÑΓß∩ Γ«½∞¬« ó πα«ó¡Ñ
- »α¿ó¿½Ñú¿⌐ 0.
-
- Åα¿¼Ñα
- LTR INITIAL TSS πßΓá¡áó½¿óáÑΓ ßÑú¼Ñ¡Γ ºáñáτ¿ ó ß««ΓóÑΓ-
- ßΓó¿¿ ß ßÑ½Ñ¬Γ«α«¼ ß ¿¼Ñ¡Ñ¼ INITIAL TSS
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- æÑ½Ñ¬Γ«α ó αÑú¿ßΓαÑ: 23 Æê; 1,15 ¼¬ß »α¿ 20 îâô.
- æÑ½Ñ¬Γ«α ó »á¼∩Γ¿: 27 Æê; 1,35 ¼¬ß »α¿ 20 îâû.
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ÅαÑαδóá¡¿Ñ 6. LTR - ºá»αÑΘÑ¡¡á∩ ¬«¼á¡ñá ó αÑá½∞¡«¼ αѪ¿¼Ñ.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" (¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h, Ñß½¿ CPL ¡Ñ αáó¡« 0. ê߬½ετ¿-
- Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" ß ¬«ñ«¼ «Φ¿í¬¿ "«Φ¿í«τ¡«ú«
- ßÑ½Ñ¬Γ«αá, Ñß½¿ «»Ñαá¡ñ-ßÑ½Ñ¬Γ«α ¡Ñ ßßδ½áÑΓß∩ ¡á GDT ¿½¿ ñÑß¬α¿»-
- Γ«α ßÑú¼Ñ¡Γá ß«ßΓ«∩¡¿∩ ºáñáτ¿. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿
- -Γá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "¡ÑóÑα¡δ⌐ ¬«ñ «»Ñαᵿ¿" (¿ß¬½ετ¿-
- Γѽ∞¡á∩ ß¿Γπᵿ∩ 6). LTR - ºá»αÑΘÑ¡¡á∩ ¬«¼á¡ñá ó αѪ¿¼Ñ "ó¿αΓπ-
- á½∞¡δ⌐ 8086".
- ─────────────────────────────────────────────────────────────────
-
- - 283 -
- ╔══════════════════════════════════════════════════════╗
- ║MOV ÅÑαÑß½áΓ∞ ó/¿º αÑú¿ßΓα «íΘÑú« ¡áº¡áτÑ¡¿∩║
- ╚══════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬───────┬─────────┬──────────┐ »«ñ»«ß½Ññ«-
- êº αÑú¿ßΓαá │ 1000100W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/ │ óáΓѽ∞¡δ⌐
- ó αÑú¿ßΓα/ │ │ │ │ »á¼∩Γ∞ │ íá⌐Γ
- »á¼∩Γ∞ └──────────┴───────┴─────────┴──────────┘ (íá⌐Γδ)
- êº AL/AX/EAX ┌──────────┐
- ó »á¼∩Γ∞ │ 1010001W │ »«½¡«Ñ ß¼ÑΘÑ¡¿Ñ
- (¬«α«Γ¬«Ñ └──────────┘
- ¬«ñ¿α«óá¡¿Ñ)
- êº αÑú¿ßΓ- ┌──────────┬───────┬─────────┬──────────┐
- αá »á¼∩Γ¿ │ 1000101W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/ │
- ó αÑú¿ßΓα │ │ │ │ »á¼∩Γ∞ │
- └──────────┴───────┴─────────┴──────────┘
- êº »á¼∩Γ¿ ó
- AL/AX/EAX ┌───────────┐
- (¬«α«Γ¬«Ñ │ 10010000W │ »«½¡«Ñ ß¼ÑΘÑ¡¿Ñ
- ¬«ñ¿α«óá¡¿Ñ) └───────────┘
- ìÑ»«ßαÑñ- üá⌐Γδ ¡Ñ- |
- ßΓóÑ¡¡δÑ ┌──────────┬───────┬─────────┬──────────┐ »«ßαÑñßΓ-
- ñá¡¡δÑ ó │ 1100011W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/ │ óÑ¡¡δσ
- αÑú¿ßΓα/ │ │ │ │ »á¼∩Γ∞ │ ñá¡¡δσ
- »á¼∩Γ∞ └──────────┴───────┴─────────┴──────────┘
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ ┌──────┬───┬─────────┐ üá⌐Γδ ¡Ñ»«ßαÑñßΓ-
- ñá¡¡δÑ ó αÑú¿ßΓα │ 1011 │ W │ αÑú¿ßΓα │ óÑ¡¡δσ ñá¡¡δσ
- └──────┴───┴─────────┘
-
- - 284 -
- öπ¡¬µ¿∩
- DESTINATION SOURCE
- (»α¿Ñ¼¡¿¬) (¿ßΓ«τ¡¿¬)
- ¿½¿
- DESTINATION IMMEDIATE DATA
- (¡Ñ»«ßαÑñßΓóÑ¡¡«
- ñá¡¡δÑ)
-
- Ä»¿ßá¡¿Ñ
- ÅÑαÑßδ½áÑΓ ¿ßΓ«τ¡¿¬á «»Ñαá¡ñá (αẼÑΘÑ¡¡δ⌐ ó αÑú¿ßΓαÑ, »á¼∩Γ¿
- ¿½¿ ¡Ñ»«ßαÑñßΓóÑ¡¡δÑ ñá¡¡δÑ ó »α¿Ñ¼¡¿¬ «»Ñαá¡ñá. êßσ«ñ¡δ⌐ «»Ñαá¡ñ
- «ßΓáÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿⌐, á «»Ñαá¡ñ-»α¿Ñ¼¡¿¬ »ÑαѺỿßδóáÑΓß∩ ¿ß-
- σ«ñ¡δ¼¿ ñá¡¡δ¼¿.
-
- Åα¿¼Ñα
- MOV ECX, EDX EDX-¿ßΓ«τ¡¿¬
- ECH-»α¿Ñ¼¡¿¬
- àß½¿ ECX=00000034h ¿ EDX=00000052h, Γ« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩
- ñá¡¡«⌐ ¬«¼á¡ñδ ECX »α¿¼ÑΓ º¡áτÑ¡¿∩ 00000052h. éßÑ Σ½áú¿ ¡Ñ ¿º¼Ñ-
- ¡∩εΓß∩.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑú¿ßΓα αÑú¿ßΓα: 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ÉÑú¿ßΓα »á¼∩Γ∞: 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- Åá¼∩Γ∞ αÑú¿ßΓα 4 Æê; 0,2 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 285 -
- ╔═════════════════════════════════════════════════╗
- ║MOV ÅÑαÑß佬á ó/¿º αÑú¿ßΓα ßÑú¼Ñ¡Γá║
- ╚═════════════════════════════════════════════════╝
- ö«α¼áΓ
- êº αÑú¿ßΓαá/»á¼∩Γ¿ ┌──────────┬───────┬─────────┬──────────┐
- ó ßÑú¼Ñ¡Γ¡δ⌐ │ 10001110 │ αѪ¿¼ │ ßÑú¼. │ αÑú¿ßΓα/ │
- αÑú¿ßΓα │ │ │ αÑú¿ßΓα │ »á¼∩Γ∞ │
- └──────────┴───────┴─────────┴──────────┘
- êº ßÑú¼Ñ¡Γ¡«ú« ┌──────────┬───────┬─────────┬──────────┐
- αÑú¿ßΓαá ó │ 10001100 │ αѪ¿¼ │ ßÑú¼. │ αÑú¿ßΓα/ │
- αÑú¿ßΓα/»á¼∩Γ∞ │ │ │ αÑú¿ßΓα │ »á¼∩Γ∞ │
- └──────────┴───────┴─────────┴──────────┘
-
- öπ¡¬µ¿∩
- SEGMENT REGISTER REGISTER/MEMORY (ºáúαπ¬á ßÑú¼Ñ¡Γ-
- (αÑú¿ßΓα ßÑú¼Ñ¡Γá) (αÑú¿ßΓα/»á¼∩Γ∞) ¡«ú« αÑú¿ßΓαá)
- REGISTER/MEMORY SEGMENT REGISTER (ºá»«¼¿¡á¡¿Ñ ß«ñÑα-
- ª¿¼«ú« ßÑú¼Ñ¡Γ¡«ú«
- αÑú¿ßΓαá)
-
- Ä»¿ßá¡¿Ñ
- çừ¼¿¡á¡¿Ñ ¿½¿ ºáúαπº¬á 16-í¿Γ«ó«ú« αÑú¿ßΓαá ßÑú¼Ñ¡Γá ó ¿½¿
- ¿º »á¼∩Γ¿ ¿½¿ αÑú¿ßΓαá. ä½∩ φΓ«⌐ ¬«¼á¡ñδ óßÑúñá ¿ß»«½∞ºπÑΓß∩
- 16-í¿Γ«óδ⌐ αẼÑα «»Ñαá¡ñá ¡Ñºáó¿ß¿¼« «Γ áΓα¿íπΓá ñ½¿¡δ «»Ñαá¡ñá.
- èᬠ¿ ó ñαπú¿σ ¬«¼á¡ñáσ MOV ¿ßΓ«τ¡¿¬ «»Ñαá¡ñá «ßΓáÑΓß∩ ¡Ñ¿º¼Ñ¡-
- ¡δ¼, á »α¿Ñ¼¡¿¬ «»Ñαá¡ñá »ÑαѺỿßδóáÑΓß∩ ñá¡¡δ¼¿ ¿º ¿ßΓ«τ¡¿¬á.
-
- Åα¿¼Ñα
- MOV DS, DATA AREA DS-»α¿Ñ¼¡¿¬
- DATA AREA-¿ßΓ«τ¡¿¬, ß«ñÑαªá-
- Θ¿⌐ 16-í¿Γ«óδ⌐ ßÑ½Ñ¬Γ«α, ¬«-
- Γ«αδ⌐ ºáúαπªáÑΓß∩ ó DS.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- çáúαπº¬á
- êº αÑú¿ßΓαá «íΘÑú« ¡áº¡áτÑ¡¿∩ 18 Æê; 0,9 ¼¬ß »α¿ 20 îâµ
- ó ßÑú¼Ñ¡Γ¡δ⌐ αÑú¿ßΓα
- êº »á¼∩Γ¿ ó ßÑú¼Ñ¡Γ¡δ⌐ αÑú¿ßΓα 19 Æê; 0,95 ¼¬ß »α¿ 20 îâµ
- çừ¼¿¡á¡¿Ñ
- êº ßÑú¼Ñ¡Γ¡«ú« αÑú¿ßΓαá ó αÑ-
- ú¿ßΓα «íΘÑú« ¡áº¡áτÑ¡¿∩ 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- êº αÑú¿ßΓαá ßÑú¼Ñ¡Γá ó »á¼∩Γ∞ 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩. ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿
- ¡Ñ «»¿ßá¡δ
- ─────────────────────────────────────────────────────────────────
-
- - 286 -
- ╔══════════════════════════════════════════════════╗
- ║MOV ÅÑαÑß佬á ó/¿º ß¿ßΓѼ¡δ⌐ αÑú¿ßΓα ║
- ╚══════════════════════════════════════════════════╝
- ö«α¼áΓ
- êº CRO/2/3 ó ┌──────────┬──────────┬────┬─────┬─────────┐
- αÑú¿ßΓα «íΘÑ - │ 00001111 │ 00100010 │ 11 │ rrr │ αÑú¿ßΓα │
- ú« ¡áº¡áτÑ¡¿∩ └──────────┴──────────┴────┴─────┴─────────┘
- êº αÑú¿ßΓαá ┌──────────┬──────────┬────┬─────┬─────────┐
- «íΘÑú« ¡áº¡á- │ 00001111 │ 00100000 │ 11 │ rrr │ αÑú¿ßΓα │
- τÑ¡¿∩ ó └──────────┴──────────┴────┴─────┴─────────┘
- CRO/2/3
- êº DRO/1/2/36/7 ┌──────────┬──────────┬────┬─────┬─────────┐
- ó αÑú¿ßΓα «íΘÑ- │ 00001111 │ 00100011 │ 11 │ rrr │ αÑú¿ßΓα │
- ú« ¡áº¡áτÑ¡¿∩ └──────────┴──────────┴────┴─────┴─────────┘
- êº αÑú¿ßΓαá «í- ┌──────────┬──────────┬────┬─────┬─────────┐
- ΘÑú« ¡áº¡áτÑ¡¿∩ │ 00001111 │ 00100001 │ 11 │ rrr │ αÑú¿ßΓα │
- ó DRO/1/2/3/6/7 └──────────┴──────────┴────┴─────┴─────────┘
- êç TR 6/7 ó αÑ- ┌──────────┬──────────┬────┬─────┬─────────┐
- ú¿ßΓαÑ «íΘÑú« │ 00001111 │ 00100110 │ 11 │ rrr │ αÑú¿ßΓα │
- ¡áº¡áτÑ¡¿∩ └──────────┴──────────┴────┴─────┴─────────┘
- êº αÑú¿ßΓαá «í- ┌──────────┬──────────┬────┬─────┬─────────┐
- ΘÑú« ¡áº¡áτÑ¡¿∩ │ 00001111 │ 00100100 │ 11 │ rrr │ αÑú¿ßΓα │
- TR 6/7 └──────────┴──────────┴────┴─────┴─────────┘
- rrr CONTROL REGISTER DEBUG REGISTER TEST REGISTER
- (αÑú¿ßΓα π»αáó½Ñ¡¿∩) (αÑú¿ßΓα «Γ½áñ¬¿) (αÑú¿ßΓα ΓÑßΓ¿α«-
- óá¡¿∩)
- 000 CRO DRO
- 001 DR1
- 010 CR2 DR2
- 011 CR3 DR3
- 100
- 101
- 110 DR6 TR6
- 111 DR7 TR7
-
- - 287 -
- öπ¡¬µ¿∩
- SYSTEM REGISTER GENERAL REGISTER (ºáúαπº¬á ß¿ßΓѼ-
- (ß¿ßΓѼ¡δ⌐ αÑú¿ßΓα) (αÑú¿ßΓα «íΘÑú« ¡«ú« αÑú¿ßΓαá)
- ¡áº¡áτÑ¡¿∩)
- ¿½¿
- GENERAL REGISTER SYSTEM REGISTER (ºá»«¼¿¡á¡¿Ñ ß«ñÑন-
- ¼«ú« ß¿ßΓѼ¡«ú« αÑ-
- ú¿ßΓαá)
- Ä»¿ßá¡¿Ñ
- çừ¼¿¡á¡¿Ñ ¿½¿ ºáúαπº¬á 32-í¿Γ«ó«ú« ß¿ßΓѼ¡δσ αÑú¿ßΓα«ó (αÑ-
- ú¿ßΓαδ π»αáó½Ñ¡¿∩, αÑú¿ßΓαδ «Γ½áñ¬¿ ¿ ßΓαá¡¿τ¡«ú« »αÑ«íαẫóá¡¿∩)
- ¿º 32 í¿Γ«ó«ú« αÑú¿ßΓαá «íΘÑú« ¡áº¡áτÑ¡¿∩. ä½∩ φΓ«⌐ ¬«¼á¡ñδ óßÑú-
- ñá ¿ß»«½∞ºπÑΓß∩ 32-í¿Γ«óδ⌐ αẼÑα «»Ñαá¡ñá ¡Ñºáó¿ß¿¼« «Γ áΓα¿íπΓá
- ñ½¿¡δ «»Ñαá¡ñá. èᬠ¿ ó ñαπú¿σ ¬«¼á¡ñáσ MOV ¿ßΓ«τ¡¿¬ «»Ñαá¡ñá «ß-
- ΓáÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿⌐ ¿ »α¿Ñ¼¡¿¬ «»Ñαá¡ñá »ÑαѺỿßδóáÑΓß∩ ñá¡¡δ¼¿
- ¿º ¿ßΓ«τ¡¿¬á.
-
- Åα¿¼Ñα
- MOV EAX, CR2 EAX-»α¿Ñ¼¡¿¬, CR2-¿ßΓ«τ¡¿¬, φΓ«Γ
- »α¿¼Ñα ¼«ªÑΓ »«∩ó¿Γ∞ß∩ ó »α«úαá¼¼Ñ,
- ¬«Γ«αá∩ ¿ßß½ÑñπÑΓ áñαÑß ¡Ñ¿ß»αáó¡«⌐
- ßΓαá¡¿µδ ñ½∩ »α«úαá¼¼δ «íαáí«Γ¬¿
- ¡Ñ¿ß»αáó¡«ßΓ¿ ßΓαá¡¿µδ
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- çáúαπº¬á
- êº αÑú¿ßΓαá ó CRO/2/3 10 Æê; 0,5 ¼¬ß »α¿ 20 îâµ
- êº αÑú¿ßΓαá ó DR 0-3 11 Æê; 1,1 ¼¬ß »α¿ 20 îâµ
- êº αÑú¿ßΓαá ó DR 6/7 16 Tê; 0,8 ¼¬ß »α¿ 20 îâµ
- êº αÑú¿ßΓαá ó TR 6/7 12 Æê; 0,6 ¼¬ß »α¿ 20 îâµ
- çừ¼¿¡á¡¿Ñ
- êº CRO/2/3 ó αÑú¿ßΓα 6 Æê; 0,3 ¼¬ß »α¿ 20 îâµ
- êº DRO/3 ó αÑú¿ßΓα 22 Æê; 1,1 ¼¬ß »α¿ 20 îâµ
- êº DR 6/7 ó αÑú¿ßΓα 14 Æê; 0,7 ¼¬ß »α¿ 2 îâµ
- êº TR 6/7 ó αÑú¿ßΓα 12 Æê; 0,6 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- ìÑΓ. ¥Γá ¬«¼á¡ñá ¼«ªÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ó αÑá½∞¡«¼ αѪ¿¼Ñ.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" (¿ß¬½ετ¿Γѽ∞¡á∩
- ß¿Γπᵿ∩ 13) ß ¬«ñ«¼ «Φ¿í¬¿ 0000h, Ñß½¿ ΓѬπΘ¿⌐ πα«óÑ¡∞ »α¿ó¿½Ñ-
- ú¿⌐ ¡Ñ ¡π½Ñó«⌐. é ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ φΓá ¬«¼á¡ñá ¼«ªÑΓ óδ»«½¡∩Γ∞ß∩
- Γ«½∞¬« »α¿ πα«ó¡Ñ »α¿ó¿½Ñú¿α«óá¡¡«ßΓ¿ 0.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡«⌐ 8086"
- ê߬½ετ¿Γѽ∞¡á∩ ß¿Γπᵿ∩ "ßΓá¡ñáαΓ¡á∩ ºáΘ¿Γá" ß ¬«ñ«¼ «Φ¿í¬¿
- 0000h, Ñß½¿ »α«¿ºóÑñÑ¡á »«»δΓ¬á óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ. ¥Γ« »α«¿ßσ«-
- ñ¿Γ »«Γ«¼π, τΓ« ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086" CPL=3.
- ─────────────────────────────────────────────────────────────────
-
- - 288 -
- ╔════════════════════════════════════════════════════╗
- ║MOVSB/MOVSW/MOVSD ÅÑαÑß½áΓ∞ ßΓ᫬π ñá¡¡δσ ║
- ║ (ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«)║
- ╚════════════════════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐
- MOVSB/MOVSD/MOVSD │ 1010010W │
- └──────────┘
-
- öπ¡¬µ¿∩
- DESTINATION SOURCE ( )
- (»α¿Ñ¼¡¿¬) (¿ßΓ«τ¡¿¬) «»Ñαá¡ñ«ó)
- IF (ADRESS SIZE=32) THEN
- (αẼÑα áñαÑßá)
- (ADYUST ESIAND EDI; (πßΓá¡«ó¬á ¿¡ñѬ߫ó ñ½∩ ¿ßΓ«τ¡¿¬á
- ¿ »α¿Ñ¼¡¿¬á)
- ELSE (Ñß½¿ αẼÑα áñαÑßá 16)
- ADYUST SI and DI
-
- Ä»¿ßá¡¿Ñ
- ÅÑαÑßδ½áÑΓ «»Ñαá¡ñδ ¿º ßΓ᫬¿ »á¼∩Γ¿-¿ßΓ«τ¡¿¬á ó "ßΓ᫬π »á-
- ¼∩Γ¿" - »α¿Ñ¼¡¿¬. Å«ñαáºπ¼ÑóáÑΓß∩, τΓ« ßΓ᫬á - φΓ« ¼áßß¿ó
- íá⌐Γ«ó, ß½«ó ¿½¿ ñó«⌐¡δσ ß½«ó (ó ºáó¿ß¿¼«ßΓ¿ «Γ αẼÑαá «»Ñαá¡ñá
- ó ßΓα«¬Ñ ¬«¼á¡ñδ). Å«ß½Ñ Γ«ú«, ¬á¬ »ÑαÑßδ½¬á »α«¿ºóÑñÑ¡á, ¿¡-
- ñѬߡδÑ αÑú¿ßΓαδ ¿ßΓ«τ¿¬á ¿¬ »α¿Ñ¼¡¿¬á áóΓ«¼áΓ¿τÑ߬¿ ¿º¼Ñ¡∩εΓß∩
- (πóѽ¿τ¿óáεΓß∩ ¿½¿ π¼Ñ¡∞ΦáεΓß∩, óºáó¿ß¿¼«ßΓ¿ «Γ DF) ¡á óѽ¿τ¿¡π,
- αáó¡πε αẼÑαπ «»Ñαá¡ñá.
- àß½¿ αẼÑα áñαÑßá ¬«¼á¡ñδ - ñó«⌐¡«Ñ ß½«ó«, Γ« ¿ßσ«ñ¡á∩ ßΓα«-
- ¬á - [ESI], »«¬á «»Ñαá¡ñ-»α¿Ñ¼¡¿¬ ÑßΓ∞ ES: [EDI]. ê¡áτÑ «»Ñαá¡ñδ
- - [SI] ¿ [DI]. çáúαπº¬á »αáó¿½∞¡δσ º¡áτÑ¡¿⌐ ¿¡ñѬ߫ó »α«¿ºó«ñ¿Γß∩
- »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ ¬«¼á¡ñδ MOVS'.
-
- Åα¿¼Ñα
- MOVSD ßαáó¡¿óáÑΓ íá⌐Γ«óδ⌐ «»Ñαá¡ñ ¿º ßΓ᫬ íá⌐Γ«ó
- ¿½¿
- REP MOVSD »«óΓ«α∩ÑΓ MOVS, »«¬á ¡Ñ "¬«¡τ¿Γß∩" ECX.
- (ß¼. ßΓα. 457)
- Æ.¬. αÑú¿ßΓα ¿ßΓ«τ¡¿¬á ¿ »α¿Ñ¼¡¿¬á ñ«½ª¡δ íδΓ∞ ºáúαπªÑ¡δ ñ½∩
- ¿ß»«½∞º«óá¡¿∩ φΓ«⌐ ¬«¼á¡ñδ, MOVS τáßΓ« óßΓαÑτáÑΓß∩ ó µ¿¬½áσ ¿ ¿ß-
- »«½∞ºπÑΓß∩ ñ½∩ óδ»«½¡Ñ¡¿∩ ¡Ñ߬«½∞¬¿σ «»Ñαᵿ⌐.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- üѺ »«óΓ«αÑ¡¿⌐: 7 Æê; 0,35 ¼¬ß »α¿ 20 îâµ
- æ »«óΓ«αÑ¡¿Ñ¼: 1 4 n Æê; (0,35 +0,2n ¼¬ß »α¿ 2 îâµ
- (n - τ¿ß½« óδ»«½¡∩Ѽδσ ¿ΓÑαᵿ⌐)
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ ó¿αΓπá½∞¡«⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 289 -
- ╔════════════════════════════════════════════════════╗
- ║MOVSX ÅÑαÑß佬á ñá¡¡δσ, ß ñ«íáó½Ñ¡¡δ¼ º¡á¬«¼║
- ╚════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1 íá⌐Γ 2
- ┌──────────┬──────────┬───────┬─────────┬──────────┐
- │ 00001111 │ 1011111W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/ │
- │ │ │ │ │ »á¼∩Γ∞ │
- └──────────┴──────────┴───────┴─────────┴──────────┘
-
- öπ¡¬µ¿∩
- DESTINATION SIGN - EXTEND (SOURCE BYTE)
- (»α¿Ñ¼¿¡¿¬) (ñ«íáó½Ñ¡¡δ⌐ (¿ßσ«ñ¡δ⌐
- º¡á¬) íá⌐Γ)
-
- Ä»¿ßá¡¿Ñ
- ÅÑαÑßδ½áÑΓ ¿ßσ«ñ¡δ⌐ «»Ñαá¡ñ (íá⌐Γ ó αÑú¿ßΓαÑ ¿½¿ íá⌐Γ ó »á-
- ¼∩Γ¿) ó »α¿Ñ¼¡¿¬ «»Ñαá¡ñá αẼÑα«¼ ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«, ñ«-
- »«½¡¿ó Ñú« º¡á¬«¼. êßΓ«τ¡¿¬ «»Ñαá¡ñá «ßΓáÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿⌐, »α¿-
- Ѽ¡¿¬ «»Ñαá¡ñá »ÑαѺỿßδóáÑΓß∩ ñá¡¡δ¼¿, αáßΦ¿αÑ¡¡δ¼¿ º¡á¬«¼.
-
- Åα¿¼Ñα
- MOVSX ECX, DL ECT »«½πτáÑΓ íá⌐Γ, αáßΦ¿αÑ¡¡δ⌐ º¡á¬«¼
- ¿º DL
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- êº αÑú¿ßΓαá ó αÑú¿ßΓα: 3Æê; 0,15 ¼¬ß »α¿ 20 îâµ
- êº »á¼∩Γ¿ ó αÑú¿ßΓα: 6 Æê; 0,3 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 290 -
- ╔═══════════════════════════════════════════════════════╗
- ║MOVZX ÅÑαÑß佬á ñá¡¡δσ ß ñ«»«½¡Ñ¡¿Ñ¼ ¡π½Ñ⌐║
- ╚═══════════════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬──────────┬───────┬─────────┬────────────────┐
- │ 00001111 │ 1011011W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴──────────┴───────┴─────────┴────────────────┘
-
- öπ¡¬µ¿∩
- DESTINATION ZERO-EXTEND (SOURCE BYTE)
- (»α¿Ñ¼¡¿¬) (αáßΦ¿αÑ¡¿Ñ (¿ßσ«ñ¡δ⌐
- ¡π½Ñ¼) íá⌐Γ)
-
- Ä»¿ßá¡¿Ñ
- ÅÑαÑßδ½áÑΓ ¿º ¿ßΓ«τ¡¿¬á «»Ñαá¡ñá (íá⌐Γ ó αÑú¿ßΓαÑ ¿½¿ íá⌐Γ ó
- »á¼∩Γ¿) ó »α¿Ñ¼¡¿¬ «»Ñαá¡ñá (ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«) «»Ñαá¡ñ,
- ñ«»«½¡¿ó Ñú« ¡π½Ñ¼. êßΓ«τ¡¿¬ «»Ñαá¡ñá «ßΓáÑΓß∩ íѺ ¿º¼Ñ¡Ñ¡¿∩, á
- »α¿Ñ¼¡¿¬ »ÑαѺỿßδóáÑΓß∩ ¿ßσ«ñ¡δ¼¿ ñá¡¡δ¼¿, αáßΦ¿αÑ¡¡δ¼¿ ¡π½Ñ¼.
-
- Åα¿¼Ñα
- MOVSX EBX, BL EBX »«½πτáÑΓ íá⌐Γ ¿º BL, αáßΦ¿αÑ¡¡δ⌐ ¡π½Ñ¼
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÅÑαÑßδ½¬á ¿º
- αÑú¿ßΓαá ó αÑú¿ßΓα 3Æê; 0,15 ¼¬ß »α¿ 20 îâµ
- ¿º »á¼∩Γ¿ ó αÑú¿ßΓα 6Æê; 0,3 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 291 -
- ╔═════════════════════════════════════════════╗
- ║MUL ô¼¡«ªÑ¡¿Ñ íѺ πτÑΓá º¡á¬á║
- ╚═════════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬───────┬─────┬────────────────┐
- │ 1111011W │ αѪ¿¼ │ 110 │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴───────┴─────┴────────────────┘
-
- öπ¡¬µ¿∩
- AL/AX/EAX DESTINATION σ SOURCE
- (»α¿Ñ¼¡¿¬) (¿ßΓ«τ¡¿¬)
- ¿½¿
- AL/AX/EAX DESTINATION σ IMMEDIATE DATA
- (»α¿Ñ¼¡¿¬) (¡Ñ»«ßαÑñßΓóÑ¡-
- ¡δÑ ñá¡¡δÑ)
-
- Ä»¿ßá¡¿Ñ
- MUL óδ»«½¡∩ÑΓ π¼¡«ªÑ¡¿Ñ íѺ º¡á¬á. 諼á¡ñδ MUL ¿ß»«½∞ºπÑΓ αÑ-
- ú¿ßΓα AL/AX/EAX ¬á¬ »α¿Ñ¼¡¿¬ αѺπ½∞ΓáΓá ¿ «ñ¿¡ ß«¼¡«ª¿Γѽ∞.
-
- Åα¿¼Ñα
- MUL ECX EDX
- àß½¿ ECX=00000034h ¿ EDX=00000032h, Γ« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩
- ñá¡¡«⌐ «»Ñαᵿ¿ ó ECX íπñÑΓ 000010A8h.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- MUL ¿ß»«½∞ºπÑΓ á½ú«α¿Γ¼ (larby-finish) αá¡¡Ñú« «¬«¡τá¡¿∩. ÆαÑ-
- íπѼ«Ñ ñ½∩ ºáóÑαΦÑ¡¿∩ ¬«¼á¡ñδ τ¿ß½« µ¿¬½«ó «»αÑñѽ∩ÑΓß∩ »«º¿µ¿Ñ⌐
- º¡áεΘÑú« í¿Γá ó «»Γ¿¼¿º¿απѼ«¼ ß«¼¡«ª¿ΓѽÑ.
- êº αÑú¿ßΓαá ó AL/AX/EAX: 9-41 Æê; 0,45-2,05 ¼¬ß »α¿ 20 îâµ
- êº »á¼∩Γ¿ AL/AX/EAX: 12-44 Æê; 0,6-2,2 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- OF ¿ CF πßΓá¡áó½¿óáεΓß∩ ¬á¬ «»¿ßá¡« ó »α¿½«ªÑ¡¿¿ Ç.
- SF, ZF, AF ¿ PF ¡Ñ «»αÑñѽѡδ. ÄßΓá½∞¡δÑ Σ½áú¿ ¡Ñ ¿º¼Ñ¡∩εΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ »α¿ αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 292 -
- ╔══════════════════════════════════════════╗
- ║NEG ê¡óÑαΓ¿α«óá¡¿Ñ║
- ╚══════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌───────────┬───────┬─────┬────────────────┐
- │ 1111011W │ αѪ¿¼ │ 011 │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └───────────┴───────┴─────┴────────────────┘
-
- öπ¡¬µ¿∩
- DESTINATION 0 - DESTENATION
- (»α¿Ñ¼¡¿¬) (0 - »α¿Ñ¼¡¿¬)
-
- Ä»¿ßá¡¿Ñ
- Ä»Ñαá¡ñ ¿¡óÑαΓ¿απÑΓß∩. Ä»Ñαá¡ñ ¿ß»«½∞ºπÑΓß∩ ¬á¬ »α¿Ñ¼¡¿¬
- αѺπ½∞ΓáΓá.
-
- Åα¿¼Ñα NEG EAX
- àß½¿ EAX=00000281h, Γ« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ
- EAX íπñÑΓ αáó¡« FFFFFD7Fh.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑú¿ßΓα-αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ÉÑú¿ßΓα-»á¼∩Γ∞ 7 Æê; 0,35 ¼¬ß »α¿ 20 îâµ
- Åá¼∩Γ∞-αÑú¿ßΓα 6 Æê; 0,3 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - »á¼∩Γ∞ 7 Æê; 0,35 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- OF, CF, SF, ZF, AF ¿ PF πßΓá¡áó½¿óáεΓß∩, ¬á¬ »«¬áºá¡« ó
- »α¿½«ªÑ¡¿¿ Ç. ÄßΓá½∞¡δÑ Σ½áú¿ ¡Ñ ¿º¼Ñ¡∩εΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 293 -
- ╔═══════════════════════════════════════╗
- ║NOP ìÑΓ «»Ñαᵿ¿║
- ╚═══════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐
- │ 10010000 │
- NOP └──────────┘
-
- öπ¡¬µ¿∩
- EIP πóѽ¿τ¿óáÑΓß∩ ñ½∩ ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ
- (ßτÑΓτ¿¬ ¬«¼á¡ñ)
-
- Ä»¿ßá¡¿Ñ
- 諼á¡ñá ¡Ñ óδ»«½¡∩ÑΓ ¡¿¬á¬¿σ ßπΘÑßΓóÑ¡¡δσ Σπ¡¬µ¿⌐. æτÑΓτ¿¬
- ¬«¼á¡ñ πóѽ¿τ¿óáÑΓß∩ ñ½∩ ß½ÑñπεΘÑ⌐ ¬«¼á¡ñδ. NOP - ñαπúá∩ ¼¡Ñ¼«¡¿-
- ¬á ¬«¼á¡ñδ XCHG AX, AX.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- çÆê; 0,15 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δσ ß¿Γπᵿ¿ ó ½εí«¼ αѪ¿¼Ñ ¡ÑΓ.
- ─────────────────────────────────────────────────────────────────
-
- - 294 -
- ╔══════════════════════════════════════════════╗
- ║NOT ï«ú¿τÑ߬«Ñ ñ«»«½¡Ñ¡¿Ñ║
- ╚══════════════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┬───────┬─────┬────────────────┐
- NOT │ 1111011W │ αѪ¿¼ │ 010 │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴───────┴─────┴────────────────┘
-
- öπ¡¬µ¿∩
- DESTINAT FON DESTINATION
- Ä»¿ßá¡¿Ñ
- éδ»«½¡∩ÑΓ »«í¿Γ«ó«Ñ ½«ú¿τÑ߬«Ñ ñ«»«½¡Ñ¡¿Ñ «»Ñαá¡ñá. Ä»Ñαá¡ñ
- ÑΘÑ ¿ß»«½∞ºπÑΓß∩ ¬á¬ »α¿Ñ¼¡¿¬ αѺπ½∞ΓáΓá.
-
- Åα¿¼Ñα
- NOT ECX
- àß½¿ ECX=90AD9034h, Γ« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩ ¬«¼á¡ñδ º¡áτÑ¡¿Ñ
- ECX íπñÑΓ 6F526FCDh.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑú¿ßΓα-αÑú¿ßΓα 2Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ÉÑú¿ßΓα-»á¼∩Γ∞ 7 Æê; 0,35 ¼¬ß »α¿ 20 îâµ
- Åá¼∩Γ∞-αÑú¿ßΓα 6 Æê; 0,3 ¼¬ß»α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - »á¼∩Γ∞ 7 Æê;,35 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- OF=0; CF=0; SF, ZF ¿ PF πßΓáó½¿óáεΓß∩ ¬á¬ «»¿ßá¡« ó
- »α¿½«ªÑ¡¿¿ 2. ÄßΓá½∞¡δÑ Σ½áú¿ ¡Ñ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 295 -
- ╔══════════════════════════════════════════╗
- ║OR ï«ú¿τÑ߬«Ñ êïê║
- ╚══════════════════════════════════════════╝
- ö«α¼áΓ
- íá⌐Γ 0 íá⌐Γ 1
- ┌──────────┬───────┬─────────┬────────────────┐
- αÑú¿ßΓα-αÑú¿ßΓα │ 000010dW │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴───────┴─────────┴────────────────┘
- ┌──────────┬───────┬─────────┬────────────────┐
- αÑú¿ßΓα-»á¼∩Γ∞ │ 0000100W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴───────┴─────────┴────────────────┘
- ┌──────────┬───────┬─────────┬────────────────┐
- »á¼∩Γ∞/αÑú¿ßΓα │ 0000101W │ αѪ¿¼ │ αÑú¿ßΓα │ αÑú¿ßΓα/»á¼∩Γ∞ │
- └──────────┴───────┴─────────┴────────────────┘
- ┌──────────┬───────┬─────┬──────────┐
- ìÑ»«ßαÑñßΓóÑ¡- │ 100000SW │ αѪ¿¼ │ 001 │ αÑú¿ßΓα/ │ íá⌐Γδ
- ¡δÑ ñá¡¡δÑ - │ │ │ │ »á¼∩Γ∞ │ ñá¡¡δσ
- »á¼∩Γ∞-αÑú¿ßΓα └──────────┴───────┴─────┴──────────┘
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ ┌──────────┐
- ñá¡¡δÑ - AL/AX/EAX │ 0000110W │ íá⌐Γδ
- (¬«α«Γ¬«Ñ ¬«ñ¿α«- └──────────┘ ñá¡¡δσ
- óá¡¿Ñ)
-
- öπ¡¬µ¿∩
- DESTINATION DESTINATION V SOURCE
- ¿½¿
- DESTINATION DESTINATION V IMMEDIATE DATA
-
- Ä»¿ßá¡¿Ñ
- éδ»«½¡∩ÑΓ »«í¿Γ¡« «»Ñαᵿε êïê ¡áñ ñóπ¼∩ «»Ñαá¡ñἿ. Äñ¿¡
- «»Ñαá¡ñ ÑΘÑ ¿ß»«½∞ºπÑΓß∩ ¬á¬ »α¿Ñ¼¡¿¬ αѺπ½∞ΓáΓá.
-
- Åα¿¼Ñα
- OR EBX, EDI
- àß½¿ EBX=00AD9034h, EDI=03800052h, Γ« ó αѺπ½∞ΓáΓÑ óδ»«½¡Ñ¡¿∩
- φΓ«⌐ ¬«¼á¡ñδ íπñÑΓ EBX=OBAD9070h.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑú¿ßΓα-αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ÉÑú¿ßΓα-»á¼∩Γ∞ 7 Æê; 0,355 ¼¬ß »α¿ 20 îâµ
- Åá¼∩Γ∞-αÑú¿ßΓα 6 Æê; 0,3 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - αÑú¿ßΓα 2 Æê; 0,1 ¼¬ß »α¿ 20 îâµ
- ìÑ»«ßαÑñßΓóÑ¡¡δÑ
- ñá¡¡δÑ - »á¼∩Γ∞ 7 Æê; 0,35 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- OF=0; CF=0; SF, ZF ¿ Éö πßΓá¡áó½¿óáεΓß∩ ¬á¬ «»¿ßá¡« ó »α¿½«ªÑ¡¿¿
- Ç. ÄßΓá½∞¡δÑ Σ½áú¿ ¡Ñ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 296 -
- ╔═════════════════════════════════╗
- ║OUT éδó«ñ║
- ╚═════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐ 8 í¿Γ«óδ⌐ ¡«¼Ñα
- ìÑ»«ßαÑñßΓóÑ¡¡δ⌐ »«αΓ (OO-FFh) │ 1110010W │ »«αΓá
- └──────────┘
- ┌──────────┐
- é »«αΓ, «»αÑñѽ∩Ѽδ⌐ αÑú¿ßΓα«¼ DX (0000-FFFFh) │ 1110110é │
- └──────────┘
- öπ¡¬µ¿∩
- DESTINATION PORT DX (óδ»«ñ ñá¡¡δσ)
-
- Ä»¿ßá¡¿Ñ
- éδó«ñ «»Ñαá¡ñá ¿º AL/AX/EAX (ó ºáó¿ß¿¼«ßΓ¿ «Γ αẼÑαá «»Ñαá¡-
- ñá ó ¬«¼á¡ñÑ íá⌐Γ, ß½«ó« ¿½¿ ñó«⌐¡«Ñ ß½«ó«). Ä»Ñαá¡ñ »ÑαÑñáÑΓß∩ ó
- »«αΓ, «»αÑñѽ∩Ѽδ⌐ αÑú¿ßΓα«¼ DX ¿½¿ ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »«½Ñ ñá¡δσ.
- ¥Γá ¬«¼á¡ñá óßÑúñá ñ«ßΓπ»¡á ó αÑá½∞¡«¼ αѪ¿¼Ñ. é ºáΘ¿ΘÑ¡¡«¼
- αѪ¿¼Ñ φΓá ¬«¼á¡ñá ñ«ßΓπ»¡á óßÑúñá, Ñß½¿ CPL < IOPL. àß½¿ ó ºáΘ¿-
- ΘÑ¡¡«¼ αѪ¿¼Ñ CPL > IOPL, Γ« ¬áαΓá αáºαÑΦÑ¡¿∩ óó«ñá-óδó«ñá «»αÑ-
- ñѽ∩ÑΓ αáºαÑΦÑ¡á ½¿ ¬«¼á¡ñá. éßÑ ñÑ⌐ßΓó¿Γѽ∞¡δÑ í¿Γδ ó ¬áαΓÑ αáº-
- αÑΦÑ¡¿∩ óó«ñáóδó«ñá ñ«½ª¡δ íδΓ∞ πßΓá¡«ó½Ñ¡δ ó 0 ñ½∩ óδ»«½¡Ñ¡¿∩
- óó«ñá-óδó«ñá. é αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086" ¬áαΓá αáºαÑΦÑ¡¿∩ óó«-
- ñá-óδó«ñá «»αÑñѽ∩ÑΓ αáºαÑΦÑ¡á ½¿ ¬«¼á¡ñá OUT.
- OUT óδó«ñ «»Ñαá¡ñá ó »«αΓ, «»αÑñѽ∩Ѽδ⌐ αÑú¿ßΓα«¼ DX
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑá½∞¡δ⌐ αѪ¿¼
- éδó«ñ ó »«αΓ, «»αÑñѽ∩Ѽδ⌐ 10 Æê; 0,5 ¼¬ß »α¿ 20 îâµ
- ¡Ñ»«ßαÑñßΓóÑ¡¡« »«½Ñ¼ ¬«-
- ¼á¡ñδ
- 꺼ѡ∩Ѽδ⌐ »«αΓ 11Æê; 0,55 ¼¬ß »α¿ 20 îâµ
- çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ CPL < IOPL
- éδó«ñ ó »«αΓ, «»αÑñѽ∩Ѽδ⌐ 4 Æê; 0,2 ¼¬ß »α¿ 20 îâµ
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »«½Ñ
- ¬«¼á¡ñδ
- 꺼ѡ∩Ѽδ⌐ »«αΓ 5 Æê; 0,25 ¼¬ß »α¿ 20 îâµ
- çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ CPL > IOPL
- éδó«ñ ó »«αΓ, «»αÑñѽ∩Ѽδ⌐ 24 Æê; 1,2 ¼¬ß »α¿ 20 îâµ
- ¡Ñ»«ßαÑñßΓóÑ¡¡«ó »«½Ñ
- ¬«¼á¡ñδ
- 꺼ѡ∩Ѽδ⌐ »«αΓ 25 Æê; 1,25 ¼¬ß »α¿ 20 îâµ
- ÉѪ¿¼ "ó¿αΓπá½∞¡δ⌐ 8086"
- éδó«ñ ó »«αΓ, «»αÑñѽ∩Ѽδ⌐ 24 Æê; 1,2 ¼¬ß »α¿ 20 îâµ
- ¡Ñ»«ßαÑñßΓóÑ¡¡« ó »«½Ñ
- ¬«¼á¡ñδ
- 꺼ѡ∩Ѽδ⌐ »«αΓ 25 Æê; 1,25 ¼¬ß »α¿ 20 îâµ
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáεΓß∩.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡«¼ αѪ¿¼Ñ
- àß½¿ CPL > IOPL, Γ« ¬áαΓá αáºαÑΦÑ¡¿∩ óó«ñá-óδó«ñá ñ«½ª¡á ñ«-
- »π߬áΓ∞ óó«ñ-óδó«ñ ó« óßÑ íá⌐Γ«óδÑ »«αΓδ.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- èáαΓá αáºαÑΦÑ¡¿∩ óó«ñá-óδó«ñá ñ«½ª¡á ñ«»π߬áΓ∞ óó«ñ-óδó«ñ ¡á
- óßÑ íá⌐Γ«óδÑ »«αΓδ. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ Γá¬¿Ñ ªÑ,
- ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ─────────────────────────────────────────────────────────────────
-
- - 297 -
- ╔═══════════════════════════════════════════════╗
- ║OUTSB/OUTSW/OUTSD éδó«ñ ßΓ᫬¿ ñá¡¡δσ║
- ╚═══════════════════════════════════════════════╝
- ö«α¼áΓ
- ┌──────────┐
- │ 0110111W │
- └──────────┘
-
- öπ¡¬µ¿∩
- PORT DX SOURCE óδó«ñ ñá¡¡δσ
- IF (ADRESS SIZE = 32) THEN ¿º¼Ñ¡Ñ¡¿Ñ ¿¡ñѬßá ¿ßΓ«τ-
- ¡¿¬á «»Ñαá¡ñá
- ADYUST EST
- ELSE
- ADYUST SI address size = 16
- (αẼÑα áñαÑßá)
- Ä»¿ßá¡¿Ñ
- éδó«ñ¿Γ «»Ñαá¡ñ ¿º "ßΓ᫬¿ »á¼∩Γ¿" - ¿ßΓ«τ¡¿¬á ó »«αΓ, «»αÑ-
- ñѽ∩Ѽδ⌐ αÑú¿ßΓα«¼ DX, »«ñαáºπ¼ÑóáÑΓß∩, τΓ« ßΓ᫬á-¿ßΓ«τ¡¿¬ ∩ó½∩-
- ÑΓß∩ ¼áßß¿ó«¼ íá⌐Γ«ó, ß½«ó ¿½¿ ñó«⌐¡δσ ß½«ó - (ó ºáó¿ß¿¼«ßΓ¿ «Γ
- αẼÑαá «»Ñαá¡ñá ó ßΓα«¬Ñ ¬«¼á¡ñδ). Å«ß½Ñ Γ«ú«, ¬á¬ óδó«ñ ßñѽá¡
- ¿¡ñÑ¬ß ¿ßΓ«τ¡¿¬á áóΓ«¼áΓ¿τÑ߬¿ ¿º¼Ñ¡∩ÑΓß∩ (πóѽ¿τ¿óáÑΓß∩ ¿½¿
- π¼Ñ¡∞ΦáÑΓß∩ ß«ú½áß¡« DF) ¡á óѽ¿τ¿¡π, αáó¡πε αẼÑαπ «»Ñαá¡ñá.
- àß½¿ αẼÑα áñαÑßá ¬«¼á¡ñδ - ñó«⌐¡«Ñ ß½«ó«, Γ« «»Ñαá¡ñ "ßΓα«-
- ¬á-¿ßΓ«τ¡¿¬" - [ESI]. ê¡áτÑ, «»Ñαá¡ñ [SI]. çáúαπº¬á »αáó¿½∞¡«ú«
- º¡áτÑ¡¿∩ ¿¡ñѬßá »α«¿ºó«ñ¿Γß∩ »ÑαÑñ óδ»«½¡Ñ¡¿Ñ¼ OUTS.
- Åα¿¼Ñα
- OUTSD óδó«ñ ñó«⌐¡«ú« ß½«óá ó »«αΓ DX
- ¿½¿
- REP OUTSD »«óΓ«αÑ¡¿Ñ OUTS ñ« ΓÑσ »«α,»«-
- ¬á ¡Ñ "¬«¡τ¿Γ∞ß∩" ECX
- (ß¼. ßΓα. 457)
- Æ.¬. αÑú¿ßΓα ¿¡ñѬßá ¿ßΓ«τ¡¿¬á ñ«½ª¡Ñ¡ íδΓ∞ ºáúαπªÑ¡ »α¿ óδ»«½¡Ñ-
- ¡¿¿ φΓ«⌐ ¬«¼á¡ñδ, «Γ OUTSD/W/D τáßΓ« óßΓαÑτáÑΓß∩ ó µ¿¬½áσ ¿½¿ ¿ß-
- »«½∞ºπÑΓß∩ ñ½∩ ¡Ñ߬«½∞¬¿σ ¿ΓÑαᵿ¿.
- éαѼѡ¡δÑ σáαá¬ΓÑα¿ßΓ¿¬¿
- ÉÑá½∞¡δ⌐ αѪ¿¼
- üѺ »«óΓ«αÑ¡¿⌐ 14 Æê; 0,7 ¼¬ß »α¿ 20 îâµ
- æ »«óΓ«αÑ¡¿∩¼¿ 12+5n Æê; (0,6 + 0,25n) ¼¬ß »α¿ 20 îâµ
- çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ CPL < IOPL
- üѺ »«óΓ«αÑ¡¿⌐ 8 Æê; 0,4 ¼¬ß »α¿ 20 îâµ
- æ »«óΓ«αÑ¡¿∩¼¿ 6+5n; (0,3 + 0,25 n) ¼¬ß »α¿ 20 îâµ
- çáΘ¿ΘÑ¡¡δ⌐ αѪ¿¼ CPL > IOPL
- üѺ »«óΓ«αÑ¡¿⌐ 28 Æê; 1,4 ¼¬ß »α¿ 20 îâµ
- æ »«óΓ«αÑ¡¿∩¼¿ 26 + 5n Æê; (1,3 + 0,25n) ¼¬ß »α¿ 20 îâµ
- ÉѪ¿¼ "ó¿αΓπá½∞¡δ⌐ 8086"
- üѺ »«óΓ«αÑ¡¿⌐ 28 Æê; 1,4 ¼¬ß »α¿ 20 îâµ
- æ »«óΓ«αÑ¡¿∩¼¿ 26 + Sn TI; (1,3 + 0,25n) ¼¬ß »α¿ 20 îâµ
- (n - τ¿ß½« óδ»«½¡∩Ѽδσ ¿ΓÑαᵿ⌐)
- ö½áú¿
- ìÑ πßΓá¡áó½¿óáÑΓß∩.
- êß»«½¡¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αÑá½∞¡«¼ αѪ¿¼Ñ
- Æá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- êß»«½¡¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó ºáΘ¿ΘÑ¡¡«¼ αѪ¿¼Ñ
- àß½¿ CPL > IOPL, Γ« ¬áαΓá αáºαÑΦÑ¡¿∩ óó«ñá-óδó«ñá ñ«½ª¡á ñ«-
- »πßΓ¿Γ∞ óó«ñ-óδó«ñ ¬« óßѼ íá⌐Γ«óδ¼ »«αΓá¼. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿-
- Γѽ∞¡δÑ ß¿Γπᵿ¿ - Γá¬¿Ñ ªÑ, ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.
- ê߬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ ó αѪ¿¼Ñ "ó¿αΓπá½∞¡δ⌐ 8086"
- èáαΓá αáºαÑΦÑ¡¿∩ óó«ñá-óδó«ñá ñ«½ª¡á ñ«»πßΓ¿Γ∞ óó«ñ-óδó«ñ ¬«
- óßѼ íá⌐Γ«óδ¼ »«αΓá¼. ÄßΓá½∞¡δÑ ¿ß¬½ετ¿Γѽ∞¡δÑ ß¿Γπᵿ¿ Γá¬¿Ñ ªÑ,
- ¬á¬ »α¿ ¬«¼á¡ñÑ ADD.