1581, 75/80 ȸ¿ø°¡ÀÔ  ·Î±×ÀΠ 
   asdzxc301
   ¾î¼Àºí¸®¾î °­Á 7Æí ¸¶Áö¸·¿ä ¤¾¤¾

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1140 [º¹»ç]


Á¦ 7 Àå . ¹Ýº¹ ±â¹ý
--------------------------------------------------------------------------------

8.1 ·çÇÁ(loop)¸í·É
--------------------------------------------------------------------------------
ºñ±³¿Í ºÐ±â¸¦ Çϳª·Î ÇÕÃļ­ ÇѸí·ÉÀ¸·Î ÇÒ¼ö ÀÖµµ·Ï µÈ  ·çÇÁ(loop),½ºÆ®¸µ(string)

LOOP ¸í·É
LOOP ¸í·ÉÀº CX·¹Áö½ºÅ͸¦ »¬¼À½Ä Ä«¿îÅͷμ­ »ç¿ëÇÏ°í ,CX ·¹Áö½ºÅÍ°¡ 0 ÀÌ µÉ¶§±îÁö
¾î¶² ¹®ÀåµéÀ» µÇÇ®ÀÌ ¹Ýº¹ÇÑ µÚ ÁöÁ¤ÇÑ ¶óº§·Î ºÐ±â ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.Áï, CX ¿¡ ¼³Á¤
ÇÑ È½¼ö¸¸Å­ ¹Ýº¹À» ÇϱâÀ§ÇÑ ¸í·ÉÀÎ°Í ÀÔ´Ï´Ù.
LOOP¸í·ÉÀº ¿ÀÆÛ·£µå¿¡ ºÐ±âÇÏ´Â °÷ÀÇ ¶óº§À» ÁöÁ¤ÇÏ¿©,

        LOOP    NEXT

¿Í °°Àº ½ÄÀ¸·Î »ç¿ëÇÕ´Ï´Ù.À̸í·ÉÀº Áö±Ý±îÁö ¾Ë°í ÀÖ´Â ¸í·ÉÀ» Á¶ÇÕÇÏ¿© ½ÇÇàÇÏ·Á°í
Çϸé
        DEC     CX
        CMP     CX,0
        JNE     NEXT

¿Í °°ÀÌ ÇÏ¸é µË´Ï´Ù.Áï , LOOP ¸í·ÉÀº CX ·¹Áö½ºÅÍ »¬¼À¸í·É°ú ºñ±³¸í·É°ú  Á¶°ÇºÐ±â
¸í·ÉÀ» ÇÑ ¸í·ÉÀ¸·Î ½ÇÇàÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.  ÀÌ°æ¿ì  »¬¼À Ä«¿îÅͷμ­ »ç¿ëµÇ´Â  °ÍÀº
CX·¹Áö½ºÅÍ ¶ó°í Á¤ÇØÁ® ÀÖÀ¾´Ï´Ù.·çÇÁ¸í·ÉÀ» ½ÇÇàÇϸé CX ·¹Áö½ºÅÍ °ªÀ» Çϳª »©°í,
0 À̾ƴϸé ÁöÁ¤µÈ ¶óº§·Î ºÐ±â ÇÕ´Ï´Ù.
LOOP¸í·É¿¡ ÀÇÇØ CX·¹Áö½ºÅÍ¿¡ ÁöÁ¤µÈ Ƚ¼ö¸¸Å­ ¹Ýº¹ÇÒ¼ö°¡ ÀÖÀ¾´Ï´Ù.
CX ·¹Áö½ºÅÍ¿¡´Â LOOP¸í·É¿¡¼­ ÁöÁ¤ÇÏ´Â ¹Ýº¹¹üÀ§º¸´Ù ¾Õ¼­¼­ ¹Ýº¹Çϴ Ƚ¼ö¸¦ ¼³Á¤ÇØ
ÁÖÁö ¾ÊÀ¸¸é ¾ÈµË´Ï´Ù.

¿¹Á¦)LOOP1.ASM
1ºÎÅÍ 10H±îÁöÀÇ ¼öÄ¡¸¦ È­¸é¿¡ Ãâ·ÂÇÏ´Â ÇÁ·Î±×·¥
CODE    SEGMENT
        ASSUME  CS:CODE,DS:CODE
;
INCLUDE PUTAL2.SUB   - INCLUDEÈ­ÀÏÀÇ Àü°³ºÎºÐÀÇ ¸®½ºÆ®´Â »ý·«ÇÏ¿´´Ù.
;
START:  PUSH    CS   -+DS ¿¡ CSÀÇ °ªÀ» ÁöÁ¤ÇÔ
        POP     DX   -+
;
        MOV     AX,1
        MOV     CX,10H
L1:     MOV     DS,AL  -+
        CALL    PUTAL   |
        CALL    SPACE   | À̹üÀ§¸¦ 10Hȸ ¹Ýº¹ÇÑ´Ù.
        INC     AX      |
        LOOP    L1     -+
        MOV     AH,4CH
        INT     21H
;
SPACE   PROC    NEAR   - NEARÁöÁ¤Àº ¾ø¾îµµ ÁÁ´Ù.
        PUSH    AX     -+ ·¹Áö½ºÅ͸¦ ÅðÇÇ
        PUSH    DX     -+

        MOV     DL,' ' -+°ø¹é¹®ÀÚ¸¦ Ãâ·Â
        MOV     AH,2    |
        INT     21H    -+
        POP     DX     -+ÅðÇÇÇß´ø ·¹Áö½ºÅÍ°ªÀ» ȸº¹
        POP     AX     -+
        RET
SPACE   ENDP
;
CODE    ENDS
        END     START

