¦È¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Â
¦¢           ¢Æ¢Ç¢È¢Ç¢Æ ÇíÄ¿°¡ µÇÀÚ!!!!    (6) ¢Æ¢Ç¢È¢Ç¢Æ                 ¦¢
¦¢                  (¾î¼Àºí¸® ¾ð¾î¿¡ ´ëÇÑ °­Á (4))                       ¦¢
¦§¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡¦©
¦¢        Copyright 1993, DimoSoft                   Á¦ÀÛ : ±è¿µºó(ÑÑç´Þ¯)¦¢
¦Æ¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦¬¦Ä
     ¡­¡­ º» ÀÚ·á´Â ¾î´À ´©±¸µµ ´Ù¸¥ °÷¿¡ °è½Ã¸¦ ÇÒ ¼ö ¾ø½À´Ï´Ù. ¡Å¡Å
   ¡­¡­  º» ÀÚ·áÀÇ ³»¿ëÀ» ÀοëÀ» ÇÏ¿´À» °æ¿ì °è½Ã¸¦ ÇÏ¿©¾ß ÇÕ´Ï´Ù. ¡Å¡Å
 ÀÌ ±ÛÀº ¹Ù·Î ¿¬´Þ¾Æ ¿Ã¶ó°¡´Â °ÍÀÔ´Ï´Ù.¾î¼Àºí¸®¾î´Â ´ÙÀ½ÀÌ ¸¶Áö¸·ÀÔ´Ï´Ù.±×¸®
