Go to the first, previous, next, last section, table of contents.


¾î¼Àºí·¯ Áö½ÃÀÚµé

¸ðµç ¾î¼Àºí·¯ Áö½ÃÀÚµéÀº `.'·Î ½ÃÀ۵ȴÙ. ³ª¸ÓÁö ±ÛÀÚµéÀº º¸Åë ¼Ò¹®ÀÚÀÌ´Ù.

ÀÌ Àå¿¡¼­´Â GNU ¾î¼Àºí·¯°¡ ƯÁ¤ÇÑ ±â°è¿¡ ¸Â°Ô ±¸¼ºµÇ¾ú´ÂÁö¿¡´Â »ó°ü¾øÀÌ »ç¿ë °¡´ÉÇÑ Áö½ÃÀÚµéÀ» »ìÆ캼 °ÍÀÌ´Ù. ¾î¶² ±â°è¿¡¼­ÀÇ ±¸¼ºÀº Ãß°¡ÀûÀÎ Áö½ÃÀÚµéÀ» Á¦°ø Çϱ⵵ ÇÑ´Ù. See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °ÍµéÀ» ÂüÁ¶Ç϶ó.

.abort

ÀÌ Áö½ÃÀÚ´Â ¾î¼Àºí¸® ÀÛ¾÷À» Áï°¢ ÁߴܽÃŲ´Ù. ÀÌ°ÍÀº ´Ù¸¥ ¾î¼Àºí·¯µé°ú ȣȯ µÈ´Ù. ¿ø·¡ÀÇ »ý°¢Àº ¾î¼Àºí¸® ¼Ò½º°¡ ¾î¼Àºí·¯¿¡°Ô ¸í·ÉÀ» ³»¸®°íÀÚ ÇÏ´Â µ¥ ÀÖ ¾ú´Ù. ¸¸ÀÏ ¼Ò½º Á¦°øÀÚ°¡ Á¾°áÇÑ´Ù¸é ±×°ÍÀº as¿¡°Ô ÀÌ Áö½ÃÀÚ¸¦ »ç¿ëÇÏ¿© Á¾·á ÇÒ ¼öµµ ÀÖ´Ù. ¾ðÁ¨°¡´Â .abort´Â Á¦°øµÇÁö ¾ÊÀ» °ÍÀÌ´Ù.

.ABORT

COFF Ãâ·ÂÀ» »ý¼ºÇÒ ¶§, as´Â `.abort'¿Í °°ÀÌ Ãë±ÞÇÑ´Ù. `b.out'À» Ãâ·ÂÇÒ ¶§´Â, ÀÌ Áö½ÃÀÚ¸¦ ¹Þ¾ÆµéÀÌÁö¸¸, ¹«½ÃÇØ ¹ö¸°´Ù.

When producing b.out output, as accepts this directive, but ignores it.

.align abs-expr , abs-expr

ÇöÀçÀÇ º¸Á¶¼½¼Ç¿¡¼­ÀÇ À§Ä¡ Ä«¿îÅ͸¦ ¾î¶² °æ°è¼±¿¡ Á¤·Ä½ÃŲ´Ù. ù ¹ø° Ç¥Çö(Àý´ëÀûÀ̾î¾ß ÇÏ´Â)Àº À§Ä¡ Ä«¿îÅÍ°¡ ÁøôµÈ ÈÄ¿¡ °¡Áú ÀÛÀº ¼øÀ¸·Î Á¤·ÄµÈ ¼ýÀÚÀÌ´Ù. ¿¹¸¦ µé¸é '.align 3'Àº À§Ä¡Ä«¿îÅ͸¦ 8ÀÇ ¹è¼ö°¡ µÉ ¶§±îÁö Áøô½Ãų °ÍÀÌ´Ù. ¸¸ÀÏ À§Ä¡ Ä«¿îÅÍ°¡ 8ÀÇ ¹è¼öÀÌ¸é ¾Æ¹«·± º¯È­µµ ÇÊ¿äÄ¡ ¾Ê´Ù. µÎ ¹ø° Ç¥Çö(¿ª½Ã Àý´ëÀû)Àº º¸ÅÂÁö´Â ¹ÙÀÌÆ®¿¡¼­ ÀúÀåµÉ °ªÀ» ÀǹÌÇÑ´Ù. ±×°ÍÀº (ÄÞ¸¶¿Í ÇÔ²²) ¾øÀ» ¼öµµ ÀÖ´Ù. ¸¸ÀÏ ±×°ÍÀÌ ¾ø´Ù¸é, º¸ÅÂÁö´Â ¹ÙÀÌÆ®´Â 0ÀÌ µÉ °ÍÀÌ´Ù. For the alpha, if the section is marked as containing code and the padding expression is omitted, then the space is filled with no-ops.

The way the required alignment is specified varies from system to system. For the a29k, hppa, m68k, m88k, w65, sparc, and Hitachi SH, and i386 using ELF format, the first expression is the alignment request in bytes. For example `.align 8' advances the location counter until it is a multiple of 8. If the location counter is already a multiple of 8, no change is needed.

For other systems, including the i386 using a.out format, it is the number of low-order zero bits the location counter must have after advancement. For example `.align 3' advances the location counter until it a multiple of 8. If the location counter is already a multiple of 8, no change is needed.

This inconsistency is due to the different behaviors of the various native assemblers for these systems which GAS must emulate. GAS also provides .balign and .p2align directives, described later, which have a consistent behavior across all architectures (but are specific to GAS).

.app-file string

.app-file ('.file'°ú °°ÀÌ ÇÒ ¼öµµ ÀÖ´Ù) Àº as¿¡°Ô »õ·Î¿î ÆÄÀÏÀ» ½ÃÀÛÇÏ°í ÀÖÀ½À» ¾Ë¸°´Ù. ÀϹÝÀûÀ¸·Î, ÀÌ ÆÄÀÏÀ̸§Àº `"'¿¡ µÑ·¯½Î¿©Áø´Ù. ¸¸ÀÏ ÆÄÀÏÀ̸§ À» ¸í½ÃÇÏÁö ¾Ê´Â´Ù¸é, ""·Î »ç¿ëÇÒ ¼öµµ ÀÖ´Ù. ÀÌ ±¸¹®Àº ¾ÕÀ¸·Î´Â »ç¶óÁú °Í ÀÌ´Ù. ¿À·¡µÈ as ÇÁ·Î±×·¥µé°úÀÇ È£È¯¼º Ãø¸é¿¡¼­¸¸ Á¦°øµÈ´Ù.

.ascii "string"...

.ascii ´Â ÄÞ¸¶¿¡ ÀÇÇØ ±¸ºÐµÈ 0º¸´Ù ¸¹Àº ±ÛÀÚµéÀ» ±â´ëÇÑ´Ù(see section ¹®ÀÚ¿­). ÀÌ°ÍÀº °¢°¢ÀÇ ¹®ÀÚ¿­À» ¿¬¼ÓµÈ ÁÖ¼Ò·Î ¾î¼ÀºíÇÑ´Ù. °¢°¢ÀÇ ¹®ÀÚ¿­ÀÇ ³¡ ¿¡´Â 0ÀÇ °ªÀ» °¡Áö´Â ÇϳªÀÇ ¹ÙÀÌÆ®°¡ µû¶ó¿ÀÁö ¾Ê´Â´Ù.

.asciz "string"...

.asciz Àº .ascii¿Í °°À¸³ª °¢°¢ÀÇ ¹®ÀÚ¿­¿¡´Â 0ÀÇ °ªÀ» °¡Áö´Â ÇѹÙÀÌÆ®°¡ µû ¶ó¿Â´Ù. .ascizÀÇ "z"Àº "zero"¸¦ ÀǹÌÇÑ´Ù.

.balign[wl] abs-expr , abs-expr

Pad the location counter (in the current subsection) to a particular storage boundary. The first expression (which must be absolute) is the alignment request in bytes. For example `.balign 8' advances the location counter until it is a multiple of 8. If the location counter is already a multiple of 8, no change is needed.

The second expression (also absolute) gives the value to be stored in the padding bytes. It (and the comma) may be omitted. If it is omitted, the padding bytes are zero.

The .balignw and .balignl directives are variants of the .balign directive. The .balignw directive treats the fill pattern as a two byte word value. The .balignl directives treats the fill pattern as a four byte longword value. For example, .balignw 4,0x368d will align to a multiple of 4. If it skips two bytes, they will be filled in with the value 0x368d (the exact placement of the bytes depends upon the endianness of the processor). If it skips 1 or 3 bytes, the fill value is undefined.

.byte expressions

.byte ´Â ÄÞ¸¶¿¡ ÀÇÇØ ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ Ç¥ÇöÀ» ±â´ëÇÑ´Ù. °¢°¢ÀÇ Ç¥ÇöÀº ´ÙÀ½ÀÇ ¹ÙÀÌÆ®·Î ¾î¼ÀºíµÈ´Ù.