À§ÀÇ ÇÁ·Î±×·¥Àº ¸®½ºÆ®´Â INCLUDE È­ÀÏ ÀÌ Àü°³µÈ  ºÎºÐÀº »ý·«ÇÏ°í ³ªÅ¸³½°Í ÀÔ´Ï´Ù
CX·¹Áö½ºÅÍÀÇ Ãʱ⠼³Á¤Àº ·çÇÁ¹Û¿¡¼­ ¼¼Æ®
LOOP¸í·ÉÀº ,±×ÀڽŠ¼Ó¿¡ CXÀÇ °ªÀ» »©´Â ¸í·ÉÀ» Æ÷ÇÔÇÏ°í ÀÖ´Ù
LOOP : ¹«Á¶°Ç ÁöÁ¤µÈ Ƚ¼ö¸¦ ¹Ýº¹
LOOPE(loop while equal) ,LOOPNE(loop while not equal):
¾î¶² Á¶°ÇÀÌ ÁöÁ¤µÈ Ƚ¼ö À̳»¿¡ ¼­ ¹Ýº¹À» ³¡³¿
ÀÌ ¸í·É ¾Õ¿¡ ºñ±³¸í·É(¶Ç´Â ¿¬»ê¸í·É)À» ³õ°í ±× °á°ú°¡ °°°í ,¶ÇÇÑ CX ·¹Áö½ºÅÍÀÇ 1
¾¿À» °ªÀ» »« °á°ú°¡ 0 ÀÌ ¾Æ´Ï¸é ¹Ýº¹ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.
»óÇÑÀ» CX ȸ·Î ¼³Á¤ÇØ ³õ°í °°Áö¾ÊÀº °ÍÀÌ ³ªÅ¸³¯ ¶§±îÁö ¹Ýº¹ÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.
ÀÌ°ÍÀº µ¥ÀÌÅÍÀÇ ¿­Áß¿¡¼­ ¼­·Î ´Ù¸¥ µ¥ÀÌÅ͸¦ ã´Âµ¥¿¡ »ç¿ëÇÒ¼ö ÀÖÀ¾´Ï´Ù.


¿¹Á¦)LOOP2.ASM
¹®ÀÚ¿­ "_ _ _ _ _HELLO!" ÀÇ °ø¹éÀÇ °¹¼ö¸¦ ¼¼°í,¹®ÀÚ¿­ "HELLO!_ _  _"ÁßÀÇ ¿¬¼ÓµÈ
¹®ÀÚ°¹¼ö¸¦ ¼¼¾î Ãâ·ÂÇÑ´Ù.
CODE    SEGMENT
        ASSUME  CS:CODE,DS:DATA
INCLUDE PUTAL2.SUB  -+INCLUDEÈ­ÀÏÀÇ Àü°³ºÎºÐÀº »ý·«ÇÑ´Ù.
INCLUDE CRLF.SUB    -+
;
SPACE   EQU     ' '
;
START:  MOV     AX,DATA
        MOV     DS,AX
;
;COUNT  SPACE   LENGTH          °ø¹é±æÀ̸¦ ¼¾´Ù.
        MOV     CX,10H          »óÇÑ È¸¼ö¸¦ 10Hȸ·Î °áÁ¤ÇÑ´Ù.
        MOV     DL,0            °ø¹é¼ö¸¦ DL·¹Áö½ºÅÍ¿¡Ä«¿îÆ®
        MOV     SI,0            ¼±µÎ¹øÁöºÎÅÍ ¸î¹ø°Àΰ¡¸¦ ³ªÅ¸³»´Â SI
        MOV     BX,OFFSET STR1
NEXT1:  INC     DL
        INC     SI               SI °¡ INC SI ¿¡ ÀÇÇؼ­ 1ºÎÅÍ ½ÃÀ۵ǹǷÎ
        MOV     AL,[BX+SI-1] --  Çϳª¸¦ »©¾ßÇÑ´Ù.
        CMP     AL,SPACE         CX³»¿ë¿¡¼­ 1À» »« °á°ú 0ÀÌ¾Æ´Ñ µ¿¾È ¿©±â¼­ AL°ú
        LOOPE   NEXT1            SPACE¿Í ºñ±³ÇÑ °á°ú °°À¸¸é NEXT1À¸·ÎºÐ±âÇÑ´Ù.
        DEC     DL     -----+    °°Áö¾ÊÀ¸¸é ¾Æ·¡·Î °è¼ÓÇÑ´Ù.
        MOV     AL,DL  --+  +--- Ä«¿îÆ®¿¡ ´õ ´õÇÑ ¸¸Å­ »«´Ù
        CALL    PUTAL  --+------ Ç¥½Ã
        CALL    CRLF   --------- ÁÙÀ» ¹Ù²Û´Ù.
;


;COUNT STRING LENGTH              ¹®ÀÚ¿­°Ù¼ö¸¦ ¼¾´Ù
        MOV     CX,10H
        MOV     DL,-1      ÃʱⰪÀ» -1·Î Çϴ°ÍÀº
        MOV     SI,-1      0FFFFH¼¼Æ®ÇÏ´Â °Í
NEXT2:  INC     DL
        INC     SI
        MOV     AL,[BX+SI]
        CMP     AL,SPACE  -+ CX¸¦ 1°¨¼Ò½ÃÄ×À» ¶§ 0ÀÌ ¾Æ´Ñ¹üÀ§ ³»¿¡¼­ AL¿Í
        LOOPNE  NEXT2     -+ SPACE°¡ °°Áö ¾ÊÀ¸¸é NEXT2·Î ºÐ±âÇÏ¿© ¹®ÀÚ °¹¼ö
        MOV     AL,DL        ¸¦ ¼¾´Ù.
        CALL    PUTAL   ---  Ç¥½Ã
        CALL    CRLF         ÁÙÀ» ¹Ù²Û´Ù.
;
        MOV     AH,4CH
        INT     21H
;
CODE    ENDS
DATA    SEGMENT
STR1    DB              HELLO!' ;¼±µÎ°¡ °ø¹éÀÎ ¹®ÀÚ
STR2    DB      'HELLOW!   '    ;¼±µÎºÎÅÍ ¹®ÀÚ°¡ µé¾îÀÖ´Â ¹®ÀÚ
DATA    ENDS
        END     START