°í´Â ¾à¼ÓÀ» ÇÑ´ë·Î µð¹ö°Å¹× ¿©·¯°¡Áö ºÐ¼®ÇϰڽÀ´Ï´Ù.Çϵå¿þ¾î¸¦ Á¦¾î¸¦ ÇÏ´Â ºÎ
ºÐÀÌ ¸¹½À´Ï´Ù.´ÙÀ½ºÎÅÍ´Â ¾Ï±â¸¦ ÇÒ °ÍÀÌ ¸¹À» °ÍÀÔ´Ï´Ù.
¡×6.½ºÆ®¸µ ¸í·É
         £Ü£Ò£Å£Ð (Repeat Prefix)
           (±â´É) ½ºÆ®¸µ ¿ÀÆÛ·¡À̼Ç(MOVS,CMPS,SCAS)À» ¼­·Î ÀÌ¿ëÇϰí,½ºÆ®¸µ
                 ¿ÀÆÛ·¡À̼ÇÀ» 1ȸ ½ÇÇà ÇÒ ¶§¸¶´Ù CX¸¦ µðÅ©¸®¸ÕÆ®Çϰí,CX ³»
                 ÀÇ Ä«¿îÅͰ¡ Á¦·Î·Î µÉ ¶§±îÁö ¹Ýº¹ÇÑ´Ù.
           (Á¶ÀÛ) CX ¨ö 0 »çÀÌ  ; ½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀÇ ÈÄ¼Ó ¹ÙÀÌÆ®¸¦ ½ÇÇà
                                 ÇÑ´Ù.
                  CX ¡ç CX - 1  ;Ç÷¡±×¿¡¼­ ¿µÇâÀ» ¹ÌÄ¡Áö ¾Ê´Â´Ù.
           (Çü½Ä) REP (no operands)
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÇüÅÂ
        (Äڵ尪)    F3
         £Ü£Ò£Å£Ð£Å (Repeat string operation while equal)
           £Ò£Å£Ð£Ú (Repeat string operation while zero)
           (±â´É) ½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀÇ SCAS (B/W)¶Ç´Â CMPS (B/W)¿Í ¼­·Î ÀÌ
                 ¿ëÀ» ÇÒ ¼ö ÀÖ´Ù.½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀ» 1ȸ ½ÇÇàÇÒ ¶§¸¶´Ù CX
                 ¸¦ µðÅ©¸®¸ÕÆ®Çϰí, ¶Ç ZF¸¦ Á¶»çÇÑ´Ù.CX = 0 ¶Ç´Â ZF = 1·Î
                 µÉ ¶§±îÁö ½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀ» ¹Ýº¹ÇÑ´Ù.
           (Á¶ÀÛ) CX = 0 ¶Ç´Â ZF = 1 ÀÌ µÉ ¶§±îÁö ´ÙÀ½ ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù.
           (Çü½Ä) REPE (no operands)
                  REPZ (no operands)
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÄÚµå
        (Äڵ尪)    F3
         £Ü£Ò£Å£Ð£Î£Å (Repeat string operation while not equal)
           £Ò£Å£Ð£Î£Ú (Repeat string operation while not zero)
           (±â´É) ½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀÇ SCAS (B/W)¶Ç´Â CMPS (B/W)¿Í ¼­·Î ÀÌ
                 ¿ëÀ» ÇÒ ¼ö ÀÖ´Ù.½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀ» 1ȸ ½ÇÇàÇÒ ¶§¸¶´Ù CX
                 ¸¦ µðÅ©¸®¸ÕÆ®Çϰí, ¶Ç ZF¸¦ Á¶»çÇÑ´Ù.CX = 0 ¶Ç´Â ZF = 0·Î
                 µÉ ¶§±îÁö ½ºÆ®¸µ ¿ÀÆÛ·¡À̼ÇÀ» ¹Ýº¹ÇÑ´Ù.
           (Á¶ÀÛ) CX = 0 ¶Ç´Â ZF = 0 ÀÌ µÉ ¶§±îÁö ´ÙÀ½ ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù.
           (Çü½Ä) REPNE (no operands)
                  REPNZ (no operands)
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÄÚµå
        (Äڵ尪)    F2
         £Ü£Í£Ï£Ö£Ó (Move String,Byte or Word)
           (±â´É) ½ºÆ®¸µ ±âº» ¿ÀÆÛ·¡À̼Ç,±âº»ÀûÀ¸·Î REP ÇÁ¸®ÇȽº¿Í ÇÔ²²
                 ½ÇÇàÇÑ´Ù.DS:SI¿¡¼­ ÁöÁ¤µÈ ¼Ò½º ½ºÆ®¸µÀ» ES:DI¿¡¼­ ÁöÁ¤µÈ
                 ¸Þ¸ð¸® ¿µ¿ªÀ¸·Î Àü¼ÛÇÑ´Ù.DF Ç÷¡±× °ª¿¡ µû¶ó¼­ DI¿Í SI¸¦
                 1 ¶Ç´Â 2Áõ°¨ÇÑ´Ù.REP¸¦ ºÙÀÌ¸é ¹Ýº¹ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
                  ½ºÆ®¸µ ¿ä¼ÒÀÇ Å©±â(¹ÙÀÌÆ® ¶Ç´Â ¿öµå)¸¦ "B" ¶Ç´Â "W"ÀÇ
                 ¼­ÇȽº¸¦ ºÙ¿© ³ªÅ¸³»¸é ¸í·É ¿ÀÆÛ·£µå¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù.
                 (MOVSB,MOVSW)
           (Á¶ÀÛ)
                ¡Ü ¹ÙÀÌÆ® ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    (DI) ¡ç (SI)
                    DF = 0 À̸é SI ¡ç SI + 1,DI ¡ç DI + 1
                    DF = 1 À̸é SI ¡ç SI - 1,DI ¡ç DI - 1
                ¡Ü ¿öµå ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    (DI) ¡ç (SI)
                    DF = 0 À̸é SI ¡ç SI + 2,DI ¡ç DI + 2
                    DF = 1 À̸é SI ¡ç SI - 2,DI ¡ç DI - 2
                ¡Ü ¹Ýº¹ ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    CX = 0 ·Î µÉ ¶§±îÁö ½ÇÇàÇÑ´Ù.
                    (DI) ¡ç (SI)
                    CX ¡ç CX - 1 (Ç÷¡±×´Â º¯È­ÇÏÁö ¾ÊÀ½)
                    DFÀÇ °ª¿¡ ÀÇÇØ¼­ SI,DIÀÇ °ªÀ» Áõ°¨ÇÑ´Ù.
           (Çü½Ä) MOVS dest-string,source-string
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÇüÅÂ
        (Äڵ尪)    1010010w
         £Ü£Ã£Í£Ð£Ó (Compare String,byte or word)
           (±â´É) ½ºÆ®¸µ ±âº» ¿ÀÆÛ·¡À̼Ç,±âº»ÀûÀ¸·Î REP ÇÁ¸®ÇȽº¿Í ÇÔ²²
                 ½ÇÇàÇÑ´Ù.ES:SI¿¡¼­ ÁöÁ¤µÈ ¼Ò½º ½ºÆ®¸µÀ» DS:DI¿¡¼­ ÁöÁ¤µÈ
                 ¸Þ¸ð¸® ¿µ¿ªÀ¸·Î ºñ±³ÇÑ´Ù.(À̶§ Ç÷¡±×¸¸ÀÌ º¯È­ÇÏ°í ¿ÀÆÛ
                 ·£µåÀÇ ³»¿ëÀº º¯È­ ÇÏÁö ¾Ê´Â´Ù.DF Ç÷¡±× °ª¿¡ µû¶ó¼­ DI
                 ¿Í SI¸¦ 1 ¶Ç´Â 2Áõ°¨ÇÑ´Ù).REP¸¦ ºÙÀÌ¸é ¹Ýº¹ ½ÇÇàÇÒ ¼ö ÀÖ
                 ´Ù.
                  ½ºÆ®¸µ ¿ä¼ÒÀÇ Å©±â(¹ÙÀÌÆ® ¶Ç´Â ¿öµå)¸¦ "B" ¶Ç´Â "W"ÀÇ
                 ¼­ÇȽº¸¦ ºÙ¿© ³ªÅ¸³»¸é ¸í·É ¿ÀÆÛ·£µå¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù.
                 (CMPSB,CMPSW)
           (Á¶ÀÛ)
                ¡Ü ¹ÙÀÌÆ® ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    FLAGS ¡ç (SI) - (DI)
                    DF = 0 À̸é SI ¡ç SI + 1,DI ¡ç DI + 1
                    DF = 1 À̸é SI ¡ç SI - 1,DI ¡ç DI - 1
                ¡Ü ¿öµå ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    FLAGS ¡ç (SI) - (DI)
                    DF = 0 À̸é SI ¡ç SI + 2,DI ¡ç DI + 2
                    DF = 1 À̸é SI ¡ç SI - 2,DI ¡ç DI - 2
                ¡Ü ¹Ýº¹ ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    CX = 0 ·Î µÉ ¶§±îÁö ½ÇÇàÇÑ´Ù.
                    FLAGS ¡ç (SI) - (DI)
                    CX ¡ç CX - 1 (Ç÷¡±×´Â º¯È­ÇÏÁö ¾ÊÀ½)
                    DFÀÇ °ª¿¡ ÀÇÇØ¼­ SI,DIÀÇ °ªÀ» Áõ°¨ÇÑ´Ù.
                    REPÀÇ Á¶°Ç¿¡ ÀÏÄ¡ÇÏ´Â °æ¿ì´Â ½ÇÇàÀ» ÁßÁöÇÑ´Ù.
           (Çü½Ä) CMPS string
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÇüÅÂ
        (Äڵ尪)    1010011w
         £Ü£Ó£Ã£Á£Ó (Scan String,Byte or Word)
           (±â´É) ½ºÆ®¸µ ±âº» ¿ÀÆÛ·¡À̼Ç,±âº»ÀûÀ¸·Î REP ÇÁ¸®ÇȽº¿Í ÇÔ²²
                 ½ÇÇàÇÑ´Ù.ES:SI¿¡¼­ ÁöÁ¤µÈ ¼Ò½º ½ºÆ®¸µÀ» AX ¶Ç´Â ALÀ» ºñ
                 ±³Çϸ鼭 scanÇÏ°í ºñ±³°á°ú¸¦ Ç÷¡±×¿¡ ¹Ý¿µ½ÃŲ´Ù.DF ÇÃ
                 ·¡±× °ª¿¡ µû¶ó¼­ DI¿Í SI¸¦ 1 ¶Ç´Â 2Áõ°¨ÇÑ´Ù.REP¸¦ ºÙÀÌ
                 ¸é ¹Ýº¹ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.
                  Á¶°ÇÀÌ ºÙÀº ÇÁ¸®ÇȽº¸¦ ºÙÈ÷¸é DI´Â AX/AL°ú ÀÏÄ¡ ¶Ç´Â
                 ÀÏÄ¡ÇÏÁö ¾ÊÀº ¿ä¼ÒÀÇ ´ÙÀ½À» ³ªÅ¸³½´Ù.½ºÆ®¸µ ¿ä¼ÒÀÇ Å©±â
                 (¹ÙÀÌÆ® ¶Ç´Â ¿öµå)¸¦ "B" ¶Ç´Â "W"ÀÇ ¼­ÇȽº¸¦ ºÙ¿© ³ªÅ¸
                 ³»¸é ¸í·É ¿ÀÆÛ·£µå¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù.(SCASB,SCASW)
           (Á¶ÀÛ)
                ¡Ü ¹ÙÀÌÆ® ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    FLAGS ¡ç (DI) - AL
                    DF = 0 À̸é DI ¡ç DI + 1
                    DF = 1 À̸é DI ¡ç DI - 1
                ¡Ü ¿öµå ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    FLAGS ¡ç (DI) - AX
                    DF = 0 À̸é DI ¡ç DI + 2
                    DF = 1 À̸é DI ¡ç DI - 2
                ¡Ü ¹Ýº¹ ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    CX = 0 ·Î µÉ ¶§±îÁö ½ÇÇàÇÑ´Ù.
                    FLAGS ¡ç (DI) - AL or AX
                    CX ¡ç CX - 1
                    DFÀÇ °ª¿¡ ÀÇÇØ¼­ SI,DIÀÇ °ªÀ» Áõ°¨ÇÑ´Ù.
                    REPÀÇ Á¶°Ç¿¡ ÀÏÄ¡ÇÏ´Â °æ¿ì´Â ½ÇÇàÀ» ÁßÁöÇÑ´Ù.
           (Çü½Ä) SCAS destination,count
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÇüÅÂ
        (Äڵ尪)    1010111w
         £Ü£Ì£Ï£Ä£Ó (Load String,Byte or Word)
           (±â´É) ½ºÆ®¸µ ±âº» ¿ÀÆÛ·¡À̼Ç,DS:SI¿¡¼­ ÁöÁ¤µÈ ½ºÆ¼¸µÀÇ ¿ä¼Ò¸¦
                 AX ¶Ç´Â AL¿¡ ·ÎµåÇÑ´Ù.DFÀÇ °ª¿¡ µû¶ó¼­ SI¸¦ 1 ¶Ç´Â 2Áõ°¨
                 ÇÑ´Ù.ÀÌ ¸í·É¾î´Â AX ¶Ç´Â AL¿¡ ·ÎµåµÈ µ¥ÀÌŸ¸¦ ó¸®ÇØ¾ß ÇÏ
                 ¹Ç·Î LOOP³ª REP ÇÁ¸®ÇȽº¿Í ÇÔ²² »ç¿ëÇÏÁö ¾Ê´Â´Ù.
                  ½ºÆ®¸µ ¿ä¼ÒÀÇ Å©±â(¹ÙÀÌÆ® ¶Ç´Â ¿öµå)¸¦ "B" ¶Ç´Â "W"ÀÇ ¼­
                 ÇȽº¸¦ ºÙ¿© ³ªÅ¸³»¸é ¸í·É ¿ÀÆÛ·£µå¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù.
                 (LODSB,LODSW)
           (Á¶ÀÛ)
                ¡Ü ¹ÙÀÌÆ® ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    AL ¡ç (SI)
                    DF = 0 À̸é SI ¡ç SI + 1
                    DF = 1 À̸é SI ¡ç SI - 1
                ¡Ü ¿öµå ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    AX ¡ç (SI)
                    DF = 0 À̸é SI ¡ç SI + 2
                    DF = 1 À̸é SI ¡ç SI - 2
           (Çü½Ä) LODS Source-string
      (Ç¥Çö ¹üÀ§) ´ÜÀÏ ÇüÅÂ
        (Äڵ尪)    1010110w
         £Ü£Ó£Ô£Ï£Ó (Store String,Byte or Word)
           (±â´É) ½ºÆ®¸µ ±âº» ¿ÀÆÛ·¡À̼Ç,±âº»ÀûÀ¸·Î REP ÇÁ¸®ÇȽº¿Í ÇÔ²²
                 ½ÇÇàÇÑ´Ù.AX/AlÀÇ ³»¿ëÀ» DI¿¡ ÀÇÇØ¼­ ÁöÁ¤µÈ ¸Þ¸ð¸®·Î Àü
                 ¼Û.DF Ç÷¡±× °ª¿¡ µû¶ó¼­ DI¿Í SI¸¦ 1 ¶Ç´Â 2Áõ°¨ÇÑ´Ù.REP
                 ¸¦ ºÙÀÌ¸é ¹Ýº¹ ½ÇÇàÇÒ ¼ö ÀÖ´Ù.½ºÆ®¸µÀ» º¸ÃæÇÒ ¼ö ÀÖ´Ù.
                  ½ºÆ®¸µ ¿ä¼ÒÀÇ Å©±â(¹ÙÀÌÆ® ¶Ç´Â ¿öµå)¸¦ "B" ¶Ç´Â "W"ÀÇ
                 ¼­ÇȽº¸¦ ºÙ¿© ³ªÅ¸³»¸é ¸í·É ¿ÀÆÛ·£µå¸¦ »ý·«ÇÒ ¼ö ÀÖ´Ù.
                 (STOSB,STOSW)
           (Á¶ÀÛ)
                ¡Ü ¹ÙÀÌÆ® ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    DF = 0 À̸é DI ¡ç DI + 1
                    DF = 1 À̸é DI ¡ç DI - 1
                ¡Ü ¿öµå ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    DF = 0 À̸é DI ¡ç DI + 2
                    DF = 1 À̸é DI ¡ç DI - 2
                ¡Ü ¹Ýº¹ ¿ÀÆÛ·¡À̼ÇÀÇ °æ¿ì
                    DX = 0 ·Î µÉ ¶§±îÁö ½ÇÇàÇÑ´Ù.
                    (DI) ¡ç AL or AX
                    CX ¡ç CX - 1
                    DFÀÇ °ª¿¡ ÀÇÇØ¼­ DIÀÇ °ªÀ» Áõ°¨ÇÑ´Ù.
---------------------------