loop (Çȼ¿ ¼ÎÀÌ´õ)
loop...
endloop ºí·ÏÀ» ½ÃÀÛ ÇÑ´Ù.
±¸¹®
¿©±â¼
- aL ´Â, ÇöÀçÀÇ ·çÇÁ Ä«¿îÆ®¸¦ ÀúÀå Çϴ·çÇÁ Ä«¿îÅÍ ·¹Áö½ºÅÍÀÌ´Ù. Ä÷¯ ·¹Áö½ºÅÍ (v#)ÀÇ À妽º¿¡´Â, ¾îµå·¹½º ·¹Áö½ºÅ͸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.
- integerRegister ´Â ÀÔ·Â ·¹Áö½ºÅÍÀÌ´Ù. integerRegister.x ¿¡´Â ¹Ýº¹ÇØ ¼ö¸¦ ÁöÁ¤ÇÑ´Ù. integerRegister.y ¿¡´Â ÇöÀçÀÇ ·çÇÁ Ä«¿îÅÍ ·¹Áö½ºÅÍÀÇ ÃʱⰪÀ» ÁöÁ¤ÇÑ´Ù. integerRegister.z ¿¡´Â ÇöÀçÀÇ ·çÇÁ Ä«¿îÅÍ ·¹Áö½ºÅÍÀÇ ÁõºÐÀ» ÁöÁ¤ÇÑ´Ù.
ÁÖÀÇ
| Çȼ¿ ¼ÎÀÌ´õÀÇ ¹öÀü | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
|---|
| loop | | | | | | | | x | x |
|---|
ÀÌ ¸í·ÉÀ¸·Î »ç¿ëÇÒ ¼ö ÀÖ´Â ¸í·ÉÀº, Á¤¼öÇü ·¹Áö½ºÅÍ»ÓÀÌ´Ù. loop ¸í·ÉÀº ¹Ýº¹À» À§ÇÑ ¸í·ÉÀ¸·Î, ·çÇÁ Ä«¿îÅÍ ·¹Áö½ºÅÍÀÇ ÀÚµ¿ ÀÎÅ©¸®¸ÕÆ®(increment)¸¦ Áö¿ø ÇÑ´Ù. À̰ÍÀ» ÀÌ¿ëÇØ, Á¤¼ö ¹è¿ÀÇ ¿ä¼Ò¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù. ³×½ºÆ® µÇ°í ÀÖ´Â °æ¿ì, ·çÇÁ Ä«¿îÅÍ ·¹Áö½ºÅ͸¦ »ç¿ëÇÒ ¶§´Â Ç×»ó, ÇöÀçÀÇ ·çÇÁ¸¦ ÂüÁ¶ÇÑ´Ù.
ÀÌ ¸í·ÉÀÇ ±â´ÉÀ» ´ÙÀ½¿¡ ³ªÅ¸³½´Ù.
StartLoopOffset = next instruction offset
LoopCounter = IntegerReg.x
IterationCount = IntegerReg.y
LoopStep = InteferReg.z
if (IterationCounter <= 0)
Continue execution after the next EndLoop instruction
- endloop ¸í·ÉÀº,loop ºí·Ï ¸¶Áö¸· ¸í·ÉÀÇ µÚ¿¡ µÎÁö ¾ÊÀ¸¸é ¾È µÈ´Ù.
- endloop ¸í·ÉÀÇ ¿ÀÇÁ¼Â(offset)´Â, ´ëÀÀÇÏ´Â loop ¸í·ÉÀÇ ¿ÀÇÁ¼Â(offset)º¸´Ù Å©Áö ¾ÊÀ¸¸é ¾È µÈ´Ù.
- ps_2_sw ¿Í ps_2_x ¿¡¼´Â, ·çÇÁ¸¦ ³×½ºÆ® ÇÒ ¼ö ¾ø´Ù.
- ps_3_0 ¿Í ps_3_sw ¿¡¼´Â, 0 ~ 4 ·¹º§ÀÇ ¹üÀ§¿¡¼ ·çÇÁ¸¦ ³×½ºÆ® ÇÒ ¼ö ÀÖ´Ù.
- ·çÇÁ´Â, ¿ÏÀüÇÏ°Ô if ºí·Ï³»¿¡ ÀÖ´ÂÁö, ¿ÏÀüÇÏ°Ô if ºí·ÏÀ» µÑ·¯½Î°í ÀÖ´Â °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖ¾î if ºí·ÏÀ» ¶Ç ÀÖ°í·Î »ç¿ëÇÒ ¼ö ¾ø´Ù.
- ·çÇÁÀÇ ÃÖ´ë ÃʱⰪ (±âÀú ¿ÀÇÁ¼Â(offset))Àº 255 ÀÌ´Ù.
- loop ÀÇ ÃÖ´ë ¹Ýº¹¼ö´Â 255 ÀÌ´Ù.
- ºÎÈ£ ÷ºÎ º¸ÆøÀ¸·Î¼ÀÇ ÃÖ´ë ½ºÅÜ/º¸Æø »çÀÌÁî´Â 127 ÀÌ´Ù. ¿¹¸¦ µé¾î,-128 °¡ Áö¿ø µÇ°í ÀÖ´Ù.
- ·çÇÁÀÇ ÃʱⰪ ¹× ·çÇÁÀÇ ¹Ýº¹¼ö´Â ºÎ¿©¼´Â ¾È µÈ´Ù.