LOOP ¸í·É°ú Ç÷¹±× ·¹Áö½ºÅÍ:
LOOP ¸í·É, LOOPE¸í·É,LOOPNE¸í·ÉÀº ¸ðµÎ CX ·¹Áö½ºÅ͸¦ Ä«¿îÅÍ·Î ÇÏ°í Çѹø ½ÇÇàÇÒ¶§
¸¶´Ù CX ·¹Áö½ºÅÍ °ªÀ» Çϳª ¾¿ °ªÀ» »©°í ÀÖÀ¾´Ï´Ù.±×·¯³ª ¿©±â¿¡¼­ CX ·¹Áö½ºÅÍ °ª
À» »¬¶¼´Â ,°á°ú°¡ ¹«¾ùÀÌµç »ó°ü¾øÀÌ Ç÷¡±× ·¹Áö½ºÅÍÀÇ °ªÀº º¯È­ÇÏÁö ¾Ê½À´Ï´Ù.
Áï, LOOP¸í·ÉµîÀÇ ½ÇÇà ÈÄ Ç÷¡±× ·¹Áö½ºÅÍÀÇ °ªÀº ¾ÕÀÇ ¿¬»ê°á°ú¸¦ À¯ÁöÇÏ°í ÀÖÀ¾´Ï
´Ù.µû¶ó¼­ LOOP ¸í·É ÁßÀÇ  CX ·¹Áö½ºÅ͸¦ »©´Â ¸í·ÉÀº ´Ü¼øÇÑ DEC ¸í·É°ú ġȯÇÒ¼ö´Â
¾øÀ¾´Ï´Ù.(DEC  ¸í·É¿¡¼­´Â   CFÀÌ¿ÜÀÇ  ·¹Áö½ºÅÍ°¡   º¯È­ÇÑ´Ù.).  LOOP¸í·É,LOOPE¸í
·É,LOOPNE ¸í·ÉÀ» ÀÌÇظ¦ µ½±â À§Çؼ­ ´Ù¸¥ ¸í·ÉÀ¸·Î ġȯ ÇÑ´Ù¸é ´ÙÀ½°ú°°ÀÌ µË´Ï´Ù.

LOOP¸í·É LOOPE¸í·É, LOOPNE¸í·ÉµéÀÇ ¶È°°Àº ±â´ÉÀ» ´Ù¸¥ ¸í·ÉÀ¸·Î ġȯ
+-------------------------------------------------------+
|       LOOP L1         LOOPE L1        LOOPNE L1       |
|                                                       |
|       PUSHF           PUSHF           PUSHF           |
|       DEC   CX        JNZ   EXIT      JZ    EXIT      |
|       JE    EXIT      DEC   CX        DEC   CX        |
|                       JZ    EXIT      JZ    EXIT      |
|       POPF            POPF            POPF            |
|       JMP   L1        JMP   L1        JMP   L1        |
|  EXIT:POPF       EXIT:POPF       EXIT:POPF            |
+-------------------------------------------------------+
¿©±â¼­ PUSHF ´Â Ç÷¡±× ·¹Áö½ºÅÍ(flag register)¸¦ ½ºÅÿ¡ ÅðÇǽÃŵ´Ï´Ù.



8.2 ½ºÆ®¸µ(string)  ¸í·É
--------------------------------------------------------------------------------
¿¬¼ÓÇÑ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ´Â ¸í·É(5Á¾·ù)
¹®ÀÚ¿­°ú °°Àº ¿¬¼ÓÇÑ µ¥ÀÌÅ͸¦ Àü¼ÛÇÏ´Â ¸í·ÉÀÔ´Ï´Ù.
¸®ÇÇÆ® ÇÁ¸®ÇȽº(repeat prefix) ¸í·É°ú  Á¶ÇÕÇÏ¿© »ç¿ëÇÔÀ¸·Î½á ,ÇѸí·ÉÀ¸·Î  ´ë·®ÀÇ
µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ¼ö ÀÖ´Â ÀÌÁ¡ÀÌ ÀÖÀ¾´Ï´Ù.

   ½ºÆ®¸µ ¸í·É
+-----------+-------+-------------------+-------+------------------------+
|           |       |  ¹ÙÀÌÆ® ´ÜÀ§      |       |     ¿öµå ´ÜÀ§          |
+-----------+-------+-------------------+-------+------------------------+
|Àü¼Û ¸í·É±º| LODSB | ¸Þ¸ð¸® ->AL       | LODSW | ¸Þ¸ð¸® -> AX           |
|           | STOSB | AL     ->¸Þ¸ð¸®   | STOSW | AX     -> ¸Þ¸ð¸®       |
|           | MOVSB | ¸Þ¸ð¸® ->¸Þ¸ð¸®   | MOVSW | ¸Þ¸ð¸® -> ¸Þ¸ð¸®       |
+-----------+-------+-------------------+-------+------------------------+
|ºñ±³ ¸í·É±º| SCASB | ¸Þ¸ð¸® ALÀÇ ºñ±³ | SCASW | ¸Þ¸ð¸®¿Í AXÀÇ ºñ±³      |
|           | CMPSB | ¸Þ¸ð¸®³¢¸®ÀÇ ºñ±³ | CMPSW | ¸Þ¸ð¸®¿Í ¸Þ¸ð¸®ÀÇ ºñ±³ |
+-----------+-------+-------------------+-------+------------------------+



¸®ÇÇÆ® ÇÁ¸®ÇȽº ¸í·É
+-------------+-------+--------------------------------------------------------+
| Àü¼Û ¸í·É±º | REP   | CX  ·¹Áö½ºÅÍ¿¡ ÁÖ¾îÁø Ƚ¸¸Å­,´ÙÀ½ÀÇ ½ºÆ®¸µ ¸í·ÉÀ» ¹Ýº¹ |
+-------------+-------+--------------------------------------------------------+
| ºñ±³ ¸í·É±º | REPE |  ºñ±³°á°ú°¡ 0 ¹×  CX·¹Áö½ºÅÍ¿¡ ÁÖ¾îÁø Ƚ¼ö À̳»ÀÌ¸é ´Ù  |
|             | REPZ  |  À½ÀÇ ½ºÆ®¸µ ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù.                          |
|             +-------+--------------------------------------------------------+
|             | PEPNE |   ºñ±³°á°ú°¡ 0ÀÌ ¾Æ´Ï°í CX·¹Áö½ºÅÍ¿¡ ÁÖ¾îÁø Ƚ¼ö À̳»ÀÌ|
|             | PEPNZ |   ³» ÀÌ¸é ´ÙÀ½ÀÇ ½ºÆ®¸µ ¸í·ÉÀ» ¹Ýº¹ÇÑ´Ù.               |
+-------------+-------+--------------------------------------------------------+

½ºÆ®¸µ ¸í·É¿¡¼­´Â ¸Þ¸ð¸®ÀÇ ¹øÁö¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýÀÌ
Á¤ÇØÁ® ÀÖ°í,¶ÇÇÑ µ¥ÀÌÅ͸¦ Àд ¹æ¹ý°ú ¾²´Â ¹æ¹ýÀÌ Â÷ÀÌ°¡ ÀÖÀ¾´Ï´Ù.
*.µ¥ÀÌÅ͸¦ Àо¶§...DS ³»ÀÇ [SI]·Î Ç¥½ÃµÇ´Â ¹øÁöÀÇ ³»¿ëÀ» Àо´Ù.
*.µ¥ÀÌÅ͸¦ ½á³ÖÀ»¶§...ES ³»ÀÇ [DI]·Î Ç¥½ÃµÇ´Â ¹øÁöÀÇ µ¥ÀÌÅ͸¦ ½á³Ö´Â´Ù.
+----------+
| DS:[SI]  +-----+  LODS¸í·É
+----------+    \|/
               +-----------------+
