          ᥬ  IBM PC.  7                            132


          
           7
          ------------------------------------------------------------
          
            ࣠ ணࠬ
          
          :    堭  ।  ࠢ   ணࠬ
          (横   室)   ᪨ ࠢ   ணࠬ
          ࣠樨.
          
          
          ------------------------------------------------------------
          
              ⮩  ਬ 믮﫨 ᫥⥫쭮 
           . , ணࠬ㥬  । 뢠 ⠪
          .  設⢮ ணࠬ ᮤঠ  横,  
          ᪮쪮        ⨦ ।
          ॡ,    ࠧ  ஢ન,  ।訥   
          ᪮쪨 ⢨  ᫥ 믮.   ॡ
             ஢ઠ   -         ணࠬ  
          믮.
              ॡ    ।  ࠢ   
          ,   室 ।⢥  믮塞
           ⥪騩  . । ࠢ  
           ।  믮  㯯    
           ७ 㦥 믮 .
                  ।  ࠢ, 
          ଠ    ᫥⥫쭮    蠣   ।⢥
          䨪樥  祭 ᬥ饭    㪠⥫. 
          ਢ    ᯮᮡ  ।  ࠢ  ( 
          ᬮ७  ⮩ ):
             
                    ᫮ 室:  JMP
                    :                 LOOP
                    ᫮ 室:     Jnnn (,,ࠢ)
                    맮 楤:      CALL
             
             ⨬,    ⨯ ᮢ: SHORT, NEAR  FAR.
           SHORT ᯮ   横, ᫮ p室
             ᫮  室.    NEAR   FAR
          ᯮ    맮  楤  (CALL)    ᫮
          室,     ,   SHORT.  
          ⨯ । ࠢ   ᮤন ॣ
          IP; ⨯ FAR ⠪  ॣ CS.
             
           JMP
          ------------------------------------------------------------
             
                筮 ᯮ㥬   । ࠢ
             JMP.    믮 ᫮
          室,  ..  ᯥ稢  ।  ࠢ  
          ⥫⢠.


          
          ᥬ  IBM PC.  7                            133


              COM-ணࠬ  .  7.1  ᯮ  JMP. 
          p AX,  BX,   CX  㦠 祭  1,   ⥬ 
          横 믮 ᫥騥 樨:
             
                    ਡ 1  ॣ AX,
                    ਡ AX  BX,
                    㤢 祭  ॣ CX.
             
          ७ 横 ਢ  㢥祭  ᮤন ॣ
          AX:  1,2,3,4...,  ॣ BX:  1,3,6,10...,   ॣ CX:
          1,2,4,8... 砫 横  ,   砥, A20: -
          稥  o砥,   ⪠ 室  楤
          (    砥  BEGIN)   ᥣ  .    横
          室 
          
                                   JMP  A20
          
           㪠뢠  ,  ࠢ   ।
           c ⪮ A20.   ,  ᭠ ⪠
           ࠭     㪠뢠  .  横
            室  ਢ  ᪮筮 믮 - ⠪
          横 筮  ᯮ.
          
          ------------------------------------------------------------
          ------------------------------------------------------------
                    .7.1. ᯮ짮  JMP.
          
               ஢   ப  :
             
                              A20:   ADD   AX,01
          
            ⤥쭮 ப:
          
                              A20:
                                     ADD   AX,01
          
               A20  㪠뢠    
          ADD.  稥  ⪥ A20  㪠뢠  ⨯ ⪨  - NEAR.
          :  ⢨      ⪥   ⮩
          訡.   襬 ਬ  A20  ᮮ⢥  -9  ⠬ 
            JMP,    祬    㡥    ꥪ⭮ 
           -  EBF7.  EB  ।⠢  ᮡ  設   
          ⪮  室  JMP,    F7  -  ⥫쭮  祭
          ᬥ饭  (-9).    JMP  ਡ  F7    
          㪠⥫  (IP),  p  ᮤন    ᫥ JMP
          (0112):
          
                                        . .
                㪠⥫:     274  112
                  JMP:      -9   F7 (筮 )
                室:          265  109
          


          
          ᥬ  IBM PC.  7                            134


           १ ᫮ 砥  室 - . 109.
          ஢    ⨭  ணࠬ,   ⭮⥫ 
          ⪨  ⢨⥫쭮 ᮮ⢥  .109. ⢥⢥
          ࠭    JMP  室  ।  ⥫
           祭.
              JMP  室   ।  -128    +127 
            ⨯   SHORT.   ᥬ      ⮬  砥
          ⮢ ࠭  ।    00   FF.  JMP,
          ॢ室  ।,  砥  ⨯ FAR,   ண
           㣮  設      塠⮢ ࠭.
          ᥬ  ࢮ  ᬮ 室  ணࠬ ।
            .  ,  JMP   
              .  ᫨     ᬮ   JMP
          ᥬ  㦥  ᫨  祭  p  (  室
          ):
                         A50:
                              ...
                              JMP  A50
             
             塠⮢ . ᫨ ᥬ  
          ᫨ 祭 ࠭ ( 室 ।)
          
                              JMP  A90
                              ...
                         A90:
          
               ⨯  室 NEAR  FAR,   ⮬᪨
            3- ⮢  .   ⮣,  ⮡ 㪠
          ᥬ  室  樨 塠⮢ ,
          ᫥ ᯮ짮  SHORT:
          
                              JMP  SHORT A90
                              ...
                         A90:
          
               ⢥    ࠦ,     ணࠬ,
          ஠ᥬ ,  ᪮  ॢ  COM-ଠ.
          ।    ॡ, ᪮ ।⢥
          ࠭      室  .  ᯮ
          ⫠稪  DEBUG    蠣  믮   COM-  
          ᬮ ᪮쪮  ७  横.    ॣ AX
          㤥 ᮤঠ 08,  BX  CX  㢥    . 24 (.
          36)    .  80  (. 128), ᮮ⢥⢥.  室 
          ⫠稪 ᯮ  Q.
          
           LOOP
          ------------------------------------------------------------
          
              JMP   ਬ  .  7.1 ॠ ᪮
          横.       ⭮  ணࠬ    믮
          । ᫮ 横.   LOOP,  㦨 
          ⮩ 楫,  ᯮ 砫쭮 祭   ॣ  CX. 
           横  LOOP ⮬᪨ 㬥蠥 ᮤন

          
          ᥬ  IBM PC.  7                            135


          ॣ  CX    1.    祭    CX    ࠢ ,
          ࠢ  ।   ,  㪠  ࠭, 
          ᫨  CX 㤥 0,  ࠢ 室    ᫥
          LOOP .
             ணࠬ  . 7.2,  ᯮ짮 
           LOOP, 믮 ⢨,  ਬ  . 7.1
            ᪫祭  ⮣,    ᫥    横 ணࠬ
          蠥.  MOV 樠 ॣ CX 祭
          10.        LOOP  ᯮ  ॣ  CX,   
          ணࠬ  㤢 砫쭮 祭 1  ॣ
          CX ᯮ DX.   JMP A20    LOOP
            䥪⨢  ADD AX,01    INC
          AX (㢥祭 AX  1).
             筮  JMP,  ࠭   LOOP ।
          ﭨ    LOOP    ⪨  A20, 
          ஥ ਡ    ᮤন    㪠⥫. 
           LOOP  ﭨ     ।   -128
           +127 . ᫨  ࠭ ॢ蠥  ࠭,  ᥬ
           뤠 ᮮ饭 "Relative jump out of range" (ॢ襭
          ࠭ 室).
                ஢ન      LOOP   ४  
          ᮮ⢥騬  ࠧ ணࠬ,  ਢ  .7.1,
          믮  ᥬ஢,    ८ࠧ 
          COM-䠩.   ஢      横 ᯮ
          ⫠稪 DEBUG.    祭 ॣ CX  㬥 
          ,  ᮤন ॣp AX, BX  DX 㤥 ᮮ⢥⢥
          .  000B,  0042   0400.   室  ⫠稪 
           Q.
             ⥫쭮   ࠧ  LOOP -
           LOOPE (  LOOPZ)   LOOPNE  (  LOOPNZ).  
          ⠪  㬥 祭  ॣ  CX  1.   LOOPE
          । ࠢ      ࠭,  ᫨  ॣ CX
           㫥  祭    䫠    ⠭ (ZF=1).
           LOOPNE । ࠢ    ࠭, ᫨
          ॣ CX   㫥 祭    䫠    襭
          (ZF=0).
          
          ------------------------------------------------------------
          ------------------------------------------------------------
                    . 7.2. ᯮ짮  LOOP.
          
           
          ------------------------------------------------------------
          
             騩 ਠ    ॡ  ⠫쭮
            䫠 ॣ஬.   p ᮤন 16
            䫠,    ࠢ ࠧ묨   
          樨 ﭨ 樨.     䫠 ࠭
           ᢮ 祭   ,   㣠   
          .  ॣ ᮤন ᫥騥  ᯮ㥬
           (窠 ⬥祭 ᯮ㥬 ):
             
                :    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

          
          ᥬ  IBM PC.  7                            136


               :           *  *  *  *  O  D I T S Z * A * P * C
             
          ᬮਬ  䫠  ᫥⥫쭮 ࠢ .
             
             CF  (Carry  Flag)  -  䫠  ७.  ন  祭
          "७ᮢ"  (0   1)   襣 ࠧ鸞  䬥
                 ᤢ   横᪮
          ᤢ (. .12).
             
             PF  (Parity   Flag)  -  䫠  ⭮. ஢ 訥
          ᥬ  p⮢ 権  묨.  ⭮ ᫮
           ਢ  ⠭ ⮣ 䫠  0,  ⭮ -  1. 
          ᫥  䫠 ⭮  ⮬ ஫  ⭮.
             
             AF (Auxiliary Carry Flag) - ⥫ 䫠 ७.
          ⠭  1,  ᫨  䬥᪠  ਢ
             ७ ⢥⮣ ࠢ  (  3)  ॣ
           ⮢  .    䫠    ⭮襭 
          䬥᪨      ᨬ    ASCII    
           㯠 .
             
             ZF (Zero Flag)  -  䫠  . ⠭  ⢥
          १  a䬥᪨       ࠢ. 
              ࠭,  㫥  १ ਢ  ⠭
          㫥  祭  ⮣   䫠,   㫥 -   ⠭
          筮  祭.  饥   ᮮ⢥⢨  ,
          ,  ᪨  ࠢ,  ⠪   0 砥 ""
          (..  १  ࠢ ),     e ""
          (.. १ ࠢ ).  ᫮ 室 JE 
          JZ ஢  䫠.
             
             SF (SIgn Flag) -  䫠. ⠭  ᮮ⢥
          ⢨    १ (襣 )  ᫥  䬥
          ᪨ p権:  ⥫ १ ⠭ 0, 
          ⥫  -  1.    ᫮  室  JG   JL
          ஢  䫠.
             
             TF  (Trap Flag)  -  䫠 蠣 믮.  䫠
           㦥 室 ⠭,    ᯮ짮 
             ⫠稪 DEBUG.  ᫨  䫠  ⠭  
          筮 cﭨ,    室  ० 蠣
          믮   ,  ..     믮 
            짮⥫᪨ ࠢ.
             
             IF (Interrupt Flag) - 䫠 뢠.  㫥 
            ⮣  䫠  뢠  饭,    筮  -
          ࠧ襭.
             
             DF (DIrection  Flag)   - 䫠 ࠢ. ᯮ 
          ப      ।  ࠢ ।
          .  㫥 ﭨ  㢥稢 ᮤন



          
          ᥬ  IBM PC.  7                            137


          ॣ஢ SI   DI,   뢠 ।  ᫥ ࠢ,
           㫥  -  㬥蠥 ᮤন  ॣ஢, 뢠
          ।  ࠢ  (. .11).
             
             OF (Overflow Flag)  - 䫠 ९.  䬥
          ᪮  ९,  .. ७ / 襣 (
          )    䬥᪨ .
              ⢥ ਬ:   CMP ࠢ   ࠭
             䫠 AF,  CF, OF, PF, SF, ZF. , 
          室 ஢   䫠  ⤥쭮.  ᫥-
          饬  ਬ ஢ ᮤন    ॣ BX 㫥
          祭:
             
                         CMP  BX,00          ;ࠢ BX  㫥
                         JZ   B50            ;室  B50 ᫨ 
                         .    (⢨  㫥)
                         .
               B50:      ...                 ;窠 室  BX=0
          
          ᫨ BX ᮤন 㫥 祭,  CMP ⠭
          䫠  ZF  筮 ﭨ,    (
          )  㣨 䫠.  JZ (嫤 ᫨ ) ஢
          ⮫쪮 䫠  ZF.    筮  祭  ZF, 饥
          㫥  ਧ,    ।  ࠢ    ,
          㪠   ࠭, ..   B50.
          
            
          ------------------------------------------------------------
          
              ।  ਬ  뫮  ,    LOOP
          㬥蠥   ᮤন ॣ CX  ஢ :
          ᫨  ,  ࠢ ।  , 㪠
           ࠭.    ࠧ,  । ࠢ  
          ⭮   ﭨ.   ᥬ   ন  讥
          ⢮   ᫮  室,  ⢫
          । ࠢ    ᨬ    ﭨ 䫠
          ॣ.  ਬ,   ࠢ  ᮤন   
          ᫥騩 室   祭 䫠.
              LOOP  ணࠬ  .7.2    
          :    㬥蠥 ᮤন  ॣ  CX,  㣠
          믮 ᫮ 室:
             
             ᯮ짮 LOOP    ᯮ짮 ᫮ 室
             
                    LOOP A20                 DEC  CX
                                             JNZ  A20
            DEC    JNZ     筮    LOOP:
          㬥 ᮤন ॣ CX  1  믮 室 
            A20,  ᫨   CX    .    DEC  ஬ ⮣
          ⠭ 䫠    䫠 ॣ   ﭨ 0
           1.   JNZ ⥬ ஢  ⠭.  ᬮ
          ७ ਬ  LOOP    祭 ᯮ
          ,   䥪⨢, 祬  : DEC  JNZ.

          
          ᥬ  IBM PC.  7                            138


             筮    JMP  LOOP  ࠭     JNZ
          cন  祭  ﭨ   殬    JNZ 
          ᮬ  A20,  ஥ ਡ    㪠⥫.
           ﭨ    ।  -128   +127 .
           砥 室   ࠭ ᥬ  뤠 ᮮ饭
          "Relative jump out of range"  (ॢ襭 ⭮⥫ ࠭
           室).
             
                .
             
             ᬠਢ 祭  ᫮ 室 ᫥
          ᭨ ࠪ  ᯮ짮.   ,  
           믮 䬥᪨ 樨   樨 ࠢ
          ।     짮: 묨 
          묨.    ᯮ     
          ;  ࠪ  ਬ஬    ᨬ ப:
          ,    ࠫ ᫠.     ᠬ
            ।⠢ ᮡ ,  祬 ᫨  祭
          ࠢ  ,   ᫮  ⥫쭮,    ᫨  , 
          ⥫쭮.    ᫮  祭      
          ⥫묨 ⠪  ⥫묨.
              ⢥ ਬ ।,   ॣ  AX ᮤন
          11000110,  BX - 00010110. 
             
                                   CMP  AX,BX
             
          ࠢ  ᮤন  ॣ஢  AX    BX.   ᫨  
          ,   祭  AX ,   ᫨  - 
          .
             
             室   .
             
                ᠭ                 ஢塞 䫠
          
          JE/JZ     室, ᫨ ࠢ/                ZF
          JNE/JNZ   室, ᫨  ࠢ/           ZF
          JA/JNBE   室, ᫨ /   ࠢ    ZF,CF
          JAE/JNB   室, ᫨   ࠢ/     CF
          JB/JNAE   室, ᫨ /   ࠢ    CF
          JBE/JNA   室, ᫨   ࠢ/     CF,AF
          
              ஢  ஢     
            .  ਬ,  JB  JNAE       
          ꥪ ,   ⥫ ஢ JB  ,
          祬 ⥫ JNAE.
             
             室뤫  
             
                ᠭ                 ஢塞 䫠
          
          JE/JZ     室, ᫨ ࠢ/                  ZF
          JNE/JNZ   室, ᫨  ࠢ/             ZF
          JG/JNLE   室, ᫨ /   ࠢ  ZF,SF,OF

          
          ᥬ  IBM PC.  7                            139


          JGE/JNL   室, ᫨   ࠢ/      SF,OF
          JL/JNGE   室, ᫨ /   ࠢ     SF,OF
          JLE/JNG   室, ᫨   ࠢ/   ZF,SF,OF
          
              室  ᫮ ࠢ   (JE/JZ)   
          ࠢ       (JNE/JNZ)     ᯨ᪠
                  . ﭨ  ࠢ/
          ந室  ᨬ   .
             
             樠률䬥᪨஢ન
             
                ᠭ                 ஢塞 䫠
          
               JS   室, ᫨   (⥫쭮)       SF
               JNS  室, ᫨  (⥫쭮)        SF
               JC   室, ᫨  ७ (筮 JB)   CF
               JNC  室, ᫨  ७                   CF
               JO   室, ᫨  ९              OF
               JNO  室, ᫨  ९               OF
               JP/JPE 室, ᫨                 PF
               JNP/JP 室, ᫨               PF
          
                  ᫮ 室  ஢ ࠢ 
          ᮤন  ॣ  CX  .      易⥫쭮
           pᯮ ।⢥    䬥⨪
            ࠢ.         JCXZ  
          砫  横,     ஢  ᮤন    ॣ CX
          㫥 祭.
              ᯥ  稢   . 
          ⮫쪮,        室  
            ࠢ,     ,       -  ࠢ,
            .  室   ஢ઠ  䫠 ७,
          ९      ᮡ 祭. ᥬ
          ࠭᫨  ᪨    ꥪ   ᨬ
           ⮣,       ਬ. , 
          JAE   JGE      묨,  ஢ ࠧ
          䫠.
             
             CALL
          ------------------------------------------------------------
             
              ।  ਬ ᮤঠ    ᥣ
          ⮫쪮 o 楤, ଫ ᫥騬 ࠧ:
             
                              BEGIN     PROC FAR
                                   .
                                   .
                              BEGIN     ENDP
          
          ࠭ FAR ନ ⥬  ⮬,    
           窮 室  믮,   ४⨢ ENDP ।
            楤.  ᥣ, ,  ᮤঠ


          
          ᥬ  IBM PC.  7                            140


            ⢮ 楤,   ࠧ ४⨢
          PROC  ENDP. 筠 ࣠ 楤୮ ணࠬ
          ਢ  . 7.3.
                ᫥騥 ᮡ:
             
              ४⨢ PROC  ⪠  B10   C10  ࠭ NEAR
                㪠 ⮣,    楤 室   ⥪
               饬   ᥣ.     ᫥ ਬ
                ࠭ 饭,  ⠪      㬮砭 ᥬ
               ਭ ⨯ NEAR.
          
                楤  㭨쭮     ᮤন ᮡ
               ⢥ ४⨢ ENDP  㪠  楤.
          
               ।  ࠢ  楤  BEGIN  
               : CALL B10  CALL C10.  १ ࢮ 
                CALL ࠢ । 楤  B10  稭
                   믮.  ⨣   RET, ࠢ
               頥     ।⢥  ᫥ 
               CALL  B10.    CALL   筮 -
               ।  ࠢ    楤  C10,  믮  
                 頥 ࠢ   RET.
          
          ------------------------------------------------------------
          ------------------------------------------------------------
                         . 7.3. 맮 楤.
          
               RET ᥣ  믮    뢠 
               ࠬ.  ணࠬ BEGIN 뢠 楤  B10  C10,
                   ࠢ  ⭮    BEGIN. 
               믮 ᠬ ணࠬ  BEGIN  樮 ⥬
               DOS 뢠     믮  RET 
               頥 ࠢ  DOS.  ᫨ 楤  B10  ᮤন
               饩  RET,  믮  த
                   B10   ।⢥    楤  C10.  ᫨
               楤 C10   ᮤন  RET,    믮
                ,  訥  楤ன C10  ।
               ᪠㥬 १⮬.
          
             ᯮ짮 楤     ࣠
               ணࠬ.  ஬ ⮣, ࠭
            CALL   祭,  室騥  ࠭
           -128  +127 .
             孨᪨ ࠢ   楤 ⨯  NEAR   
          ।    室     
            ஢.     襭⢥  砥 ४
          ᯮ짮  CALL   ।  ࠢ   
             RET  .
             
           
          ------------------------------------------------------------
          


          
          ᥬ  IBM PC.  7                            141


              ⮣ ࠧ  ਢ ਬ ⨫ ⮫쪮
           ,  ᯮ ⥪, -   PUSH  砫
          ᥣ ,   ᯥ稢     DOS, 
          EXE-ணࠬ  蠥.  ⢥     ணࠬ
          ॡ  ⥪  o祭  ࠧ.  ,  CALL
          ⮬᪨ 뢠  ⥪ ⭮⥫  ,
          ᫥饩  ।⢥     CALL,  㢥稢
          ᫥ ⮣ 㪠⥫ 設 ⥪.   뢠 楤
           RET ᯮ       뢠
          楤     ⮬  ⮬᪨  㬥蠥 㪠⥫
          設 ⥪.
              ࠧ,   PUSH 뢠   ⥪ 塠
             㣨 祭.   POP 筮 롨
           ⥪ ᠭ   ᫮.  樨  ⭮
          ⥫   ॣ SP  (..   㪠⥫ ⥪) 
          㯠  ᫥饬  ᫮.    ᢮⢮ ⥪ ॡ
          ⮡  RET   CALL ᮮ⢥⢮   . ஬
          ⮣,  맢  楤  맢    
          CALL  楤,    ᢮ । - ᫥. ⥪
             ࠧ  ⮣, ⮡ ࠭ 
          뢠   .   襭⢠  ਬ஢  
            ⥪ ꥬ  32 ᫮  .
               PUSH,  PUSHF,  CALL,  INT,  INTO   ⥪
              ᮤন 䫠  ॣ.  
          POP,  POPF,  RET  IRET   a     䫠 
          ⥪.
              । ࠢ  EXE-ணࠬ ⥬ ⠭
            ॣ ᫥騥 祭:
          
          DS  ES:    䨪 ணࠬ  ᥣ -  
          256  (.  100)  ,    । 믮塞
          ணࠬ   .
          
          CS:   窨 室  ணࠬ ( ࢮ 믮塞
          ).
          
          IP: .
          
          SS:  ᥣ ⥪.
          
          SP:  ⭮⥫  ,  㪠뢠騩    設  ⥪.
          ਬ,  ⥪  32 ᫮ (64 ), । 
          
                              DW   32 DUP(?)
          
          SP ᮤন 64,  . 40.
          
             믮  ஢ ⮩  EXE-ணࠬ, ਢ
           .7.4.   ࠪ⨪ 뢠 楤 ᮤঠ 
          ᫮ .
               㯭   祩  ⥪      ᥭ  
          祭 ᫮  設 ⥪. ࢠ  PUSH
          㬥蠥 祭   SP   2    ᮤন ॣ

          
          ᥬ  IBM PC.  7                            142


          DS (  ਬ 049f)   設 ⥪,  ..  
          4B00+3E.    PUSH ⠪ 㬥蠥 祭 SP 
          2    뢠  ᮤন  ॣ  AX  (0000)  
          4B00+3C.  CALL B10 㬥蠥 祭 SP  뢠
          ⭮⥫    ᫥饩    (0007)    ⥪ 
            4B00+3A.   CALL  C10  㬥蠥 祭 SP 
          뢠 ⭮⥫   ᫥饩    (000B) 
          ⥪   4B00+38.
                楤 C10   RET  000B
           ⥪ (4B00+38),  頥    㪠⥫    IP 
          㢥稢 祭 SP   2.   ⮬ ந室 ⮬
          ᪨      ⭮⥫쭮    000B   
          ᥣ, ..  楤 B10.
             
          ------------------------------------------------------------
          ------------------------------------------------------------
               . 7.4. ⢨ 믮 ணࠬ  ⥪.
             
              RET   楤 B10   0007 
          ⥪ (4B00+3A),    IP  㢥稢 祭 SP
           2.   ⮬ ந室 ⮬᪨    ⭮
          ⥫쭮    0007    ᥣ.    RET 
            0007  蠥  믮  ணࠬ,  ⢫
           ⨯ FAR.
                ⢨  ⥪   믮 
          .     ஢   ணࠬ    ᯮ짮
          ⫠稪 DEBUG.  ਢ ⮫쪮 ᮤন   
          0034  003F  ᮤন ॣ SP:
             
                                      ⥪                  SP
          
          砫쭮 祭:             0040
          PUSH DS  ( 049F)       049F   003E
          PUSH AX  ( 0000)      0000 049F   003C
          CALL B10 ( 0007)     0700 0000 049F   003A
          CALL C10 ( 000B)    0B00 0700 0000 049F   0038
          RET      (롮ઠ 000B)    0700 0000 049F   003A
          RET      (롮ઠ 0007)     0000 049F   003C
                                                       
          饭  ⥪:      0034 0036 0038 003A 003C 003E
          
                 . -, ᫮  
           ᮤঠ    ⭮  ᫥⥫쭮,  ⠪ 0007
          뢠     0700.  -,  ⫠稪  DEBUG 
          ᯮ짮   ᬮ ⥪    ⥪ 㣨
          祭,  ᮤন IP,  ᮡ⢥ 㦤.
             
          :   
          ------------------------------------------------------------
          
               । ணࠬ 뫨    뫪
          ।c⢥      ॣ,  뫪    
            ॣ,  뫪 ᮤন ॣ   

          
          ᥬ  IBM PC.  7                            143


          뫪 ᮤন  o  ॣ    㣮.   
             뫠 p祭    ⠬
            ।ᬮ७ 뫪      
          ।⢥  .   ࠧ 
           뫪 ,        
          .    11  㤥  ᯮ짮 権 
          ப    뫪          
          ।⢥   .
              EXE-ணࠬ,  ਢ  . 7.5, ᥣ 
          cন  ⨡⮢ ,  NAME1, NAME2, NAME3. 
          ணࠬ -  ᫠     NAME1    NAME2 
          ᫠      NAME2    NAME3.    
               ,   뫪 
          ஬  ⮩  MOV ॡ    㣨 .
          ணࠬ ᮤন ᪮쪮  ᮡ⥩.
             楤  BEGIN  樠  ᥣ  ॣ  
          ⥬  뢠  楤  B10MOVE     C10MOVE.  楤
          B10MOVE 뫠 ᮤন   NAME1    NAME2. 
            ࠧ  뫠 ⮫쪮   ,  楤
          稭  ᠬ     NAME1   横 
           ⥬ ன , ⨩  ..:
             
          ------------------------------------------------------------
          ------------------------------------------------------------
                    . 7.5. ७ 樨 뫪.
          
                         NAME1:    A  B  C  D  E  F  G  H  I
                                                   
                         NAME2:    J  K  L  M  N  O  P  Q  R
          
           த   NAME1  NAME2  ॣ CX 
          祭 9,   ॣ  SI    DI  ᯮ   ⢥
          .    LEA  㦠  ⭮⥫ a
           NAME1  NAME2  ॣ SI  DI:
          
                    LEA  SI,NAME1  ;㧪 ⭮⥫ ᮢ
                    LEA  DI,NAME2  ;  NAME1  NAME2
          
            뫪 ᮤন ࢮ        NAME1 
             NAME2  ᯮ   ॣ SI 
          DI.  k  ᪮    MOV  ,  
          㯠   ᯮ   ॣ,  㪠 
           c.  ࠧ, 
          
                              MOV  AL,[SI]
          
          砥:  ᯮ짮   ॣ  SI (..NAME1) 
          뫪 ᮮ⢥饣   ॣ AL.  
          
                              MOV  [DI],AL
          
          砥:  뫠  ᮤন  ॣ  AL    ,
          饬  ॣ DI (.. NAME2).

          
          ᥬ  IBM PC.  7                            144


             騥  㢥稢 祭 ॣ஢ SI   DI
           㬥  祭  ॣ SH.  ᫨  ॣ  CX 
          㫥 祭,  ࠢ ।    ᫥騩 横
          (   B20).   ᮤন  ॣ஢ SI   DI 뫮
          㢥祭  1,   ᫥騥  MOV    
          ᠬ NAME1+1  NAME2+1.  த ⠪ ࠧ,
            㤥 । ᮤন NAME1+8  NAME2+8.
             楤 C10MOVE 筠  楤  B10MOVE   
          ᪫祭ﬨ:    뫠      NAME2  
          NAME3  ᯮ  LOOP  DEC  JNZ.
             :     ணࠬ,  ਢ    .7.5,
          믮   ᥬ஢,      ஢ 
            ⫠稪 DEBUG.       
          ॣ,   㪠⥫      ⥪.   ᬮ
             NAME2  NAME3 ᯮ  D DS:0.
             
            : AND, OR, XOR, TEST, NOT
          ------------------------------------------------------------
          
             ᪨   樨         ⮬   
          ஥஢  奬        饣   
          ணࠬ஢.     AND, OR, XOR  TEST  - 
           ᪨ 権.    ᯮ 
            ⠭    䬥᪨ 権   
          ASCII (..13).    ࠡ뢠   
           ᫮  ॣ    ,    ⠭ 䫠
          CF, OF, PF, SF, ZF.
          
          AND:  ᫨    ࠢ ⮢ ࠢ  1,  १
          ࠢ 1;   ⠫  १ - 0.
          
          OR:  ᫨        ࠢ ⮢ ࠢ  1, 
          १  ࠢ  1;  ᫨  ࠢ    ࠢ  0, 
          १ - 0.
          
          XOR: ᫨   ࠢ ⮢ ࠢ 0,  㣮 ࠢ
          1,   १  ࠢ 1;  ᫨ ࠢ  
          ( - 0   - 1)  १ - 0.
          
          TEST:    AND-⠭ 䫠,   
          .
          
               ࠭  ᪨    㪠뢠  
            ᫮  ॣ       ⢥
            祭,  ஥      ᫥ 믮
          .    ᫥   AND,  OR   XOR ᯮ
           ⮢ 祭:
             
                              AND       OR        XOR
                              0101      0101      0101
                              0011      0011      0011
               :     0001      0111      0110
             

          
          ᥬ  IBM PC.  7                            145


               ᫥ 易 ਬ஢,  ।,  AL
          ᮤন 1100 0101,  BH ᮤন 0101 1100:
             
             1.     AND  AL,BH     ;⠭  AL 0100 0100
             2.     OR   BH,AL     ;⠭  BH 1101 1101
             3.     XOR  AL,AL     ;⠭  AL 0000 0000
             4.     AND  AL,00     ;⠭  AL 0000 0000
             5.     AND  AL,0FH    ;⠭  AL 0000 0101
             6.     OR   CL,CL     ;⠭ 䫠 SF  ZF
             
          ਬ  3    4    ᯮᮡ  ⪨ ॣ. 
          ਬ 5        ॣ  AL. 
           ࠢ  CMP    ⭥,  ਬ
           OR  ᫥ 楫:
          
             1.     OR   CX,CX     ;஢ઠ CX  
                    JZ   ...       ;室, ᫨ 
             2.     OR   CX,CX     ;஢ઠ   CX
                    JS   ...       ;室, ᫨ ⥫쭮
             
               TEST     筮     AND,  
          ⠭ ⮫쪮  䫠,   ࠭   . 
          ਤ ᪮쪮 ਬ஢:
             
             1.     TEST BL,11110000B   ;     BL
                    JNZ  ...            ;  ࠢ ?
             2.     TEST AL,00000001B   ; AL ᮤন
                    JNZ  ...            ;  ⭮ 祭?
             3.     TEST DX,OFFH        ; DX ᮤন
                    JZ   ...            ;  㫥 祭?
             
            ᪠  NOT ⠭ p⭮ 
                ᫮,   ॣ    : 㫨
          ⠭  栬,    -  ﬨ. ᫨, ਬ,
          p  AL ᮤন 1100  0101,    NOT AL 
           祭  0011 1010.   .  NOT 
          ⭠     NEG,        祭  
          ⥫쭮    ⥫쭮    ,  ।⢮
             ⨢ 祭  ਡ 
          (."⥫ ᫠"  .1.).
          
          :     
          ------------------------------------------------------------
          
               ࠧ  稭    ८ࠧ 
          묨  묨 㪢.  ਬ,   
          䠩  ,  ᮧ    ,    ࠡ⠥
          ⮫쪮   묨  㪢.      ணࠬ 
           짮⥫     묨, ⠪
           묨 㪢 (ਬ,  YES  yes)  ८ࠧ
              ஢ન.  㪢  A  Z 



          
          ᥬ  IBM PC.  7                            146


          .    41   5A,    㪢  a   z 
          .  61  7A. ⢥ p  ⮬,  
           ࠢ 0   㪢  1  :
             
                       :  76543210          :  76543210
                    㪢 A:  01000001       㪢 a:  01100001
                    㪢 Z:  01011010       㪢 z:  01111010
             
             COM-ணࠬ,   ਢ    .  7.6,  ८ࠧ
             TITLEX   㪢  ய, 稭 
           TITLEX+1. ணࠬ 樠 ॣ BX ᮬ
          TITLEX+1   ᯮ   뫪  ᨬ  ॣ
          AH,  稭  TITLEX+1.  ᫨ 祭   祭  
          ।   .61    7A,    AND ⠭
           5  0:
             
                              AND  AH,11011111B
             
           ᨬ,  ⫨      㪢  ( a   z), 
          .   ᨬ 뫠 ⭮  
          TITLEX,  祭  ॣ BX 㢥稢  ।
          ᨬ  ⢫ 室  ᫥騩 横.
             ᯮ㥬  ⠪  ࠧ  ॣ  BX    
            ॣ  樨   .     楫
           ᯮ짮 ⠪ ॣ SI  DI.
             
          ------------------------------------------------------------
          ------------------------------------------------------------
               . 7.6.   㪢  ய.
          
              
          ------------------------------------------------------------
          
              ᤢ  横᪮ ᤢ,   ।⠢
           ᮡ    ᪨  ⥩  , 
          ᫥騥 ᢮⢠:
             - ࠡ뢠   ᫮;
             -    ॣ   ;
             - ᤢ   ࠢ;
             - ᤢ  稭  8  ( )  16  (
          ᫮);
             - ᤢ  ᪨ (  )   䬥᪨ (
          ).
             祭 ᤢ  1   ஢  ।
          c⢥ ࠭,  祭    1    室 
          ॣ CL.
             
              ᤢ
             
              믮  ᤢ 䫠 CF  ᥣ ᮤন 
          祭  ᫥  뤢⮣  .    ᫥騥
           c:
             

          
          ᥬ  IBM PC.  7                            147


                    SHR  ;᪨ () ᤢ ࠢ
                    SHL  ;᪨ () ᤢ 
                    SAR  ;䬥᪨ ᤢ ࠢ
                    SAL  ;䬥᪨ ᤢ 
             
             騩 ࠣ  믮  SHR:
             
               MOV  CL,03          ;    AX:
               MOV  AX,10110111B   ; 10110111
               SHR  AX,1           ; 01011011   ; ࠢ  1
               SHR  AX,CL          ; 00001011   ; ࠢ  3
             
          ࢠ  SHR ᤢ ᮤন ॣ AX ࠢ 
          1  . 뤢  १     䫠 CF,
            ᠬ    ॣ  AX    㫥. 
           c ᮤন ॣ AX    . 
          ⮬ 䫠 CF ᫥⥫쭮 ਭ 祭 1, 1, 0,  
              ॣ AX  㫨.
             ᬮਬ ⢨  䬥᪮ ࠢ SAR:
             
               MOV  CL,03          ;    AX:
               MOV  AX,10110111B   ; 10110111
               SAR  AX,1           ; 11011011   ; ࠢ  1
               SAR  AX,CL          ; 11111011   ; ࠢ  3
             
           SAR   ⫨稥   SHR:  
               ᯮ   .  ࠧ,
          ⥫  ⥫ 稭  ࠭ ᢮ .
           ਢ ਬ   ᮤন .
              ᤢ   ࠢ    ﬨ. 
          p, १  ᤢ SHL  SAL 祭.
                 ᯮ   㤢  ᥫ, 
          ᤢ ࠢ -    2.  樨 ⢫
          ⥫쭮  ॥,  祬    㬭   .
             ᥫ (ਬ,  5  7) ࠧ
          訥 祭 (2   3, ᮮ⢥⢥)  ⠭
          䫠 CF  1.  ஬ ⮣, ᫨ 室 믮 ᤢ 
          2  ,   ᯮ짮   ᤢ  䥪⨢
          ,  祬 ᯮ짮    㧪 ॣ CL
          祭 2.
              ஢ન  ,  ᥭ   䫠  CF ᯮ
           JC (室, ᫨  ७).
             
              横᪮ ᤢ
             
             ᪨ ᤢ ।⠢ ᮡ  ᤢ, 
          ன  뤢       ᢮訩  ࠧ.
           ᫥騥  横᪮ ᤢ:
             
                    ROR  ;᪨ ᤢ ࠢ
                    ROL  ;᪨ ᤢ 
                    RCR  ;᪨ ᤢ ࠢ  ७ᮬ
                    RCL  ;᪨ ᤢ   ७ᮬ

          
          ᥬ  IBM PC.  7                            148


             
              ᫥⥫쭮   
          横᪮ ᤢ ROR:
             
               MOV  CL,03          ;    BX:
               MOV  BX,10110111B   ; 10110111
               ROR  BX,1           ; 11011011   ; ࠢ  1
               ROR  BX,CL          ; 01111011   ; ࠢ  3
             
             ࢠ   ROR    믮  横᪮ ᤢ
          ७ ࠢ   ॣ BX   ᢮
            .    ROR  ७ ⠪ ࠧ
           ࠢ .
               RCR  RCL  ᤢ  䫠 CF. 뤢
            ॣ     䫠 CF,   祭 CF 
          ⮬ 㯠  ᢮ .
             ᬮਬ   ਬ,      ஬  ᯮ  
          横᪮  ⮣ ᤢ.  ।,  32-⮢
          祭 室  ॣ DX:AX ⠪,     16 
            ॣ  DX,   ࠢ -   AX.   㬭  2
          ⮣ 祭  c騥  :
             
                         SHL  AX,1      ;  ॣ஢ 
                         RCL  DX,1      ;  DX:AX  2
             
            SHL ᤢ        ॣ  AX ,
          祬 ᠬ     䫠 CF. ⥬  RCL
          ᤢ     ॣ  DX       ᢮訩
          ࠢ   祭  䫠 CF.
          
           
          ------------------------------------------------------------
          
                ᭮ ४樨   ᠭ ᥬ
           ணࠬ:
             
          1.   ⪮ ।⠢ ᥡ ,    
               ணࠬ
          
          2.     ᪨          ᯫ
                 ணࠬ. ਬ, ᫨ 室 ஢
                樨 p뫪 ᪮쪨   (  ਬ
                .7.5), 筨 c ।    뫠
                 묨.  ⥬ ᯫ     ⥣  
               樠樨,  ᫮  室       LOOP.
               ਢ  ᭮  ,    ᯮ 
               ணࠬ  ⠪ 砥:
                    樠 ⥪  ᥣ ॣ஢
                    맮 ணࠬ 横
                    
               ணࠬ 横   ᯫ஢ ᫥騬
               ࠧ:
                         樠 ॣ஢ 祭ﬨ ᮢ

          
          ᥬ  IBM PC.  7                            149


                          ᫠ 横
               ⪠:    뫪  
                         㢥祭 ᮢ  1
                         㬥襭 稪  1:
                              ᫨ 稪  ,    
                              ᫨ , 
          
          3.   ।⠢ ணࠬ   ᪨  , ᫥
                  㣮.  楤  ॢ騥  25 ப
               (ࠧ ࠭) 㤮  ⫠.
          
          4.    ⮢묨 ਬࠬ ணࠬ. ⪨ 
                 孨᪨ ⠫   ணࠬ஢ ᫮
               ணࠬ " "    ਢ   ᫥
               訡.
          
          5.   ᯮ ਨ  ᠭ  ⮣,   
                 楤,    䬥᪨  ⢨ 
               樨 ࠢ  믮    ।
               ᯮ㥬  .   (ਬ,    XLAT,  
                ࠭).
          
          6.    ஢ ணࠬ ᯮ ⮢ ணࠬ
               , ᪮஢  䠩   .
          
               ᫥  ணࠬ        
          ᯮ짮   LEA,    ॣ஢  SI   DI,
          뢠  楤.   稢  ⥯      
          ᥬ,   ३      ࠧ⮬   
          ணࠬ஢.
             
             
          ------------------------------------------------------------
          
              ⪨ 楤 (ਬ, B20:)   
               稥   㪠  ⨯  NEAR.  ⢨ 
               ਢ  ᥬ୮ 訡.
          
              ⪨      ᫮  室    LOOP 
                 ࠭  -128    +127  .  ࠭ ⠪
                    ꥪ⭮  . . 
               01   7F  ᮮ⢥  祭   +1 
               +127,   .   FF  80 뢠 祭  -1 
               +128.    設     1 
               4  ,   ᮡ ࠭    . ࠪ᪨
                ਥ஢  ࠧ    ࠭ 室
               ⥪ (ਬ୮ 50 ப).
          
               ᯮ짮  LOOP, 樠 ॣ
               CX  ⥫  ᫮.    LOOP  ஫
               ⮫쪮  㫥 祭,    ⥫쭮 ணࠬ
               㤥 த 横.
          

          
          ᥬ  IBM PC.  7                            150


              ᫨    ⠭  䫠,   
               䫠 ࠭  祭,  㣠   
               .  ਬ,  ᫨    䬥᪮ ,
                ⠭ 䫠,  ᫥    MOV, 
                      䫠. ,  樨 ᫠
                訡,  c ஢  ᫮
               室 ।⢥  ᫥ , ⠭
               ஢塞 䫠.
          
              롨ࠩ    ᫮  室  ᮮ⢥⢥
                 묨  묨 묨.
          
                맮  楤 ᯮ  CALL,   
                 楤 -  RET. 뢠 楤
                ,   ᢮ ।,  맢  楤, 
               ᫨ ᫥ 騬 ᮣ襭,   RET
               ᥣ 㤥 롨  ⥪  ࠢ  
               . ⢥ ਬ  ⮩ ,  ᯮ
               室   楤    맮 -   砫 COM-
               ணࠬ.
          
                ⥫  ᯮ짮   ࠭
               . ࠢ:
                                   MOV  AX,SI
                                   MOV  AX,[SI]
          
               ࢠ   MOV 뫠   ॣ AX ᮤন
               ॣ SI.   MOV  㯠  뫠
                ᫮    ᯮ  ⭮⥫   
               ॣ SI.
          
              ᯮ   ᤢ   㤢 祭 
                 ,    ⮬ ⥫쭮 롨ࠩ
               ᮮ⢥騥          
               .
          
            
          ------------------------------------------------------------
          
          7.1.    ᨬ쭮 ⢮    
                  p⪨ JMP,  LOOP  ⭮⥫ 室? 
                 設  ࠭  ⮬ ?
          7.2.     JMP  稭    .  0624. ।
                  室, ᫨ . ꥪ   ࠭
                  JMP: ) 27, ) 6B, ) C6.
          7.3.     ணࠬ ᫥ 12  ᥫ : 1,
                 1,   2,   3,   5,   8,   13,...   (   ᫮   
                 ᫥⥫쭮  ।⠢   ᮡ  㬬  
                 । ᥫ).   ࣠樨 横 ᯮ
                  LOOP. 믮 ᥬ஢,  
                   ⫠稪 DEBUG ஢ ணࠬ.



          
          ᥬ  IBM PC.  7                            151


          7.4.   ।,   ॣ AX   BX ᮤঠ 
                 ,  a CX  DX -  . । 
                 CMP ( 室)    ᫮ 室
                  ᫥ ஢ப:
                 ) 祭  DX , 祬  CX?
                 ) 祭  BX , 祬  AX?
                 ) CX ᮤন ?
                 ) 뫮  ९?
                 ) 祭  BX ࠢ  , 祬  AX?
                 ) 祭  DX ࠢ  , 祬  CX?
          7.5.     䫠  ᫥騥 ᮡ  
                 祭  䫠?
                 a) ந諮 ९;
                 ) १ ⥫;
                 ) १ 㫥;
                 ) ࠡ⪠  蠣 ०;
                 ) ।    ࠢ .
          7.6.    ந  믮 ணࠬ , ਢ
                    .7.4,    ᫨      楤   BEGIN   㤥
                 ⢮  RET?
          7.7.     ࠧ   ஢    ४⨢ PROC
                 p  ⨯ FAR   ⨯ NEAR?
          7.8.     ࠧ    ணࠬ     믮
                 楤?
          7.9.     EXE-ணࠬ  楤  A10  뢠  B10,  B10
                 뢠 C10,   C10  뢠 D10.  쪮 ᮢ,
                 ஬  砫  ᮢ      DOS, ᮤন
                 ⥪?
          7.10.  । ,  ॣ BL ᮤন 11100011  
                   BOONO ᮤন 01111001. । 
                     ॣ  BL    ᫥  :  ) XOR
                 BL,BOONO;  )  AND BL,BOONO;  ) OR  BL,BOONO; ) XOR
                 BL,11111111B; ) AND BL,00000000B.
          7.11.    ணࠬ   .7.6  :  ) ।
                 ᮤন TITLEX 묨 㪢; ) ८ࠧ
                   㪢    .
          7.12.  ।,     ॣ   DX   ᮤন  10111001
                 10111001,    p CL -  03. । ᮤন
                 ॣ  DX  ᫥ ᫥ 易  : )
                 SHR DX,1;  )  SHR DX,CL;  ) SHL DX,CL; ) SHL DL,1;
                 ) ROR DX,CL; ) ROR DL,CL; ) SAL DH,1.
          7.13.  ᯮ    ᤢ,   뫪    ᫮,
                 㬭 ᮤন  ॣ  AX   10.
          7.14.  ਬ ணࠬ,  ਢ   ࠧ "ᤢ
                    横᪨  ᤢ",   㬭  ᮤন  
                 ॣ஢  DX:AX   2.    ணࠬ  : )
                 㬭  4;  )   4; ) 㬭 48 
                  ॣ DX:AX:BX  2.






          