.comm symbol , length

.commÀº bss ¼½¼ÇÀÇ °øÅëµÇ´Â ¿µ¿ªÀ» ¼±¾ðÇÑ´Ù. º¸ÅëÀº ld´Â ¸µÅ© ÀÛ¾÷À» ÇÒ µ¿¾È .commÀ» À§ÇØ ¸Þ¸ð¸® ÁÖ¼Ò¸¦ ¿¹¾àÇÏ´Â µ¥, ºÎºÐÀûÀÌ ¾Æ´Ñ ÇÁ·Î±×·¥Àº ½Éº¼ ÀÇ À§Ä¡¸¦ Á¤ÀÇÇÑ´Ù. .commÀ» »ç¿ëÇϸé ld ¿¡°Ô Àû¾îµµ length ¸¸Å­ÀÇ ¹ÙÀÌÆ®°¡ ÇÊ¿äÇÔÀ» ¾Ë¸± ¼ö ÀÖ´Ù. ld ´Â °¢°¢ÀÇ .comm ½Éº¼À» À§Çؼ­ Àû¾îµµ ¸µÅ©µÈ ºÎºÐÀû ÀÎ ÇÁ·Î±×·¥µéÀÇ ¾îµð¿¡¼­³ª .comm ÀÌ ¿ä±¸ÇÑ Å©±â ¸¸Å­À» ÇÒ´çÇÒ °ÍÀÌ´Ù. length ´Â Àý´ëÀûÀΠǥÇöÀÌ´Ù.

The syntax for .comm differs slightly on the HPPA. The syntax is `symbol .comm, length'; symbol is optional.

.data subsection

.data ´Â as ¿¡°Ô µû¶ó¿À´Â ±¸¹®À» subsection (Àý´ëÀû Ç¥Çö)À¸·Î ¹øÈ£°¡ ºÙ¿©Áø data subsectionÀÇ ³¡ºÎºÐ¿¡ ¾î¼Àºí Çϵµ·Ï ÇÑ´Ù. ¸¸ÀÏ subsection ÀÌ ¾ø´Ù¸é, ±× °ÍÀº ±âº»ÀûÀ¸·Î 0ÀÌ µÉ °ÍÀÌ´Ù.

.def name

½Éº¼ name À» À§Çؼ­ µð¹ö±ë Á¤º¸¸¦ Á¤ÀÇÇÑ´Ù. ±× Á¤ÀÇ´Â .endef Áö½ÃÀÚ°¡ ³ª¿Ã ¶§±îÁö È®ÀåµÈ´Ù. ÀÌ Áö½ÃÀÚ´Â as °¡ COFF Æ÷¸Ë Ãâ·ÂÀ¸·Î ¼³Á¤µÇ¾ú´Ù¸é ´ÜÁö °¨Áö¸¸ µÈ´Ù. b.out À» ¸¸µé¾î ³¾ ¶§´Â `.def'´Â ÀνÄÀº µÇ³ª ¹«½ÃµÈ´Ù.

.desc symbol, abs-expression

ÀÌ Áö½ÃÀÚ´Â ½Éº¼ÀÇ ±â¼úÀÚ¸¦ absolute expression ÀÇ ÇÏÀ§ 16ºñÆ®·Î ¼³Á¤ÇÑ´Ù. (see section ½Éº¼ÀÇ ¼Ó¼º)

ÀÌ `.desc' Áö½ÃÀÚ´Â as °¡ COFF Ãâ·ÂÀ¸·Î ¼³Á¤µÇ¾ú´Ù¸é À¯È¿ÇÏÁö ¾Ê´Ù. ÀÌ°ÍÀº ´ÜÁö a.out À̳ª b.out ¸ñÀû Æ÷¸ËÀÏ ¶§¿¡¸¸ À¯È¿ÇÏ´Ù. ȣȯ¼ºÀ» À§Çؼ­, as´Â ±× °ÍÀ» Çã¿ëÇϳª COFF ¼³Á¤ÀÏ ¶§¿¡´Â ¾Æ¹«·± Ãâ·Âµµ »ý¼ºÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù.

.dim

ÀÌ Áö½ÃÀÚ´Â ½Éº¼Å×ÀÌºí¿¡ Ãß°¡ÀûÀÎ µð¹ö±ë Á¤º¸¸¦ Æ÷ÇÔÇϵµ·Ï ÄÄÆÄÀÏ·¯¿¡°Ô Áö½ÃÇÑ´Ù. It is only permitted inside .def/.endef pairs.

.dim Àº COFF Æ÷¸ËÀ» Ãâ·ÂÇÒ ¶§¿¡¸¸ Àǹ̰¡ ÀÖ´Ù. as °¡ b.out À» »ý¼ºÇÒ ¶§ ¿¡´Â ÀÌ Áö½ÃÀÚ¸¦ ¹Þ¾ÆµéÀ̱â´Â Çϳª ¹«½ÃÇØ ¹ö¸°´Ù.

.double flonums

.double Àº ÄÞ¸¶·Î ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ flonumsÀ» ±â´ëÇÑ´Ù. ±×°ÍÀº ºÎµ¿ ¼Ò¼ý Á¡ ¼ýÀÚ·Î ¾î¼ÀºíµÈ´Ù. Á¤È®ÇÑ ºÎµ¿¼Ò¼ýÁ¡ ¼ýÀÚÀÇ Á¾·ù´Â as °¡ ¾î¶»°Ô ¼³Á¤µÇ¾î ÀÖ´À³Ä¿¡ µû¸¥´Ù. See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.eject

¾î¼Àºí¸® ¸®½ºÆ®¸¦ Ãâ·ÂÇÒ ¶§ ÀÌ ½ËÁ¡¿¡¼­ ÆäÀÌÁö¸¦ ³Ñ±ä´Ù.

.else

.else ´Â as °¡ Á¦°øÇÏ´Â Á¶°ÇÀûÀÎ ¾î¼Àºí¸®ÀÇ ÇѺκÐÀÌ´Ù. see section .if absolute expression¸¦ ÂüÁ¶Ç϶ó. ±×°ÍÀº .if ¿¡ µû¸£´Â Á¶°ÇÀÌ °ÅÁþÀÏ °æ¿ì ¾î¼ÀºíµÉ ÄÚµåÀÇ ½ÃÀۺκÐÀ» Ç¥½ÃÇÑ´Ù.

.endef

ÀÌ Áö½ÃÀÚ´Â .def ·Î Á¤ÀÇµÈ ½Éº¼ÀÇ ³¡À» Ç¥½ÃÇÑ´Ù.

`.endif'´Â COFF Æ÷¸Ë Ãâ·Â½Ã¿¡¸¸ Àǹ̰¡ ÀÖ´Ù. as°¡ b.out À» »ý¼ºÇϵµ·Ï ¼³ Á¤µÇ¾ú´Ù¸é ÀÌ Áö½ÃÀÚ¸¦ ¹Þ¾ÆµéÀ̱â´Â Çϳª ¹«½ÃµÈ´Ù.

.endif

.endif ´Â as °¡ Á¦°øÇÏ´Â Á¶°ÇÀû ¾î¼Àºí¸®ÀÇ ÀϺκÐÀÌ´Ù. ÀÌ°ÍÀº Á¶°ÇÀûÀ¸·Î ¾î¼ÀºíµÈ ÄÚµåÀÇ ºí·ÏÀÇ ¸¶Áö¸·À» Ç¥½ÃÇÑ´Ù. See section .if absolute expression.

.equ symbol, expression

ÀÌ Áö½ÃÀÚ´Â symbolÀÇ °ªÀ» expressionÀ¸·Î ¼³Á¤ÇÑ´Ù. ÀÌ°ÍÀº `.set'°ú °°Àº ¶æ ÀÌ´Ù; see section .set symbol, expression.

The syntax for equ on the HPPA is `symbol .equ expression'.

.extern

.extern Àº ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ È£È¯¼ºÀ» À§Çؼ­ ¼Ò½º ÇÁ·Î±×·¥¿¡ ³ªÅ¸³ª´Â °ÍÀ» Çã¿ëÇÑ´Ù. ±×·¯³ª ÀÌ°ÍÀº ¹«½ÃµÈ´Ù. as´Â ¸ðµç Á¤ÀǵÇÁö ¾ÊÀº ½Éº¼À» external ·Î Ãë±ÞÇÑ´Ù.

.file string