MOVS¸í·É       |  AX ȤÀº AL     |
(CMP¸í·É)      +-----------------+
                 |
+----------+     |  STOS¸í·É
| ES:[DI]  +<----+ ( SCAS ¸í·É)
+----------+
»ç¿ëÇÏ´Â ¹øÁöµµ ¹ÙÀÌÆ® ´ÜÀ§¸é AL, ¿öµå ´ÜÀ§À̸é AX ·ÎÁ¤ÇØÁ® ÀÖÀ¾´Ï´Ù.µû¶ó¼­ ½ºÆ®
¸µ ¸í·ÉÀ» »ç¿ëÇϱâ Àü¿¡´Â ÇÊ¿äÇÑ ·¹Áö½ºÅÍ(DS,ES,SI,DI,CX)ÀÇ Ãʱ⼳Á¤À»  ÇÏÁö¾ÊÀ¸
¸é ¾ÈµÇ´Â ´ë½Å¿¡,¸í·ÉÀÚü´Â ¿ÀÆÛ·£µå¸¦ °¡ÁöÁö ¾Ê°í ´Ü¼øÈ÷
LODSB
MOVSW
¿Í °°Àº ½ÄÀ¸·Î ´Ü¼øÇÏ°Ô »ç¿ëÇÒ¼ö°¡ ÀÖÀ¾´Ï´Ù.

´Ü,½ºÆ®¸µ ¸í·ÉÀº Àü¼ÛÀ̳ª ºñ±³ µîÀ» ÇàÇÑ ´ÙÀ½,¹øÁöÁöÁ¤¿¡ »ç¿ëµÇ¾î SIȤÀº  DI·¹Áö
½ºÅÍÀÇ °ªÀ» ÀÚµ¿ÀûÀ¸·Î 1(¹ÙÀÌÆ® ´ÜÀ§À϶§) ¶Ç´Â 2(¿öµå ´ÜÀ§À϶§) ¸¸Å­  Áõ°¡½Ãŵ´Ï
´Ù.  ÀÌ°ÍÀº ´ÙÀ½¹øÁöÀÇ µ¥ÀÌÅ͸¦ Àü¼Û ¶Ç´Â ºñ±³ÇϱâÀ§ÇÑ ÁغñÀÌ°í,½ºÆ®¸µ ¸í·ÉÀ» ¿¬
¼ÓÇÏ¿© »ç¿ë ÇÔÀ¸·Î½á ¿¬¼ÓµÈ ¹øÁö¿¡ ³õ¿©Áø µ¥ÀÌÅ͸¦ Àü¼Û ¶Ç´Â ºñ±³ÇÒ¼öÀÖÀ¾´Ï´Ù.
(µð·º¼Ç Ç÷¹±×°ªÀÌ 1 À϶§´Â ,SI, DI °©Àº °¨¼Ò µÈ´Ù.)

LOOP ¸í·ÉÀ» »ç¿ëÇϱâ À§ÇØ,ÆíÀÇ»ó ¹Ì¸® CX ¿¡ ¹®ÀÚ¿­ÀÇ ±æÀ̸¦ ³Ö¾îµÎÁö ¾ÊÀ¸¸é ¾ÈµË
´Ï´Ù. ¹®ÀÚ¿­ÀÇ  ±æÀ̸¦ °è»êÇϱâÀ§ÇÏ¿©  ¿øÇÏ´Â ¹®ÀÚ¿­ÀÇ  ´ÙÀ½¿¡ ´õ¹Ì(dummy)  º¯¼ö
MSG2¸¦ ³õ¾Æ¼­ µÎ °³ÀÇ ¿ÀÇÁ¼Â    ¹øÁöÀÇ Â÷¸¦ ÃëÇÕ´Ï´Ù.
OFFSET MSG2-OFFSET MSG

ÀÌ¿Í °°ÀÌ ¸ÅÅ©·Î ¾î¼Àºí¿¡¼­´Â ¹øÁöµîÀÇ µ¡¼À »¬¼ÀÀ» ¼Ò½º ÇÁ·Î±×·¥ Áß¿¡ ¾µ¼ö°¡  ÀÖ
À¾´Ï´Ù. ÀÌ ¹æ¹ýÀº Á¤¼®À¸·Î µÇ¾î ÀÖÀ¾´Ï´Ù.

LOODSB¸í·ÉÀº ,µ¥ÀÌÅ͸¦ Àü¼ÛÇÑ´ÙÀ½ SI °ªÀ» Çϳª Áõ°¡ ½ÃÅ°¹Ç·Î, ÇÑ ¹®ÀÚ Ãâ·ÂÇÑ  ´Ù
À½ LOOP¸í·ÉÀ¸·Î µ¹¾Æ¿Í¼­ ´Ù½Ã LODSB ¸í·ÉÀ» ½ÇÇàÇÏ°Ô µÇ¸é, SI ´Â ¾Õ¿¡ Ãâ·ÂÇÑ ¹®ÀÚ
°¡ ÀÖ´Â ¹øÁöÀÇ ´ÙÀ½ ¹øÁö¸¦ ³ªÅ¸³»°í ÀÖÀ¾´Ï´Ù.(¿¬¼Ó¹®ÀÚ Ãâ·Â°¡´É)

STOS¸í·É
¸Þ¸ð¸®·Î ºÎÅÍ ¸Þ¸ð¸®·Î µ¥ÀÌÅÍ Àü¼Û
LODS ¿Í STOS¸¦ Á¶ÇÕÇÏ´Â ¹æ¹ý ,MOVS ¸¦ »ç¿ëÇÏ´Â ¹æ¹ý,

¿¹Á¦)MOVS2.ASM
MSG1¿¡µé¾î ÀÖ´Â ½ºÆ®¸µ FUNCTION 09H:DISPLAY STRING À»
MSG2·Î Àü¼ÛÇÏ´Â Æã¼Ç 9 ¸¦ È£ÃâÇÏ¿© Ãâ·ÂÇÑ´Ù.
CODE    SEGMENT
        ASSUME  CS:CODE,DS:DATA,ES:DATA