.file (`.app-file'·Î ºÒ¸®¿öÁö±âµµ ÇÑ´Ù.) Àº »õ·Î¿î ³í¸®ÀûÀÎ ÆÄÀÏÀÇ ½ÃÀÛÀÓ À» as¿¡°Ô ¾Ë¸°´Ù. stringÀº »õ·Î¿î ÆÄÀÏÀÇ À̸§ÀÌ´Ù. ÀϹÝÀûÀ¸·Î, ÀÌ ÆÄÀÏÀ̸§Àº `"'·Î µÑ·¯½ÎÀδÙ. ±×·¯³ª ÆÄÀÏÀ̸§À» ¸í½ÃÇÏÁö ¾ÊÀ¸·Á¸é `""'¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ ´Ù. ÀÌ ±¸¹®Àº ¾ÕÀ¸·Î´Â »ç¶óÁú °ÍÀÌ´Ù. ÀÌ°ÍÀº ´ÜÁö ¿À·¡µÈ as ÇÁ·Î±×·¥°úÀÇ È£È¯ ¼ºÀ» À§ÇÑ °ÍÀÌ´Ù. ¾î¶² asÀÇ ±¸¼º¿¡¼­´Â .fileÀº ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ Ãæµ¹À» ÇÇ Çϱâ À§Çؼ­ Á¦°ÅµÇ¾ú´Ù. See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.fill repeat , size , value

result, size, value ´Â Àý´ëÀûÀΠǥÇöÀÌ´Ù. ÀÌ°ÍÀº size ¹ÙÀÌÆ®¸¸Å­ º¹»ç¸¦ ¹Ý º¹ÇÑ´Ù. Repeat Àº 0ÀÌ»óÀÌ µÉ °ÍÀÌ´Ù. Size´Â 0ÀÌ»óÀÌ µÉ ¼ö ÀÖÀ¸³ª ´Ù¸¥ ¾î¼À ºí·¯µé°úÀÇ È£È¯¼ºÀ» À§Çؼ­ 8ÀÌ»óÀÏ °ÍÀÌ´Ù. °¢°¢ÀÇ repeat ¹ÙÀÌÆ®µéÀÇ ±¸¼ºÀº 8 ¹ÙÀÌÆ® ¼ýÀڷκÎÅÍ ÃëÇØÁø´Ù. »óÀ§ 4¹ÙÀÌÆ®´Â 0ÀÌ´Ù. ÇÏÀ§ 4¹ÙÀÌÆ®´Â as°¡ ¾î¼Àºí ¸µÇÏ´Â ÄÄÇ»ÅÍ»óÀÇ Á¤¼öÀÇ ¹ÙÀÌÆ®¼ø¼­·Î µÇ´Â valueÀÌ´Ù. ÇÑ ¹øÀÇ ¹Ýº¹¿¡¼­ °¢°¢ ÀÇ size ¹ÙÀÌÆ®´Â ÀÌ ¼ýÀÚÀÇ ³·Àº ¼øÀ¸·Î Á¤·ÄµÈ size ¹ÙÀÌÆ®·Î ºÎÅÍ ÃëÇÑ´Ù. ´Ù½Ã ¸»ÇÏÁö¸¸ ÀÌ ±â±«ÇÑ ÇൿÀº ´Ù¸¥ »ç¶÷µéÀÇ ¾î¼Àºí·¯µé°ú ȣȯ¼ºÀ» °¡Áö°Ô Çϱâ À§ÇÑ °ÍÀÌ´Ù.

size ¿Í value ´Â ¼±ÅûçÇ×ÀÌ´Ù. ¸¸ÀÏ µÎ ¹ø° ÄÞ¸¶¿Í value°¡ ¾ø´Ù¸é, value´Â 0 À¸·Î °¡Á¤µÈ´Ù. ¸¸ÀÏ Ã¹ ¹ø° ÄÞ¸¶¿Í µû¶ó¿À´Â ÅäÅ«ÀÌ ¾ø´Ù¸é size ´Â 1·Î °¡Á¤µÈ´Ù.

.float flonums

ÀÌ Áö½ÃÀÚ´Â ÄÞ¸¶¿¡ ÀÇÇØ ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ flonums¸¦ ¾î¼ÀºíÇÑ´Ù. ÀÌ °ÍÀº .single°ú °°Àº ¶æÀÌ´Ù. Á¤È®ÇÑ ºÎµ¿¼Ò¼ýÁ¡ ¼ýÀÚÀÇ Á¾·ù´Â as°¡ ¾î¶»°Ô ¼³Á¤ µÇ¾ú´À³Ä¿¡ µû¸¥´Ù. See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.global symbol, .globl symbol

.global Àº ld ¿¡°Ô º¸ÀÌ´Â ½Éº¼À» ¸¸µç´Ù. ¸¸ÀÏ ¿©·¯ºÐÀÌ symbolÀ» ¿©·¯ºÐÀÇ ºÎºÐÀûÀÎ ÇÁ·Î±×·¥¿¡ ¸¸µç´Ù¸é, ±×°ÍÀÇ °ªÀº ±×°ÍÀÌ ¸µÅ©µÇ´Â ´Ù¸¥ ºÎºÐÀûÀÎ ÇÁ ·Î±×·¥µé¿¡°Ôµµ À¯È¿ÇÏ°Ô µÈ´Ù. ±×·¸Áö ¾Ê´Ù¸é, symbol Àº ±×°ÍÀÌ ¸µÅ©µÇ´Â ´Ù¸¥ ºÎºÐÀûÀÎ ÇÁ·Î±×·¥À¸·Î ºÎÅÍ °°Àº À̸§ÀÇ ½Éº¼ÀÇ ¼Ó¼ºÀ» °¡Áú °ÍÀÌ´Ù.

`.globl'°ú `.global' µÑ ´Ù ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ È£È¯¼ºÀ» À§Çؼ­ Çã¿ëµÈ´Ù. On the HPPA, .global is not always enough to make it accessible to other partial programs. You may need the HPPA-only .EXPORT directive as well. See section HPPA Assembler Directives.

.hword expressions

ÀÌ°ÍÀº 0°³ÀÌ»óÀÇ expressions ¸¦ ±â´ëÇÑ´Ù. ±×¸®°í °¢°¢Àº 16 ºñÆ® ¼ýÀÚÀÌ´Ù.

ÀÌ Áö½ÃÀÚ´Â ÇØ´ç ±â°è¿¡ ÀÇÁ¸ÇÏ´Â `.short'¿Í °°Àº ¶æÀ̸ç, ¶ÇÇÑ `.word'¿Í µµ °°Àº ¶æÀÏ °ÍÀÌ´Ù.

.ident

ÀÌ Áö½ÃÀÚ´Â ¾î¶² ¾î¼Àºí·¯µéÀÌ ¸ñÀûÆÄÀÏ¿¡ ű׸¦ ¼³Ä¡ÇÏ´Â µ¥¿¡ »ç¿ëµÈ´Ù. as ´Â ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ ¼Ò½ºÆÄÀÏ È£È¯¼ºÀ» À§Çؼ­ ±×·¯ÇÑ Áö½ÃÀÚ¸¦ Çã¿ëÇÑ ´Ù. ±×·¯³ª ±×°ÍÀ» À§ÇØ º°´Ù¸¥ °ÍÀÌ È°¼ºÈ­µÇÁö´Â ¾ÊÀ» °ÍÀÌ´Ù.

.if absolute expression

.if ´Â ¸¸ÀÏ ÀÎÀÚ(absolute expressionÀ̾î¾ß ÇÏ´Â)°¡ 0ÀÌ ¾Æ´Ï¶ó¸é ¾î¼ÀºíµÇ´Â ¼Ò½º ÇÁ·Î±×·¥ÀÇ ÀϺκÐÀ¸·Î ±¸¼ºµÇ´Â Äڵ念¿ªÀÇ ½ÃÀÛÀ» Ç¥½ÃÇÑ´Ù. ±× Á¶°ÇÀûÀÎ ÄÚ µå¿µ¿ªÀÇ ³¡Àº .endif¿¡ ÀÇÇØ ¸¶Å©µÈ´Ù. (see section .endif). ¼±ÅÃÀû À¸·Î .else ·Î Ç¥½ÃµÇ´Â ¼±ÅÃÀûÀÎ Á¶°ÇÀ» À§ÇÑ Äڵ带 Æ÷ÇÔ½Ãų ¼öµµ ÀÖ´Ù. (see section .else)

¾Æ·¡¿Í °°Àº .if ÀÇ ´Ù¸¥ º¯Çüµéµµ Á¦°øµÈ´Ù.

.ifdef symbol
ƯÁ¤ÇÑ symbolÀÌ Á¤ÀǵǾúÀ» °æ¿ì¿¡ ±× µÚÀÇ ÄÚµå ¿µ¿ªÀ» ¾î¼ÀºíÇÑ´Ù.
.ifndef symbol
.ifnotdef symbol
ƯÁ¤ÇÑ symbolÀÌ Á¤ÀǵÇÁö ¾Ê¾ÒÀ» °æ¿ì¿¡ ±× µÚÀÇ ÄÚµå ¿µ¿ªÀ» ¾î¼ÀºíÇÑ´Ù. µÑ ´Ù °°Àº ¶æÀÌ´Ù.

.include "file"

ÀÌ Áö½ÃÀÚ´Â ¼Ò½º ÇÁ·Î±×·¥¿¡¼­ ¸í½ÃµÈ À§Ä¡¿¡ Á¦°øµÇ´Â ÆÄÀÏÀ» Æ÷ÇÔÇÏ´Â ¹æ¹ý À» Á¦°øÇÑ´Ù. file ¿¡ ÀÖ´Â ÄÚµå´Â .include ÀÇ À§Ä¡¿¡ µû¶ó¿À´Â °Íó·³ ¾î¼Àºí µÇ¸ç, Æ÷ÇԵǴ ÆÄÀÏÀÇ ³¡ÀÌ ³ªÅ¸³ª¸é ¿ø·¡ ÆÄÀÏÀÇ ¾î¼ÀºíÀº ´Ù½Ã °è¼ÓµÈ´Ù. `-I' ¸í·ÉÇà ¿É¼Ç (see section ¸í·ÉÇà)À» »ç¿ëÇÏ¿© °Ë»ö°æ·Î¸¦ Á¦ ¾îÇÒ ¼ö ÀÖ´Ù. file ¾ÕµÚ·Î ÀοëºÎÈ£°¡ ÇÊ¿äÇÏ´Ù.

.int expressions

ÄÞ¸¶¿¡ ÀÇÇØ ±¸ºÐµÇ´Â ¾î¶² ¼½¼ÇÀÇ 0°³ ÀÌ»óÀÇ expressionsÀ» ÀûÀ» ¼ö ÀÖ´Ù. °¢°¢ÀÇ Ç¥ÇöÀº ½ÇÇà½Ã¿¡ ±× Ç¥ÇöÀÇ °ªÀÌ µÉ 32ºñÆ® ¼ýÀÚ°¡ µÉ °ÍÀÌ´Ù. expression¿¡¼­ ÀÇ ¹ÙÀÌÆ® ¼ø¼­´Â ÇÁ·Î±×·¥ÀÌ µ¹¾Æ°¡´Â ÄÄÇ»ÅÍÀÇ Á¾·ù¿¡ µû¶ó ´Ù¸£´Ù.

.irp symbol,values...

Evaluate a sequence of statements assigning different values to symbol. The sequence of statements starts at the .irp directive, and is terminated by an .endr directive. For each value, symbol is set to value, and the sequence of statements is assembled. If no value is listed, the sequence of statements is assembled once, with symbol set to the null string. To refer to symbol within the sequence of statements, use \symbol.

For example, assembling

        .irp    param,1,2,3
        move    d\param,sp@-
        .endr

is equivalent to assembling

        move    d1,sp@-
        move    d2,sp@-
        move    d3,sp@-

.irpc symbol,values...

Evaluate a sequence of statements assigning different values to symbol. The sequence of statements starts at the .irpc directive, and is terminated by an .endr directive. For each character in value, symbol is set to the character, and the sequence of statements is assembled. If no value is listed, the sequence of statements is assembled once, with symbol set to the null string. To refer to symbol within the sequence of statements, use \symbol.

For example, assembling

        .irpc    param,123
        move    d\param,sp@-
        .endr

is equivalent to assembling

        move    d1,sp@-
        move    d2,sp@-
        move    d3,sp@-

.lcomm symbol , length

symbol ¿¡ ÀÇÇØ Ç¥½ÃµÇ´Â Áö¿ªÀûÀ¸·Î °øÅëµÇ´Â °ÍµéÀ» À§Çؼ­ length (Àý´ëÀû Ç¥Çö) ¹ÙÀÌÆ®¸¸Å­À» ¿¹¾àÇÑ´Ù. symbolÀÇ ¼½¼Ç°ú °ªÀº »õ·Î¿î Áö¿ªÀûÀÎ °øÅëµÇ´Â °ÍµéÀÌ´Ù. ±× ÁÖ¼Ò´Â bss ¼½¼Ç¿¡ ÇÒ´çµÇ°í, ½ÇÇà½Ã ±× ¹ÙÀÌÆ®´Â 0ºÎÅÍ ½ÃÀÛµÉ °Í ÀÌ´Ù. Symbol Àº global·Î ¼±¾ðµÇÁö ¾Ê´Â´Ù. (see section .global symbol, .globl symbol) ±×·¡¼­ Symbol Àº ld ¿¡°Ô´Â º¸ÀÌÁö ¾Ê´Â´Ù.

The syntax for .lcomm differs slightly on the HPPA. The syntax is `symbol .lcomm, length'; symbol is optional.

.lflags

as ´Â ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ È£È¯¼º Â÷¿ø¿¡¼­ Çã¿ëÇϳª ±×°ÍÀ» °ð¹Ù·Î ¹«½ÃÇØ ¹ö¸°´Ù.

.line line-number

as ¿¡°Ô ³í¸®ÀûÀÎ ÁÙ ¹øÈ£¸¦ ¹Ù²Ùµµ·Ï Áö½ÃÇÑ´Ù. line-number Àº Àý´ëÀû Ç¥Çö À̾î¾ß ÇÑ´Ù. ±× ´ÙÀ½ ÁÙÀº ³í¸®ÀûÀÎ ÁÙ ¹øÈ£¸¦ °¡Áú °ÍÀÌ´Ù. ±×·¡¼­ ÇöÀçÀÇ ÁÙ (±¸ºÐÀÚ ±¸¹® ÀÌÈÄ¿¡)¿¡¼­ ´Ù¸¥ ¾î¶² ±¸¹®µéµµ ³í¸®ÀûÀÎ ÁÙ¹øÈ£ line-number - 1 ·Î º¸°í µÉ °ÍÀÌ´Ù. ÀÌ Áö½ÃÀÚµµ ¾ðÁ¨°¡´Â Á¦°øµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. ÀÌ°ÍÀº ´ÜÁö ´Ù¸¥ ¾î¼Àºí·¯ ÇÁ·Î±×·¥µé°úÀÇ È£È¯¼º Ãø¸é¿¡¼­ »ç¿ëµÈ´Ù.

°æ°í: as ÀÇ AMD29K ¼³Á¤¿¡¼­´Â ÀÌ·¯ÇÑ ¸í·ÉÀº ´ÜÁö .line À̳ª .ln Áß .ln ¸¸ÀÌ À¯È¿ÇÏ´Ù.

ÀÌ°ÍÀº a.out °ú b.out ¸ñÀûÄÚµå Æ÷¸Ë°úµµ °ü°èµÇ´Â Áö½ÃÀÚÀ̸ç, as ´Â COFF Ãâ·ÂÀ» »ý¼ºÇÒ ¶§¿¡µµ ±×°ÍÀ» ÀνÄÇÏ¿©, ±×°ÍÀÌ .def/.endef ¦ÀÇ ¿Ü°û¿¡ ÀÖ´Ù¸é `.line'À» COFF `.ln'À¸·Î Ãë±ÞÇÒ °ÍÀÌ´Ù.

.def ¾ÈÂÊÀÇ `.line' Àº ´ë½Å, µð¹ö±ëÀ» À§ÇÑ Ãß°¡ÀûÀÎ ½Éº¼ Á¤º¸¸¦ »ý¼ºÇÏ´Â µ¥¿¡ ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ »ç¿ëµÇ´Â Áö½ÃÀÚÀÇ ÇϳªÀÌ´Ù.

.linkonce [type]

Mark the current section so that the linker only includes a single copy of it. This may be used to include the same section in several different object files, but ensure that the linker will only include it once in the final output file. The .linkonce pseudo-op must be used for each instance of the section. Duplicate sections are detected based on the section name, so it should be unique.

This directive is only supported by a few object file formats; as of this writing, the only object file format which supports it is the Portable Executable format used on Windows NT.

The type argument is optional. If specified, it must be one of the following strings. For example:

.linkonce same_size

Not all types may be supported on all object file formats.

discard
Silently discard duplicate sections. This is the default.
one_only
Warn if there are duplicate sections, but still keep only one copy.
same_size
Warn if any of the duplicates have different sizes.
same_contents
Warn if any of the duplicates do not have exactly the same contents.

.ln line-number

`.ln' Àº `.line'°ú µ¿ÀǾîÀÌ´Ù.

.mri val

If val is non-zero, this tells as to enter MRI mode. If val is zero, this tells as to exit MRI mode. This change affects code assembled until the next .mri directive, or until the end of the file. See section Assemble in MRI Compatibility Mode: -M.

.list

.nolist Áö½ÃÀÚ¿Í ´õºÒ¾î »ý¼ºµÇ´Â ¾î¼Àºí¸® ¸®½ºÆÃÀ» Á¦¾îÇÑ´Ù. ÀÌ µÎ °³ÀÇ Áö½ÃÀÚ´Â ³»ºÎÀûÀÎ Ä«¿îÅÍ(0À¸·Î ÃʱâÈ­µÇ´Â)¸¦ °ü¸®ÇÑ´Ù. .list ´Â Ä«¿îÆ®¸¦ Áõ°¡½ÃÅ°°í, .nolist ´Â °¨¼Ò½ÃŲ´Ù. ¾î¼Àºí¸® ¸®½ºÆÃÀº Ä«¿îÅÍ°¡ 0ÀÌ»óÀÏ ¶§¿¡ ´Â ¾ðÁ¦µçÁö »ý¼º½ÃŲ´Ù.

±âº»ÀûÀ¸·Î, ¸®½ºÆÃÀº ÇÏÁö ¾Ê´Â´Ù. ±×°ÍµéÀ» ÃʱâÈ­ÇÒ ¶§ (`-a' ¸í·ÉÇà ¿É¼Ç °ú °ü·ÃÇؼ­´Â See section ¸í·ÉÇà.) ±× ¸®½ºÆà ī¿îÅÍÀÇ ÃʱⰪÀº 1ÀÌ´Ù.

.long expressions

.longÀº `.int'¿Í °°´Ù. see section .int expressions.

.macro

The commands .macro and .endm allow you to define macros that generate assembly output. For example, this definition specifies a macro sum that puts a sequence of numbers into memory:

        .macro  sum from=0, to=5
        .long   \from
        .if     \to-\from
        sum     "(\from+1)",\to
        .endif
        .endm

With that definition, `SUM 0,5' is equivalent to this assembly input:

        .long   0
        .long   1
        .long   2
        .long   3
        .long   4
        .long   5
.macro macname
.macro macname macargs ...
Begin the definition of a macro called macname. If your macro definition requires arguments, specify their names after the macro name, separated by commas or spaces. You can supply a default value for any macro argument by following the name with `=deflt'. For example, these are all valid .macro statements:
.macro comm
Begin the definition of a macro called comm, which takes no arguments.
.macro plus1 p, p1
.macro plus1 p p1
Either statement begins the definition of a macro called plus1, which takes two arguments; within the macro definition, write `\p' or `\p1' to evaluate the arguments.
.macro reserve_str p1=0 p2
Begin the definition of a macro called reserve_str, with two arguments. The first argument has a default value, but not the second. After the definition is complete, you can call the macro either as `reserve_str a,b' (with `\p1' evaluating to a and `\p2' evaluating to b), or as `reserve_str ,b' (with `\p1' evaluating as the default, in this case `0', and `\p2' evaluating to b).
When you call a macro, you can specify the argument values either by position, or by keyword. For example, `sum 9,17' is equivalent to `sum to=17, from=9'.
.endm
Mark the end of a macro definition.
.exitm
Exit early from the current macro definition.
\@
as maintains a counter of how many macros it has executed in this pseudo-variable; you can copy that number to your output with `\@', but only within a macro definition.

.nolist

.list Áö½ÃÀÚ¿Í ´õºÒ¾î »ý¼ºµÇ´Â ¾î¼Àºí¸® ¸®½ºÆÃÀ» Á¦¾îÇÑ´Ù. ÀÌ µÎ °³ÀÇ Áö½ÃÀÚ´Â ³»ºÎÀûÀÎ Ä«¿îÅÍ(0À¸·Î ÃʱâÈ­µÇ´Â)¸¦ °ü¸®ÇÑ´Ù. .list´Â Ä«¿îÆ®¸¦ Áõ °¡½ÃÅ°°í, .nolist ´Â °¨¼Ò½ÃŲ´Ù. ¾î¼Àºí¸® ¸®½ºÆÃÀº Ä«¿îÅÍ°¡ 0ÀÌ»óÀÏ ¶§¿¡´Â ¾ðÁ¦µçÁö »ý¼º½ÃŲ´Ù.

.octa bignums

ÀÌ Áö½ÃÀÚ´Â ÄÞ¸¶·Î ±¸ºÐµÇ´Â 0°³ÀÌ»óÀÇ bignums ¸¦ ±â´ëÇÑ´Ù. °¢°¢ÀÇ bignum Àº ÇϳªÀÇ 16¹ÙÀÌÆ® Á¤¼öÀÌ´Ù.

The term "octa" comes from contexts in which a "word" is two bytes; hence octa-word for 16 bytes.

.org new-lc , fill

.org ´Â ÇöÀç ¼½¼ÇÀÇ À§Ä¡ Ä«¿îÅ͸¦ new-lc ·Î ÁøÀü½Ãų °ÍÀÌ´Ù. new-lc´Â Àý´ë Ç¥ÇöÀ̰ųª ÇöÀçÀÇ º¸Á¶¼½¼Ç¿¡¼­ °°Àº ¼½¼ÇÀÇ Ç¥ÇöÀÌ´Ù. ÀÌ ¸»Àº ¿©·¯µéÀº ¼½¼Ç À» °¡·ÎÁö¸£±â À§ÇØ .org ¸¦ »ç¿ëÇÒ ¼ö ¾ø´Ù´Â ¶æÀÌ´Ù. new-lc °¡ À߸øµÈ ¼½¼Ç À» °¡Áö°í ÀÖ´Ù¸é, .org Áö½ÃÀÚ´Â ¹«½ÃµÈ´Ù. ´Ù¸¥ ¾î¼Àºí·¯µé°úÀÇ È£È¯¼ºÀ» À§ÇØ ¼­ new-lc ÀÇ ¼½¼ÇÀÇ Àý´ëÄ¡¶ó¸é as´Â ±×°ÍÀ» ÇöÀç º¸Á¶¼½¼Ç°ú new-lcÀÇ ¼½¼ÇÀ» °°´Ù°í Ãë±ÞÇÏ´Â °Íº¸´Ù´Â °æ°í¸¦ ¹ßÇàÇÒ °ÍÀÌ´Ù.

.org ´Â À§Ä¡ Ä«¿îÅ͸¦ Áõ°¡½ÃÅ°°Å³ª ±×°ÍÀ» º¯°æ½ÃÅ°Áö ¾ÊÀ» °æ¿ì¿¡ »ç¿ëµÈ´Ù. .org ·Î À§Ä¡ Ä«¿îÅ͸¦ °Å²Ù·Î µÇµ¹¸± ¼ö´Â ¾ø´Ù.

as´Â ÇÑ ¹ø¸¸¿¡ (one pass·Î) ÇÁ·Î±×·¥À» ¾î¼ÀºíÇÏ·Á°í Çϱ⠶§¹®¿¡ new-lc´Â Á¤ÀÇµÉ °ÍÀÌ´Ù. ÀÌ·¯ÇÑ Á¦ÇÑÀÌ Çø¿À½º·´´Ù¸é ¿ì¸®´Â ¿©·¯ºÐµéÀÇ Áøº¸µÈ ¾î¼Àºí·¯µéÀ» °øÀ¯ÇÒ ¼ö ÀÖ°Ô µÉ ±âȸ¸¦ °£ÀýÈ÷ ±â´Ù¸°´Ù.

À§Ä¡ Ä«¿îÅÍÀÇ ½ÃÀÛÀº º¸Á¶¼½¼ÇÀÇ ½ÃÀÛÀÌ ¾Æ´Ï¶ó ¼½¼ÇÀÇ ½ÃÀÛ°ú °ü·ÃµÇ¾î ÀÖÀ½ À» Á¶½ÉÇ϶ó. ÀÌ°ÍÀº ´Ù¸¥ »ç¶÷µéÀÇ ¾î¼Àºí·¯µé°ú ȣȯ¼ºÀ» °¡Áö±â À§ÇÑ °ÍÀÌ´Ù.

ÇöÀçÀÇ º¸Á¶¼½¼Ç¿¡¼­ À§Ä¡ Ä«¿îÅÍ°¡ ÀüÁø µÉ ¶§, ±× »çÀÌÀÇ ¹ÙÀÌÆ®´Â Àý´ëÇ¥Çö ÀÎ fill ·Î ä¿öÁø´Ù. ¸¸ÀÏ ÄÞ¸¶¿Í fill ÀÌ »ý·«µÈ´Ù¸é fillÀº ±âº»À¸·Î 0ÀÌ µÈ´Ù.

.p2align[wl] abs-expr , abs-expr

Pad the location counter (in the current subsection) to a particular storage boundary. The first expression (which must be absolute) is the number of low-order zero bits the location counter must have after advancement. For example `.p2align 3' advances the location counter until it a multiple of 8. If the location counter is already a multiple of 8, no change is needed.

The second expression (also absolute) gives the value to be stored in the padding bytes. It (and the comma) may be omitted. If it is omitted, the padding bytes are zero.

The .p2alignw and .p2alignl directives are variants of the .p2align directive. The .p2alignw directive treats the fill pattern as a two byte word value. The .p2alignl directives treats the fill pattern as a four byte longword value. For example, .p2alignw 2,0x368d will align to a multiple of 4. If it skips two bytes, they will be filled in with the value 0x368d (the exact placement of the bytes depends upon the endianness of the processor). If it skips 1 or 3 bytes, the fill value is undefined.

.psize lines , columns

¸®½ºÆ®¸¦ »ý¼ºÇÒ ¶§ ÁÙ¼ö¸¦ ¼±¾ðÇϰųª ¼±ÅÃÀûÀ¸·Î Ä­¼ö (°¢°¢ÀÇ ÆäÀÌÁö¿¡¼­) ¸¦ ¼±¾ðÇÒ ¶§ »ç¿ëÇÑ´Ù.

.psize ¸¦ »ç¿ëÇÏÁö ¾Ê´Â ´Ù¸é ±âº»Àº 60ÁÙ·Î °è»êµÈ´Ù. ÄÞ¸¶¿Í columns´Â »ý·« ÇÒ ¼ö ÀÖÀ¸¸ç ÀÌ°ÍÀÇ ±âº»Àº 200 Ä­ÀÌ´Ù.

as generates formfeeds whenever the specified number of lines is exceeded (or whenever you explicitly request one, using .eject).

lines ¸¦ 0À¸·Î ¸í½ÃÇÑ´Ù¸é, ÆûÇǵå´Â »ý¼ºµÇÁö ¾Ê´Â´Ù.

.quad bignums

.quad ´Â ÄÞ¸¶·Î ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ bignums¸¦ ±â¼úÇÑ´Ù. °¢°¢ÀÇ bignumÀº 8 ¹ÙÀÌÆ® Á¤¼öÀÌ´Ù. bignumÀÌ 8¹ÙÀÌÆ®¸¦ ¸¸Á·½ÃÅ°Áö ¸øÇÑ´Ù¸é,

"quad" ´Â 2¹ÙÀÌÆ®ÀÎ "word"¿Í °°Àº °ÍÀ¸·ÎºÎÅÍ À¯·¡µÇ¾ú´Ù. ±×·¯¹Ç·Î quad-word ´Â 8¹ÙÀÌÆ®ÀÌ´Ù.

.rept count

Repeat the sequence of lines between the .rept directive and the next .endr directive count times.

For example, assembling

        .rept   3
        .long   0
        .endr

is equivalent to assembling

        .long   0
        .long   0
        .long   0

.sbttl "subheading"

¾î¼Àºí¸® ¸®½ºÆ®¸¦ ¸¸µé¾î ³¾ ¶§ ŸÀÌƲ(ŸÀÌƲ ¶óÀÎ ¹Ù·ÎµÚÀÇ ¼¼ ¹ø° ÁÙ)·Î subheadingÀ» »ç¿ëÇ϶ó.

ÀÌ Áö½ÃÀÚ´Â ÆäÀÌÁöÀÇ »ó´Ü 10ÁÙ ¾È¿¡ ³ªÅ¸³¯ °æ¿ì ´ÙÀ½¿¡ À̾îÁö´Â ÆäÀÌÁö¿¡ µµ ¿µÇâÀ» ¹ÌÄ£´Ù.

.scl class

½Éº¼À» À§ÇÑ ÀúÀå Ŭ·¡½º(storage-class)¸¦ ¼³Á¤ÇÑ´Ù. ÀÌ Áö½ÃÀÚ´Â .def/.endef ÀÇ ¾È¿¡¼­ »ç¿ëµÈ´Ù. ÀúÀå Ŭ·¡½º´Â ½Éº¼ÀÌ Á¤ÀûÀ̰ųª ¿ÜºÎÀûÀÏ °æ¿ì, ´õ ³ª¾Æ°¡ ±×°ÍÀÌ ½Éº¼¸¯ µð¹ö±ë Á¤µµ±îÁöµµ Æ÷ÇÔÇÒ °æ¿ì Ç¥½ÃµÈ´Ù.

`.scl' Áö½ÃÀÚ´Â ¸ÕÀú COFF Ãâ·Â°ú ¿¬°üµÈ´Ù. b.out Ãâ·Â Æ÷¸ËÀ¸·Î »ý¼ºÇÏ´Â °ÍÀ¸·Î ¼³Á¤µÇ¾úÀ» °æ¿ì¿¡´Â as´Â ÀÌ Áö½ÃÀÚ¸¦ Çã¿ëÇϳª ¹«½ÃÇعö¸°´Ù.

.section name, subsection

COFF¿¡¼­ name ¼½¼ÇÀ̶ó ºÒ¸®¿ì´Â subsectionÀÇ ³¡ºÎºÐÀ¸·Î ´ÙÀ½ÀÇ Äڵ带 ¾î¼ÀºíÇÑ´Ù. subsectionÀ» »ý·«ÇÑ´Ù¸é, as´Â º¸Á¶¼½¼Ç 0À¸·Î »ç¿ëÇÑ´Ù. `.section .text'´Â .text Áö½ÃÀÚ¿Í µ¿ÀÏÇÏ´Ù. `.section .data' ´Â .data Áö½ÃÀÚ¿Í µ¿ÀÏ ÇÏ´Ù. This directive is only supported for targets that actually support arbitrarily named sections; on a.out targets, for example, it is not accepted, even with a standard a.out section name as its parameter.

.set symbol, expression

ÀÌ Áö½ÃÀÚ´Â symbolÀÇ °ªÀ» expressionÀ¸·Î ¼³Á¤ÇÑ´Ù. ÀÌ°ÍÀº symbolÀÇ °ª°ú ÇüÀ» expressionÀ¸·Î µû¸£°Ô ÇÑ´Ù. ¸¸ÀÏ symbolÀÌ ¿ÜºÎÀûÀ¸·Î Ç¥½ÃµÇ¾ú´Ù¸é ±×°Í Àº Ç¥½Ã¸¸ ³²±ä´Ù. (See section ½Éº¼ÀÇ ¼Ó¼º.)

°°Àº ¾î¼Àºí¸® ¼Ò½º¿¡¼­ ¿©·¯¹ø ½Éº¼À» .set ÇÒ ¼ö ÀÖ´Ù.

Àü¿ª½Éº¼À» .set ÇÑ´Ù¸é ¸ñÀûÆÄÀÏ¿¡ ÀúÀåµÇ´Â °ªÀº ±×°÷¿¡ ÀúÀåµÇ´Â ¸¶Áö¸· °ªÀÌ µÉ °ÍÀÌ´Ù.

The syntax for set on the HPPA is `symbol .set expression'.

.short expressions

.short ´Â º¸Åë `.word'¿Í °°´Ù. See section .word expressions.

¾î¶² ¼³Á¤¿¡ À־´Â, .short ¿Í .word´Â ´Ù¸¥ ±æÀÌÀÇ ¼ýÀÚµéÀ» »ý¼ºÇÑ´Ù. see section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.single flonums

ÀÌ Áö½ÃÀÚ´Â ÄÞ¸¶·Î ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ flonums¸¦ ¾î¼ÀºíÇÑ´Ù. ÀÌ°ÍÀº .float ¿Í °°Àº ¿µÇâÀ» ¹ÌÄ£´Ù. Á¤È®ÇÑ ºÎµ¿¼Ò¼ýÁ¡ ¼ýÀÚÀÇ Á¾·ù´Â as°¡ ¾î¶»°Ô ¼³Á¤µÇ ¾ú´ÂÁö¿¡ µû¸¥´Ù. See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.size

ÀÌ Áö½ÃÀÚ´Â ½Éº¼ Å×ÀÌºí¿¡ Ãß°¡ÀûÀÎ µð¹ö±ë Á¤º¸¸¦ Æ÷ÇÔÇϵµ·Ï ¾î¼Àºí·¯¿¡°Ô Áö½ÃÇÑ´Ù. ÀÌ°ÍÀº .def/.endef ÀÇ »çÀÌ¿¡ ³ªÅ¸³ª´Â °Í¸¸ÀÌ Çã¿ëµÈ´Ù.

`.size' ´Â ´ÜÁö COFF Æ÷¸ËÀ» Ãâ·ÂÇÒ ¶§¸¸ Àǹ̰¡ ÀÖ´Ù. b.outÀ» Ãâ·ÂÇÒ ¶§´Â Çã¿ëÀº µÇ³ª ÀÌ Áö½ÃÀÚ´Â ¹«½ÃµÈ´Ù.

.skip size , fill

This directive emits size bytes, each of value fill. Both size and fill are absolute expressions. If the comma and fill are omitted, fill is assumed to be zero. This is the same as `.space'.

.space size , fill

ÀÌ Áö½ÃÀÚ´Â size ¹ÙÀÌÆ®¸¦ fill ÀÇ °ªÀ¸·Î ä¿î´Ù. size ¿Í fill Àº µÑ´Ù Àý´ë ÀûÀΠǥÇöÀ̾î¾ß ÇÑ´Ù. ¸¸ÀÏ ÄÞ¸¶¿Í fill ÀÌ »ý·«µÇ¾ú´Ù¸é, fill Àº 0À¸·Î °¡Á¤ µÈ´Ù. This is the same as `.skip'.

°æ°í: GNU ¾î¼Àºí·¯ÀÇ °ÅÀÇ ´ëºÎºÐÀÇ ¹öÀüÀº .space Áö½ÃÀÚ´Â .block Áö½ÃÀÚ¿Í °°Àº ¿µÇâÀ» ¹ÌÄ£´Ù. .space Áö½ÃÀÚ¿¡ °üÇؼ­´Â HP9000 Series 800 Assembly Language Reference Manual (HP 92432-90001)¸¦ º¸¶ó. ¿ä¾àÀº See section HPPA Assembler Directives.

AMD 29K »ó¿¡¼­´Â ÀÌ Áö½ÃÀÚ´Â ¹«½ÃµÈ´Ù. ´Ù¸¥ AMD29K ¾î¼Àºí·¯µé°úÀÇ È£È¯¼º Â÷¿ø¿¡¼­ Çã¿ëµÈ´Ù.

Warning: In most versions of the GNU assembler, the directive .space has the effect of .block See section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

.stabd, .stabn, .stabs

`.stab'·Î ½ÃÀÛÇÏ´Â ¼¼ °³ÀÇ Áö½ÃÀÚµéÀº ½Éº¼¸¯ µð¹ö°ÅÀÇ »ç¿ë¸ñÀûÀ» À§Çؼ­ ½Éº¼À» ¸¸µç´Ù. (see section ½Éº¼) ÀÌ ½Éº¼µéÀº asÀÇ Çؽ¬ Å×ÀÌºí¿¡´Â µé¾î°¡Áö ¾Ê´Â´Ù. ±×µéÀº ¼Ò½ºÆÄÀÏÀÌ ¾Æ´Ñ ´Ù¸¥ ¾î´À°÷¿¡¼­´Â ÂüÁ¶µÇÁö ¾Ê´Â´Ù. 5°³ÀÇ Çʵå ÀÌ»óÀÌ ¿ä±¸µÈ´Ù.

string
ÀÌ°ÍÀº ½Éº¼ÀÇ À̸§ÀÌ´Ù. `\000'À» Á¦¿ÜÇÏ°í´Â ¾î´À ¹®ÀÚ³ª Æ÷ÇÔÇÒ ¼ö ÀÖ´Ù. ±×·¡¼­ ÀÌ°ÍÀº º¸ÅëÀÇ ½Éº¼ À̸§µéº¸´Ù´Â Á»´õ ¹ü¿ëÀûÀÌ´Ù. ¾î¶² µð¹ö°ÅµéÀº º¹ÀâÇÑ ±¸Á¶µéÀ» ÀÌ·¯ÇÑ Çʵ带 »ç¿ëÇÑ ½Éº¼ À̸§À¸ ·Î ÄÚµùÇÑ´Ù.
type
Àý´ëÀûÀΠǥÇö. ½Éº¼ÀÇ ÇüÀº ÀÌ Ç¥ÇöÀÇ ÇÏÀ§ 8ºñÆ®·Î ¼¼Æ®µÈ´Ù. ¾î¶² ºñÆ® ÆÐÅϵµ Çã¿ëµÇ³ª ld ¿Í µð¹ö°ÅµéÀº ¸ÛûÇÑ(silly) ºñÆ® ÆäÅÏÀº ¸·À» °ÍÀÌ´Ù.
other
Àý´ëÀûÀΠǥÇö. ½Éº¼ÀÇ "other" ¼Ó¼ºÀº ÀÌ Ç¥ÇöÀÇ ÇÏÀ§ 8ºñÆ®·Î ¼¼Æ®µÈ´Ù.
desc
Àý´ëÀûÀΠǥÇö. ½Éº¼ÀÇ ±â¼úÀÚ´Â ÀÌ Ç¥ÇöÀÇ ÇÏÀ§ 16ºñÆ®·Î ¼¼Æ®µÈ´Ù.
value
Àý´ëÀûÀΠǥÇöÀÇ ½Éº¼ÀÇ °ª.

¸¸ÀÏ .stabd, .stabn, .stabs ±¸¹®À» Àд µ¿¾È °æ°í°¡ ¹ß»ýÇϸé, ½Éº¼Àº ¾Æ ¸¶µµ ÀÌ¹Ì ¸¸µé¾î Á³À» °ÍÀÌ°í ¸ñÀûÆÄÀÏ¿¡ ¹ÝÂë Çü¼ºµÈ ½Éº¼À» ¾òÀ» °ÍÀÌ´Ù. ÀÌ °ÍÀº ÀÌÀüÀÇ ¾î¼Àºí·¯µé°úÀÇ È£È¯¼ºÀ» À§ÇÑ °ÍÀÌ´Ù.

.stabd type , other , desc
¸¸µé¾î Áö´Â ½Éº¼ÀÇ "À̸§"Àº ºó ¹®ÀÚ¿­ÀÌ ¾Æ´Ï´Ù. ±×°ÍÀº ȣȯ¼ºÀ» À§ÇØ ³Î Æ÷ÀÎÅÍÀÌ´Ù. ¿À·¡µÈ ¾î¼Àºí·¯µéÀº ³Î Æ÷ÀÎÅ͸¦ »ç¿ëÇÏ´Â µ¥ ±×µéÀº ¸ñÀûÆÄÀÏ¿¡ ºó ¹®ÀÚ¿­·Î °ø°£À» ³¶ºñÇÏÁö ¾Ê´Â´Ù. ÀÌ ½Éº¼ÀÇ °ªÀº À§Ä¡ Ä«¿îÅÍÀÇ °ªÀ¸·Î ¼³Á¤µÈ´Ù. ÇÁ·Î±×·¥ÀÌ ¸µÅ©µÉ ¶§, ½Éº¼ÀÇ °ªÀº .stdbd °¡ ¾î¼Àºí µÉ ¶§ÀÇ À§Ä¡ Ä«¿îÅÍ°¡ ÀÖ´Â °÷ÀÌ´Ù.
.stabn type , other , desc , value
½Éº¼ÀÇ À̸§Àº ºó ¹®ÀÚ¿­ ""·Î ¼¼Æ®µÈ´Ù.
.stabs string , type , other , desc , value
´Ù¼¸ °³ÀÇ ÇÊµå ¸ðµÎ°¡ ¸í½ÃµÇ¾ú´Ù.

.string "str"

Copy the characters in str to the object file. You may specify more than one string to copy, separated by commas. Unless otherwise specified for a particular machine, the assembler marks the end of each string with a 0 byte. You can use any of the escape sequences described in section ¹®ÀÚ¿­.

.tag structname

ÀÌ Áö½ÃÀÚ´Â ½Éº¼Å×ÀÌºí¿¡ Ãß°¡ÀûÀÎ µð¹ö±ë Á¤º¸¸¦ Æ÷ÇÔÇϵµ·Ï ÄÄÆÄÀÏ·¯¿¡°Ô Áö½ÃÇÑ´Ù. .def/.endef ÀÇ ¾È¿¡¼­¸¸ Çã¿ëµÈ´Ù. ű״ ½Éº¼ Å×À̺íÀÇ ±¸Á¶ Á¤ÀÇ µéÀ» ¸µÅ©ÇÏ´Â µ¥ »ç¿ëµÈ´Ù.

`.tag' ´Â ´ÜÁö COFF Ãâ·Â Æ÷¸ËÀ» »ý¼ºÇÒ ¶§¿¡¸¸ »ç¿ëµÈ´Ù. as°¡ b.out À» »ý¼ºÇÒ ¶§¿¡´Â ±×°ÍÀº Çã¿ëµÇ³ª ¹«½ÃµÈ´Ù.

.text subsection

¾î¼Àºí·¯¿¡°Ô ´ÙÀ½ÀÇ ±¸¹®À» subsectionÀ¸·Î ¹øÈ£ºÙ¿©Áø text ¼½¼ÇÀÇ ³¡À¸·Î ¾î¼Àºí Çϵµ·Ï Áö½ÃÇÑ´Ù. ÀÌ°ÍÀº Àý´ëÀûÀΠǥÇöÀ̸ç subsection ÀÌ »ý·«µÈ´Ù¸é, ¼½¼Ç ¼ýÀÚ 0ÀÌ »ç¿ëµÈ´Ù.

.title "heading"

¾î¼Àºí¸® ¸®½ºÆ®¸¦ »ý¼ºÇÒ ¶§ Á¦¸ñ(¼Ò½ºÆÄÀÏÀÇ À̸§°ú ÆäÀÌÁö ¼ýÀÚ ¹Ù·Î µÚÀÇ 2¹ø ° ÁÙ)À¸·Î headingÀ» »ç¿ëÇÑ´Ù.

ÀÌ Áö½ÃÀÚ´Â ´ÙÀ½¿¡ °è¼ÓµÇ´Â(subsequent) ÆäÀÌÁö¿¡ ¿µÇâÀ» ¹ÌÄ£´Ù. ÀÌ°ÍÀÌ ÆäÀÌ ÁöÀÇ »ó´Ü 10Áپȿ¡ ³ªÅ¸³µ´Ù¸é ÇöÀç ÆäÀÌÁö¸¸Å­..

.type int

ÀÌ Áö½ÃÀÚ´Â .def/.endef ¾È¿¡¼­¸¸ Çã¿ëµÇ¸ç ½Éº¼ Å×ÀÌºí ¿£Æ®¸®ÀÇ Çü ¼Ó¼ºÀ¸·Î Á¤¼ö int¸¦ ±â·ÏÇÑ´Ù.

`.type'Àº COFF Æ÷¸Ë Ãâ·Â¿¡¸¸ ¿¬°üµÇ°í, b.out Ãâ·ÂÀÏ ¶§¿¡´Â ÀÌ°ÍÀº ¹Þ¾Æ´Â µé¿©Áö³ª °ðÀÌ¾î ¹«½ÃµÈ´Ù.

.val addr

ÀÌ Áö½ÃÀÚ´Â .def/.endef ¾È¿¡¼­¸¸ Çã¿ëµÇ¸ç ½Éº¼ Å×ÀÌºí ¿£Æ®¸®ÀÇ °ª ¼Ó¼ºÀ» ÁÖ¼Ò addr ·Î ±â·ÏÇÑ´Ù.

`.val'Àº COFF Ãâ·Â À϶§¿¡¸¸ »ç¿ëµÇ°í, b.outÀ» Ãâ·Â ÇÒ ¶§¿¡´Â ÀÌ Áö½ÃÀÚ´Â Çã¿ëµÇ³ª ¹«½ÃµÈ´Ù.

.word expressions

ÀÌ Áö½ÃÀÚ´Â ÄÞ¸¶¿¡ ÀÇÇØ ±¸ºÐµÇ´Â 0°³ ÀÌ»óÀÇ ¾î¶°ÇÑ ¼½¼Ç¿¡¼­ÀÇ expressions À» ±â´ëÇÑ´Ù.

¼ýÀÚÀÇ Å©±â´Â ä¿öÁö°í,±×°ÍÀÇ ¹ÙÀÌÆ® ¼ø¼­´Â ¾î¶² ÄÄÇ»ÅÍ°¡ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ°í ÀÖ´Â °¡¿¡ µû¶ó ´Ù¸£´Ù.

Warning: Special Treatment to support Compilers

32ºñÆ® ÁÖ¼Ò °ø°£ÀÇ ±â°è°¡ 32ºñÆ® ÁÖ¼ÒÁöÁ¤º¸´Ù ÀûÀ» °æ¿ì, ´ÙÀ½¿¡ µû¶ó¿À´Â Ưº° ÇÑ ´ë¿ì¸¦ ¿ä±¸ÇÑ´Ù. ´ç½Å¿¡°Ô Èï¹Ì·Î¿î ±â°è°¡ 32ºñÆ® ÁÖ¼ÒÁöÁ¤À» ÇÑ´Ù¸é (¶Ç´Â ±×°ÍÀ» ¿ä±¸ÇÏÁö ¾Ê´Â´Ù¸é), À̹ø ¹®Á¦´Â ¹«½ÃÇصµ ±¦Âú´Ù. see section ±â°è¿¡ ÀÇÁ¸ÇÏ´Â °Íµé.

¾î¼ÀºíÀ» ÇÒ ¶§ÀÇ ¼ø¼­¿¡ À־ ÄÄÆÄÀÏ·¯´Â ÀÛ¾÷ÇÒ ¾î¶² °Í¼ÓÀ¸·Î Ãâ·ÂÇÏ°í, as ´Â Ưº°ÇÏ°Ô ÀÌ»óÇÑ °ÍÀº `.word' Áö½ÃÀÚ·Î ÀÛ¾÷ÇÑ´Ù. Áö½ÃÀÚÀÇ ÇüÅ `.word sym1-sym2' ´Â Á¾Á¾ ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ Á¡ÇÁ Å×À̺íÀÇ ÀϺκÐÀ¸·Î ¹ß»ýÇÑ´Ù. ±×·¯ ¹Ç·Î, as °¡ `.word sym1-sym2'ÀÇ Áö½ÃÀÚ ÇüŸ¦ ¾î¼Àºí ÇÒ ¶§¿¡, sym1 °ú sym2 ÀÇ Â÷ÀÌÁ¡Àº 16ºñÆ®·Î ä¿öÁöÁö ¾Ê´Â´Ù. as ´Â ´ÙÀ½ ¶óº§ ÀÌÀü¿¡ Áï°¢ÀûÀ¸·Î Á¦ 2ÀÇ Á¡ÇÁ Å×À̺íÀ» ¸¸µé °ÍÀÌ´Ù. Á¦2ÀÇ Á¡ÇÁ Å×À̺íÀº Á¦2ÀÇ Å×ÀÌºí ´ÙÀ½ÀÇ Ã¹ ¹ÙÀÌÆ®·ÎÀÇ short-jump ¿¡ ÀÇÇØ ¾ÕÁú·¯ Áø´Ù. ÀÌ short-jump ´Â »õ·Î¿î Å×À̺í¼Ó À¸·Î ¿ì¿¬È÷ ¶³¾îÁö´Â °ÍÀ¸·Î ºÎÅÍ È帧ÀÇ Á¦¾î¸¦ ¹æÇØÇÑ´Ù. Å×À̺íÀÇ ¾ÈÂÊÀº sym2 ·ÎÀÇ long-jump°¡ µÉ °ÍÀÌ´Ù. ¿ø·¡ÀÇ `.word'´Â sym1 - (sym2·ÎÀÇ long-jumpÀÇ ÁÖ¼Ò) ÀÇ °è»ê°ªÀ» Æ÷ÇÔÇÒ °ÍÀÌ´Ù.

¸¸ÀÏ ¿©·¯¹øÀÇ `.word sym1-sym2'°¡ Á¦2ÀÇ Á¡ÇÁ Å×À̺íÀÌÀü¿¡ ³ªÅ¸³­´Ù¸é, ±×°Í µéÀÇ ¸ðµÎ´Â Á¶ÀýµÉ °ÍÀÌ´Ù. ¸¸ÀÏ `.word sym3-sym4'¿Í °°Àº °ÍÀÌ ÀÖÀ¸¸é, À̰͵µ ¿ª½Ã 16ºñÆ®¿¡¼­ ¸¸Á·½ÃÅ°Áö ¸øÇÑ´Ù. sym4·ÎÀÇ long-jump ´Â Á¦2ÀÇ Á¡ÇÁ Å×ÀÌºí¿¡ ¼­ Æ÷Ç﵃ °ÍÀÌ°í, .word Áö½ÃÀÚ´Â sym3 - (sym4·ÎÀÇ long-jump ÁÖ¼Ò)ÀÇ °ªÀ» Æ÷ÇÔÇϵµ·Ï Á¶ÀýµÉ °ÍÀÌ´Ù. ±×¸®°í ÇÊ¿äÇÑ ¸¸Å­ÀÇ ¿ø·¡ÀÇ Á¡ÇÁ Å×ÀÌºí¿¡¼­ ¿©·¯°³ ÀÇ ¿£Æ®¸® ¸¸Å­ °è¼ÓµÉ °ÍÀÌ´Ù.

¼þ¾ÇÇÑ Áö½ÃÀÚµé

¾ðÁ¨°¡´Â ÀÌ·¯ÇÑ Áö½ÃÀÚµéÀº Á¦°øµÇÁö ¾ÊÀ» °ÍÀÌ´Ù. À̰͵éÀº ¿À·¡µÈ ¾î¼Àºí·¯ µé°úÀÇ È£È¯¼º À¯ÁöÂ÷¿ø¿¡¼­ Á¦°øµÈ´Ù.

.abort
.app-file
.line


Go to the first, previous, next, last section, table of contents.