;
START:  MOV     AX,DATA
        MOV     DS,AX
        MOV     ES,AX
;
        MOV     CX,OFFSET MSG2-OFFSET MSG1
        MOV     SI,OFFSET MSG1
        MOV     DI,OFFSET MSG2
        CLD      ;DIÀÇ Áõ°¡ ¼³Á¤
NEXT:   LODSB    ;DS:[SI]·Î Á¤ÇØÁö´Â ¹øÁö¸Þ¸ð¸® ³»¿ëÀ» ES:[DI]·Î
        STOSB    ;Á¤ÇØÁö´Â ¸Þ¸ð¸®¿¡ Àü¼ÛÇÑ´Ù.´Ü,¹®ÀÚ¿­ÀÇ ±æÀÌ(CX) ¸¸Å­
        LOOP    NEXT
        MOV     BYTE PTR ES:[DI],'$'
        MOV     DX,OFFSET MSG2
        MOV     AH,9H
        INT     21H
;
CODE    ENDS

DATA    SEGMENT
MSG1    DB      'FUNCTION 09H:DISPLAY STRING'
MSG2    DB      20H DUP (?)
DATA    ENDS
        END     START


LODSBÀÇ ½ÇÇàÈÄ SIÀÇ °ªÀÌ Çϳª Áõ°¡ÇÏ°í,STOSBÀÇ ½ÇÇàÈÄ DI ÀÇ °ªÀÌ Çϳª Áõ°¡,
2 °³ÀÇ ¸í·É¿¡ LOOP ¸í·ÉÀ» ´õÇÔÀ¸·Î½á ¿¬¼ÓÇÑ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ¼ö°¡ ÀÖÀ¾´Ï´Ù.


MOVS ¸í·É:
À§ÀÇ LODS ¸í·É°ú STOS ¸í·ÉÀ» MOVS ¸í·ÉÀ¸·Î ġȯ

CODE    SEGMENT
        ASSUME  CS:CODE,DS:DATA,ES:EXTRA
;
START:  MOV     AX,DATA
        MOV     DS,AX     ;DS¼³Á¤
        MOV     AX,EXTRA  ;µ¶¸³µÈ ESÀÇ ¼³Á¤ÀÌ ÇÊ¿ä
        MOV     ES,AX
;
        CLD               ;DIÀÇ Áõ°¡ ¼³Á¤
        MOV     DX,5      ;5¹ø µÇÇ®ÀÌ
        MOV     DI,OFFSET MSG2
NEXT2:  MOV     CX,OFFSET DMSG - OFFSET MSG1
        MOV     SI,OFFSET MSG1
NEXT:   MOVSB             ;CXÀÇ °ªÀÌ 0ÀÌ µÉ¶§ ±îÁö MSG1¹øÁöºÎÅÍ ½ÃÀÛÇÏ´Â ½ºÆ®¸µ
        LOOP    NEXT      ;À» MSG2 ¹øÁöÀ§Ä¡ºÎÅÍ ¿Å°Ü ³õ´Â´Ù.
        DEC     DX        ;DX ¿¡¼­ 1À» »©¶ó
        JNZ     NEXT2     ;0 ÀÌ ¾Æ´Ï¸é NEXT2·Î °¡¶ó.
        MOV     BYTE PTR ES:[DI],'$'   ;¸Þ¸ð¸®¿¡ $(¹®ÀÚ¿­ ³¡Ç¥½Ã)¸¦ ³Ö´Â´Ù.
        MOV     AX,ES
        MOV     DS,AX     ;Æã¼ÇÈ£Ãâ 9¹øÀÇ ¾Õ¿¡´Â DSÀÇ ¼³Á¤ÀÌ ÇÊ¿ä
        MOV     DX,OFFSET MSG2
        MOV     AH,9H     ;DX¿¡ ÁöÁ¤µÈ ¹øÁöºÎÅÍ ÀúÀåµÈ ½ºÆ®¸µÀ» $ ÀÚ°¡ ³ªÅ¸
        INT     21H       ;³¯¶§±îÁö Ãâ·ÂÇÏ´Â ½Ã½ºÅÛ Æã¼Ç È£Ãâ.
        MOV     AH,4CH
        INT     21H
;
CODE    ENDS
;
DATA    SEGMENT
MSG1    DB      'REPEAT SAME MESSAGE 5 TIMES!'
DMSG    DB      ?
DATA    ENDS
;
EXTRA   DB      100H DUP (?)
EXTRA   ENDS
        END     START



8.3 ¸®ÇÇÆ® ÇÁ¸®ÇȽº(1)
--------------------------------------------------------------------------------
¸®ÇÇÆ® ÇÁ¸®ÇȽº ¸í·ÉÀº ½ºÆ®¸µ ¸í·É°ú Á¶ÇÕÇÏ¿© »ç¿ëÇÏ°í ,½ºÆ®¸µ ¸í·ÉÀ» ÀÏÁ¤  È½¼ö
¿¬¼ÓÇÏ¿© »ç¿ë ÇÏ´Â°Í ÀÔ´Ï´Ù.
REP     MOVSB
-+-
+----->ÀÌ°ÍÀÌ ¸®ÇÇÆ® ÇÁ¸®ÇȽºÀÌ´Ù.
        CX ¿¡ ÁöÁ¤µÈ Ƚ¼ö¸¸Å­ MOVSB¸¦ µÇÇ®ÀÌ Ç϶ó´Â ÀÇ»ç¸í·É
        ¸®ÇÇÆ® ÇÁ¸®ÇȽº´Â ½ºÆ®¸µ ¸í·É ¾Õ¿¡ ³õ°í,½ºÆ®¸µ ¸í·ÉÀÇ ±â´É È®ÀåÀ» ÁöÁ¤

¿©±â¼­ STOSB -->B´Â ¹ÙÀÌÆ®¸¦ ³ªÅ¸³¿
       STOSW -->W´Â ¿öµå¸¦ ³ªÅ¸³¿
µû¶ó¼­ AX ¿¡   AB °¡ µé¾î À־    STOSB´Â  B ¸¸À» ³ªÅ¸³½´Ù.
AX ·¹Áö½ºÅÍ¿¡ 'AB'¸¦ ´ëÀÔÇÏ°í ÀÖÀ¸¹Ç·Î, AL ·¹Áö½ºÅÍÀÇ ³»¿ëÀº 'B'=42H°¡ µË´Ï´Ù.
¿öµå´ÜÀ§ÀÇ ½ºÆ®¸µ ¸í·ÉÀ» »ç¿ëÇÑ °æ¿ì¿¡´Â 20H °³ÀÇ ¹ÙÀÌÆ® ÀÇ µ¥ÀÌÅÍ°¡ Àü¼ÛµË´Ï´Ù.
ÀÌ°ÍÀ» ½ÇÇàÇϸé
A>MOVS5
BABABABABABABABABABA
AX·¹Áö½ºÅÍÀÇ °ª 'AB' °¡ ¸Þ¸ð¸® »ó¿¡ Àü¼Ûµ¹ °æ¿ì¿¡´Â ¿ª¿öµå(reverse word)Çü½ÄÀ¸·Î
µÇ±â ¶§¹®¿¡ ,'BA' ¼ø¼­·Î µÇ¾î¹ö¸° Á¡¿¡ ÁÖÀÇ ÇϽʽÿä.

REP ¸í·ÉÀº Á¶ÇÕÇÏ´Â ½ºÆ®¸µ ¸í·ÉÀÌ ¹ÙÀÌÆ® ÇüÀΰ¡ ¿öµå ÇüÀΰ¡¿¡ µû¶ó¼­ Àü¼ÛµÇ´Â ¹Ù
ÀÌÆ® ¼ö´Â ´Þ¶óÁý´Ï´Ù.
¿¹¸¦µé¸é 20H ¹ÙÀÌÆ®ÀÇ µ¥ÀÌÅ͸¦ Àü¼ÛÇÒ¶§¿¡ MOVSB¸í·ÉÀ» »ç¿ë¤©ÇÑ´Ù°í Çϸé CX ·¹Áö
½ºÅÍÀÇ ÃʱâÄ¡¸¦ 20H·Î ,MOVSW¸í·ÉÀ» »ç¿ëÇÑ´Ù°í Çϸé CX ·¹Áö½ºÅÍÀÇ ÃʱâÄ¡¸¦ 10H
·ÎÇÏÁö ¾ÊÀ¸¸é ¾ÈµÉ°ÍÀÔ´Ï´Ù.
Àü¼ÛÇÏ´Â µ¥ÀÌÅÍÀÇ ¼ö°¡ Ȧ¼ö ¹ÙÀÌÆ® À϶§¿¡´Â ¿öµåÇüÀÇ ½ºÆ®¸µ¸í·ÉÀ» »ç¿ëÇÏ¸é ¸¶Áö
¸· µ¥ÀÌÅÍ°¡ Àü¼ÛµÇ´Ï ¾Ê´Â´ÙµçÁö ,¿©ºÐÀÇ µ¥ÀÌÅÍ ±îÁö Àü¼Û µÈ´ÙµçÁö ÇÏ´Â ÀÏÀÌ ÀÖÀ¸
¹Ç·Î ÁÖÀÇ°¡ ÇÊ¿äÇÕ´Ï´Ù.   ¹Ì¸® µ¥ÀÌÅͼö¸¦ ¾Ë°úÀÖ´Â °æ¿ì´Â ±¦ÂùÁö¸¸ °æ¿ì¿¡µû¶ó Àü
¼ÛÇÏ´Â µ¥ÀÌÅͼö°¡ º¯È­ ÇÒ¶§¿¡´Â ¹ÙÀÌÆ® ÇüÀÇ ½ºÆ®¸µ ¸í·ÉÀ» »ç¿ëÇÏ´Â ÂÊÀÌ ¾ÈÀü  ÇÕ
´Ï´Ù.

8.4 ºñ±³¸í·É±ºÀÇ »ç¿ë¹ý
--------------------------------------------------------------------------------
¸Þ¸ð¸®¿Í ·¹Áö½ºÅÍÀÇ °ªÀ» ºñ±³Çϴ  SCAS¸í·É,
¸Þ¸ð¸®³¢¸®ÀÇ °ªÀ» ºñ±³Çϴ         CMPS¸í·É

SCAS¸í·É
AL ·¹Áö½ºÅÍÀÇ °ª°ú ES:[DI]¿¡ ÀÇÇØ Ç¥½ÃµÇ´Â ¸Þ¸ð¸®ÀÇ ³»¿ëÀ» ºñ±³

¸î¹ø ¹Ýº¹Çߴ°¡¸¦ ¾Ë±âÀ§Çؼ­ ,
¿ø·¡ÀÇ CX°ªÀ» º¸Á¸Çصξî,·çÇÁ¿¡¼­ ºüÁ®³ª¿Â ÈÄÀÇ CX °ªÀ» »©¸é µÈ´Ù.
¹®ÀÚ¿­±æÀÌÀÇ °è»ê : STR2 - STR1
                    OFFSET STR2 - OFFSET STR1
°ú ¿ÏÀüÈ÷ °°Àº ¿ªÈ°À» ÇÕ´Ï´Ù. À̰͵µ ÇϳªÀÇ Á¤¼®À¸·Î¼­ ¿Ü¿öµÎ½Ê½Ã¿ä


CODE    SEGMENT
        ASSUME  CS:CODE,DS:CODE,ES:CODE
;
INCLUDE PUTAL2.SUB
START:  MOV     AX,CODE  ;
        MOV     DS,AX
        MOV     ES,AX    ;DS¿Í ES ÀÇ ¼³Á¤
        CLD              ;DI ÀÇ Áõ°¡ ¼³Á¤
        MOV     AL,'&'   ;¹®ÀÚ¿­ Áß¿¡¼­ ã´Â¹®ÀÚ
        MOV     DI,OFFSET STR1
        MOV     CX,STR2-STR1    ; ¹®ÀÚ¿­ÀÇ ±æÀ̸¦ °è»êÇÏ·Á¸é
        PUSH    CX              ;OFFSET À» »ý·«Çصµ ÁÁ´Ù.
NEXT:   SCASB------------+ÀÏÄ¡ÇÏ´Â ¹®ÀÚ°¡ Àִ°¡ ã´Â´Ù.
        JE      FOUND    |(ALÀÇ°ª°ú ES:[DI]·Î ÁöÁ¤µÈ ¸Þ¸ð¸® ³»¿ë°ú ³»¿ëÀ» ºñ±³ÇÑ
        LOOP    NEXT   --+ ´Ù,±×¸®°í ÀÚµ¿ÀûÀ¸·Î DI´Â Áõ°¡ CX ´Â °¨¼ÒÇÑ´Ù.)
        JMP     NOTFOUND
FOUND:  DEC     DI
        MOV     DX,OFFSET FOUNDMSG1
        MOV     AH,9
        INT     21H
        MOV     AX,DI  --+- ¹ß°ßÇÑ ¹øÁö¸¦ Ç¥½Ã
        MOV     AL,AH    |
        CALL    PUTAL    |
        MOV     AX,DI    |
        CALL    PUTAL  --+
        MOV     DX,OFFSET FOUNDMSG2
        MOV     AH,9
        INT     21H
        POP     AX     --+¹®ÀÚ¿­ÀÇ ±æÀÌ-»¬¼À Ä«¿îÅÍ¿¡ ÀÇÇØ ¸î¹ø° ¹®ÀÚ¿¡¼­
        SUB     AX,CX    | ¹ß°ßµÇ¾ú´ÂÁö¸¦ °è»êÇÏ¿© Ç¥½Ã
        CALL    PUTAL  --+
        JMP     EXITP
NOTFOUND:
        MOV     DX,OFFSET NOTFOUNDMSG
        MOV     AH,9
        INT     21H
EXITP:  MOV     AH,4CH
        INT     21H
;
FOUNDMSG1       DB      'FOUND ADDRESS = $'
FOUNDMSG2       DB      'H COUND = $'
NOTFOUNDMSG     DB      'NOT FOUND $'
STR1    DB      'ABCDEFG&ABC'
STR2    DB      ?
CODE    ENDS
        END     STRAT


CMPS ¸í·É :
2°³ÀÇ µ¥ÀÌÅÍ¿­ÀÌ °°Àº°¡ ´Ù¸¥°¡¸¦ ºñ±³Çϴµ¥ »ç¿ëÇÕ´Ï´Ù.
DS:[SI]°¡ ÁöÁ¤ÇÏ´Â ¸Þ¸ð¸® ÇÑ ¹ÙÀÌÆ® ³»¿ë°ú
ES:[DI]°¡ ÁöÁ¤ÇÏ´Â ¸Þ¸ð¸® ÇÑ ¹ÙÀÌÆ® ³»¿ëÀ» ºñ±³ÇÏ´Â ¸í·ÉÀÌ´Ù.
CMPSB¸í·ÉÀ» Çϸé SI,DIÀÇ°ªÀÌ ÀÚµ¿ÀûÀ¸·Î Çϳª¸¸Å­ Áõ°¡ ÇѴٴ  Á¡ÀÔ´Ï´Ù.

¿¹Á¦)CMPS2.ASM
¸Þ¸ð¸® ¹øÁö CMP-STRING ºÎÅÍ ÀúÀåµÇ¾î ÀÖ´Â "ABC" ¹®ÀÚ¿Í Å°º¸µå·Î ºÎÅÍ ÀÔ·ÂÇÏ¿©
¸Þ¸ð¸® ¹øÁö BUFFºÎÅÍ ÀúÀåµÈ ¹®ÀÚ ½ºÆ®¸µ  ¼Ó¿¡ °°Àº "ABC" °¡ ¸î ¹ø° ±ÛÀÚºÎÅÍ ÀÖ
´Â°¡ ¾Ë¾Æ ³½´Ù.

CODE    SEGMENT
        ASSUME  CS:CODE,DS:CODE,ES:CODE
;
INCLUDE CRLF.SUB
INCLUDE PUTAL2.SUB
START:  MOV     AX,CS
        MOV     DS,AX
        MOV     ES,AX
        CLD
        MOV     DX,OFFSET OPENING_MSG
        CALL    DISP
        CALL    CRLF
        MOV     DX,OFFSET MAX_CHARS  -+¸®ÅÍÅ°°¡ ´­¸±¶§±îÁö Å°º¸µå·ÎºÎÅÍ ÀԷµÈ
        MOV     AH,0AH                |½ºÆ®¸µÀ» ¿¬¼ÓÀûÀ¸·Î BUFF¼Ó¿¡ ÀúÀåÇÏ°í ÃÑ
        INT     21H                  -+ÀÔ·ÂµÈ ¹®ÀÚ°¹¼ö¸¦ CHARS-ENTERED¿¡ ÁöÁ¤ÇÏ
        CALL    CRLF                   ´Â ½Ã½ºÅÛ Æã¼Ç A ¹øÀÌ´Ù.
        MOV     CH,0
        MOV     CL,CHARS_ENTERED
        MOV     BP,OFFSET BUFF
        DEC     BP
        INC     CX
NEXT:   DEC     CX
        CMP     CX,3
        JB      NOTFOUND
        INC     BP
        MOV     DI,BP
        MOV     SI,OFFSET CMP_STRINGS
        CMPSB       <---+DS:[SI]·Î ÁöÁ¤µÇ´Â ¸Þ¸ð¸®³»¿ë°ú  ES:[DI] ·Î ÁöÁ¤µÇ´Â
        JNE     NEXT    |¸Þ¸ð¸® ³»¿ëÀ» ºñ±³ÇÑ´Ù.ºñ±³ÇÑÈÄ,ÀÚµ¿ÀûÀ¸·Î DI,SI°ª
        CMPSB       <---+À» Áõ°¡½ÃÄÑ ´ÙÀ½°ÍÀ» ºñ±³ÇÑ´Ù.
        JNE     NEXT    |
        CMPSB       <---+
        JNE     NEXT
        MOV     DX,OFFSET FOUND_MSG1
        CALL    DISP                 -+¸î¹ø° ¹®ÀÚ¿¡¼­ ¹ß°ßµÇ¾ú´ÂÁö¸¦°è»êÇ¥½Ã
        MOV     AL,CHARS_ENTERED      |
        SUB     AL,CL                -+
        CALL    PUTAL
        JMP     EXITP
NOTFOUND:
        MOV     DX,OFFSET NOTFOUND_MSG
        CALL    DISP
EXITP:  MOV     AH,4CH
        INT     21H
DISP    PROC
        MOV     AH,09H
        INT     21H
        RET
DISP    ENDP
OPENING_MSG     DB      'INPUP STRINGS INCLUDE'
<ABC> $'
FOUND_MSG1      DB      'FOUND CHARACTERS AT $'
NOTFOUND_MSG    DB      'NOT FOUND $'

MAX_CHARS       DB      80
CHARS_ENTERED   DB      ?
BUFF            DB      80H DUP (0)
   +-->ÃÖ´ë ÀԷ°¡´É ¹®ÀÚ °¹¼ö(CRÆ÷ÇÔ):1¹ÙÀÌÆ®
+--+---------+---------+----------------------+
|            |         |   ¹öÆÛ             --+-->ÀÔ·ÂµÈ ½ÇÁö ¹®ÀÚ°¡ µé¾î°¡´Â°÷
+------------+--+------+----------------------+
                +---->½ÇÁ¦·Î ÀÔ·ÂµÈ ¹®ÀÚ°¹¼ö(CRÆ÷ÇÔÇÏÁö ¾ÊÀ½) : 1¹ÙÀÌÆ®
CMP_STRINGS     DB      'ABC'------>ºñ±³´ë»óÀ̵Ǵ ¹®ÀÚ¿­
CODE    ENDS
        END     START

À§¹®Á¦´Â »ó´çÈ÷ ³í¸®°¡ ¾î·Á¿î ¹®Á¦ÀÔ´Ï´Ù.±×·¯³ª ²ÙÁØÈ÷ ÃßÀûÇسª°¡¸é °ð  ÀÌÇØÇÒ¼ö
ÀÖÀ» °ÍÀÔ´Ï´Ù.±×·¯³ª ÀÌ ÇÁ·Î±×·¥À» ¿ÏÀüÈ÷ ÀÌÇØÇß´Ù¸é ¾î¼Àºí¸® ¾ð¾îÀÇ »ó´çÇÑ ¼öÁØ
À» ÆľÇÇÏ°Ô µÈ¼ÀÀÌ¸ç ¾ÕÀ¸·Î ¾î¶²  º¹ÀâÇÑ ¾î¼Àºí¸® ¾ð¾î ÇÁ·Î±×·¥µµ ÀÌÇØ  ÇÒ¼öÀÖ´Â
´É·ÂÀÌ »ý±ä °ÍÀÔ´Ï´Ù.







°øºÎÇÒ‹š ¾µ·Á´ø°Å ´Ù Æۿ°ſ¹¿ä ¤»¤»...

Àç°¡ º¸¸é¼­ ÇÔ Çغ¼·ÁÇÞ´õ´Ï ¾ÆÁ÷ Àú°¡ Á» ¾î·Á¼­ ¸ó¸»ÀÎÁöµµ ¸ô¸£°Ú´õ¶ó±¸¿ä ;;
±×·¡¼­ ´Ù¸¥ºÐµéÀÌ¸é µµ¿ò´î±î ÇÔ ¿Ã·Á”f¼­¿ä ;; ;

Àü Áß 1?............¾Æ³¶ ¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð¤Ð

À¯¿ëÇÏ°Ô ¾²¿´À¸¸é ÇÏ³×¿ä ¤¾¤¾¤¾¤¾¤¾¤¾¤¾¤¾

  Hit : 10601     Date : 2008/12/13 11:10



    
han9551 ’o¹Ì. ... ÀÌ°Å µµ¼­°ü ¸ñ·Ï¿¡ ÇÁ·Î±×·¡¹Ö¿¡¼­ ¾î¼Àºí¸®¾î¿¡ ÀÖ´Â 7°³ °­Á¶û °°Àº ³»¿ëÀÓ...

Áߺ¹.
2008/12/16  
jin1055 ¾îµð¼­¸¹À̺Ã..... 2009/01/08  
101   bof & fsb ¿¡ À¯¿ëÇÑ ÆÞ ½ºÅ©¸³Æ®[5]     awsedr45
03/11 11616
100   Ãʺ¸°¡ Àû¾îº» À©µµ¿ì ħÅõ[6]     awsedr45
12/06 12679
99   [1Àå]¹ÙÀÌ·¯½ºÀÇ Á¤ÀÇ & À§Ç輺[5]     ÀÛÀºÇØÄ¿
12/02 7223
98   FTP ¼³Á¤ ¿À·ù¸¦ ÀÌ¿ëÇÑ ¹ö±× °ø°Ý(¸ÔÈ÷´Â °÷µµ ÀÖÀ» °ÍÀÌ°í...¾Æ´Ò¼öµµ..)¤»[4]     ÀÛÀºÇØÄ¿
11/30 7569
97   [2Àå]¹ÙÀÌ·¯½ºÀÇ Á¾·ù¿Í Ư¡[5]     ÀÛÀºÇØÄ¿
12/10 8378
96   ÇØÄ¿°¡ µÇ±âÀ§ÇØ ¾Ë¾Æ¾ßÇÒ 30°¡Áö Ãâó :ÇØÄ¿´ëÇÐ[5]     asdzxc301
12/12 12713
95   À©µµ¿ì µµ½º ¸í·É¾î(?)[1]     asdzxc301
12/13 9504
94   ºô°ÔÀÌÃ÷¿¡ ´ëÇؼ­[2]     asdzxc301
12/13 9340
93   ¾î¼Àºí¸®¾î ÃÑÁ¤¸® °­Á     asdzxc301
12/13 19917
92   ¾î¼Àºí¸®¾î °­Á 1Æí[1]     asdzxc301
12/13 13344
91   ¾î¼Àºí¸®¾î °­Á 2Æí     asdzxc301
12/13 8509
90   ¾î¼Àºí¸®¾î °­Á 3Æí     asdzxc301
12/13 9590
89   ¾î¼Àºí¸®¾î °­Á 4Æí     asdzxc301
12/13 11164
88   ¾î¼Àºí¸®¾î °­Á 5Æí     asdzxc301
12/13 20846
87   ¾î¼Àºí¸®¾î °­Á 6Æí     asdzxc301
12/13 8582
  ¾î¼Àºí¸®¾î °­Á 7Æí ¸¶Áö¸·¿ä ¤¾¤¾[2]     asdzxc301
12/13 10600
85   ÃÊÂ¥¸¦ À§ÇÑ ÆÄÀ̽ã[2]     asdzxc301
12/18 16469
84   ÆÞ°ú ÆÄÀ̽ã ÇÁ·Î±×·¡¹Ö ¼­Àû     asdzxc301
12/18 9114
83   ÆÞ1[1]     asdzxc301
12/18 11167
82   Æ÷¸Ë ½ºÆ®¸µ ¹ö±× ºÐ¼®     asdzxc301
12/24 11320
[1]..[71][72][73][74] 75 [76][77][78][79][80]

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org