AS(1) GNU Development Tools AS(1) نام (NAME) as - اسمبلر چندسکویی گنو خلاصه دستور (SYNOPSIS) as [-a[cdghilns][=file]] [--alternate] [--compress-debug-sections] [--nocompress-debug-sections] [-D] [--dump-config] [--debug-prefix-map old=new] [--defsym sym=val] [--elf-stt-common=[no|yes]] [--emulation=name] [-f] [-g] [--gstabs] [--gstabs+] [--gdwarf-] [--gdwarf-sections] [--gdwarf-cie-version=VERSION] [--generate-missing-build-notes=[no|yes]] [--gsframe] [--gsframe=[no|yes]] [--hash-size=N] [--help] [--target-help] [--info] [--no-info] [-I dir] [-J] [-K] [--keep-locals] [-L] [--listing-lhs-width=NUM] [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM] [--listing-cont-lines=NUM] [--multibyte-handling=[allow|warn|warn-sym-only]] [--no-pad-sections] [-o objfile] [-R] [--scfi=experimental] [--sectname-subst] [--size-check=[error|warning]] [--statistics] [-v] [--verbose] [-version] [--version] [-W] [--no-warn] [--warn] [--fatal-warnings] [-w] [-x] [-Z] [@FILE] [target-options] [--|files ...] مقصد (TARGET) گزینه‌های مقصد AArch64: [-EB|-EL] [-mabi=ABI] گزینه‌های مقصد Alpha: [-mcpu] [-mdebug | -no-mdebug] [-replace | -noreplace] [-relax] [-g] [-Gsize] [-F] [-32addr] گزینه‌های مقصد ARC: [-mcpu=cpu] [-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS] [-mcode-density] [-mrelax] [-EB|-EL] گزینه‌های مقصد ARM: [-mcpu=processor[+extension...]] [-march=architecture[+extension...]] [-mfpu=floating-point-format] [-mfloat-abi=abi] [-meabi=ver] [-mthumb] [-EB|-EL] [-mapcs-32|-mapcs-26|-mapcs-float| -mapcs-reentrant] [-mthumb-interwork] [-k] گزینه‌های مقصد Blackfin: [-mcpu=processor[-sirevision]] [-mfdpic] [-mno-fdpic] [-mnopic] گزینه‌های مقصد BPF: [-EL] [-EB] گزینه‌های مقصد CRIS: [--underscore | --no-underscore] [--pic] [-N] [--emulation=criself | --emulation=crisaout] [--march=v0_v10 | --march=v10 | --march=v32 | --march=common_v10_v32] گزینه‌های مقصد C-SKY: [-march=arch] [-mcpu=cpu] [-EL] [-mlittle-endian] [-EB] [-mbig-endian] [-fpic] [-pic] [-mljump] [-mno-ljump] [-force2bsr] [-mforce2bsr] [-no-force2bsr] [-mno-force2bsr] [-jsri2bsr] [-mjsri2bsr] [-no-jsri2bsr ] [-mno-jsri2bsr] [-mnolrw ] [-mno-lrw] [-melrw] [-mno-elrw] [-mlaf ] [-mliterals-after-func] [-mno-laf] [-mno-literals-after-func] [-mlabr] [-mliterals-after-br] [-mno-labr] [-mnoliterals-after-br] [-mistack] [-mno-istack] [-mhard-float] [-mmp] [-mcp] [-mcache] [-msecurity] [-mtrust] [-mdsp] [-medsp] [-mvdsp] گزینه‌های مقصد D10V: [-O] گزینه‌های مقصد D30V: [-O|-n|-N] گزینه‌های مقصد EPIPHANY: [-mepiphany|-mepiphany16] گزینه‌های مقصد H8/300: [-h-tick-hex] گزینه‌های مقصد i386: [--32|--x32|--64] [-n] [-march=CPU[+EXTENSION...]] [-mtune=CPU] گزینه‌های مقصد IA-64: [-mconstant-gp|-mauto-pic] [-milp32|-milp64|-mlp64|-mp64] [-mle|mbe] [-mtune=itanium1|-mtune=itanium2] [-munwind-check=warning|-munwind-check=error] [-mhint.b=ok|-mhint.b=warning|-mhint.b=error] [-x|-xexplicit] [-xauto] [-xdebug] گزینه‌های مقصد IP2K: [-mip2022|-mip2022ext].PP گزینه‌های مقصد M32C: [-m32c|-m16c] [-relax] [-h-tick-hex] گزینه‌های مقصد M32R: [--m32rx|--[no-]warn-explicit-parallel-conflicts| --W[n]p] گزینه‌های مقصد M680X0: [-l] [-m68000|-m68010|-m68020|...] گزینه‌های مقصد M68HC11: [-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg] [-mshort|-mlong] [-mshort-double|-mlong-double] [--force-long-branches] [--short-branches] [--strict-direct-mode] [--print-insn-syntax] [--print-opcodes] [--generate-example] گزینه‌های مقصد MCORE: [-jsri2bsr] [-sifilter] [-relax] [-mcpu=[210|340]] گزینه‌های مقصد Meta: [-mcpu=cpu] [-mfpu=cpu] [-mdsp=cpu] گزینه‌های مقصد MICROBLAZE: [-mlittle-endian] [-mbig-endian] گزینه‌های مقصد MIPS: [-nocpp] [-EL] [-EB] [-O[optimization level]] [-g[debug level]] [-G num] [-KPIC] [-call_shared] [-non_shared] [-xgot [-mvxworks-pic] [-mabi=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32] [-mfp64] [-mgp64] [-mfpxx] [-modd-spreg] [-mno-odd-spreg] [-march=CPU] [-mtune=CPU] [-mips1] [-mips2] [-mips3] [-mips4] [-mips5] [-mips32] [-mips32r2] [-mips32r3] [-mips32r5] [-mips32r6] [-mips64] [-mips64r2] [-mips64r3] [-mips64r5] [-mips64r6] [-construct-floats] [-no-construct-floats] [-mignore-branch-isa] [-mno-ignore-branch-isa] [-mnan=encoding] [-trap] [-no-break] [-break] [-no-trap] [-mips16] [-no-mips16] [-mmips16e2] [-mno-mips16e2] [-mmicromips] [-mno-micromips] [-msmartmips] [-mno-smartmips] [-mips3d] [-no-mips3d] [-mdmx] [-no-mdmx] [-mdsp] [-mno-dsp] [-mdspr2] [-mno-dspr2] [-mdspr3] [-mno-dspr3] [-mmsa] [-mno-msa] [-mxpa] [-mno-xpa] [-mmt] [-mno-mt] [-mmcu] [-mno-mcu] [-mcrc] [-mno-crc] [-mginv] [-mno-ginv] [-mloongson-mmi] [-mno-loongson-mmi] [-mloongson-cam] [-mno-loongson-cam] [-mloongson-ext] [-mno-loongson-ext] [-mloongson-ext2] [-mno-loongson-ext2] [-minsn32] [-mno-insn32] [-mfix7000] [-mno-fix7000] [-mfix-rm7000] [-mno-fix-rm7000] [-mfix-vr4120] [-mno-fix-vr4120] [-mfix-vr4130] [-mno-fix-vr4130] [-mfix-r5900] [-mno-fix-r5900] [-mdebug] [-no-mdebug] [-mpdr] [-mno-pdr] گزینه‌های مقصد MMIX: [--fixed-special-register-names] [--globalize-symbols] [--gnu-syntax] [--relax] [--no-predefined-symbols] [--no-expand] [--no-merge-gregs] [-x] [--linker-allocated-gregs] گزینه‌های مقصد NDS32: [-EL] [-EB] [-O] [-Os] [-mcpu=cpu] [-misa=isa] [-mabi=abi] [-mall-ext] [-m[no-]16-bit] [-m[no-]perf-ext] [-m[no-]perf2-ext] [-m[no-]string-ext] [-m[no-]dsp-ext] [-m[no-]mac] [-m[no-]div] [-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext] [-m[no-]fpu-fma] [-mfpu-freg=FREG] [-mreduced-regs] [-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-relax] [-mb2bb] گزینه‌های مقصد PDP11: [-mpic|-mno-pic] [-mall] [-mno-extensions] [-mextension|-mno-extension] [-mcpu] [-mmachine] گزینه‌های مقصد picoJava: [-mb|-me] گزینه‌های مقصد PowerPC: [-a32|-a64] [-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405| -m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mgekko| -mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500| -me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x| -mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2| -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom] [-many] [-maltivec|-mvsx|-mhtm|-mvle] [-mregnames|-mno-regnames] [-mrelocatable|-mrelocatable-lib|-K PIC] [-memb] [-mlittle|-mlittle-endian|-le|-mbig|-mbig-endian|-be] [-msolaris|-mno-solaris] [-nops=count] گزینه‌های مقصد PRU: [-link-relax] [-mnolink-relax] [-mno-warn-regname-label] گزینه‌های مقصد RISC-V: [-fpic|-fPIC|-fno-pic] [-march=ISA|Profiles|Profiles_ISA] [-mabi=ABI] [-mlittle-endian|-mbig-endian] گزینه‌های مقصد RL78: [-mg10] [-m32bit-doubles|-m64bit-doubles] گزینه‌های مقصد RX: [-mlittle-endian|-mbig-endian] [-m32bit-doubles|-m64bit-doubles] [-muse-conventional-section-names] [-msmall-data-limit] [-mpid] [-mrelax] [-mint-register=number] [-mgcc-abi|-mrx-abi] گزینه‌های مقصد s390: [-m31|-m64] [-mesa|-mzarch] [-march=CPU] [-mregnames|-mno-regnames] [-mwarn-areg-zero] [-mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch] گزینه‌های مقصد SCORE: [-EB][-EL][-FIXDD][-NWARN] [-SCORE5][-SCORE5U][-SCORE7][-SCORE3] [-march=score7][-march=score3] [-USE_R1][-KPIC][-O0][-G num][-V] گزینه‌های مقصد SPARC: [-Av6|-Av7|-Av8|-Aleon|-Asparclet|-Asparclite -Av8plus|-Av8plusa|-Av8plusb|-Av8plusc|-Av8plusd -Av8plusv|-Av8plusm|-Av9|-Av9a|-Av9b|-Av9c -Av9d|-Av9e|-Av9v|-Av9m|-Asparc|-Asparcvis -Asparcvis2|-Asparcfmaf|-Asparcima|-Asparcvis3 -Asparcvisr|-Asparc5] [-xarch=v8plus|-xarch=v8plusa]|-xarch=v8plusb|-xarch=v8plusc -xarch=v8plusd|-xarch=v8plusv|-xarch=v8plusm|-xarch=v9 -xarch=v9a|-xarch=v9b|-xarch=v9c|-xarch=v9d|-xarch=v9e -xarch=v9v|-xarch=v9m|-xarch=sparc|-xarch=sparcvis -xarch=sparcvis2|-xarch=sparcfmaf|-xarch=sparcima -xarch=sparcvis3|-xarch=sparcvisr|-xarch=sparc5 -bump] [-32|-64] [--enforce-aligned-data][--dcti-couples-detect] گزینه‌های مقصد TIC54X: [-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar-mode|-mf] [-merrors-to-file |-me ] گزینه‌های مقصد TIC6X: [-march=arch] [-mbig-endian|-mlittle-endian] [-mdsbt|-mno-dsbt] [-mpid=no|-mpid=near|-mpid=far] [-mpic|-mno-pic] گزینه‌های مقصد TILE-Gx: [-m32|-m64][-EB][-EL] گزینه‌های مقصد Visium: [-mtune=arch] گزینه‌های مقصد Xtensa: [--[no-]text-section-literals] [--[no-]auto-litpools] [--[no-]absolute-literals] [--[no-]target-align] [--[no-]longcalls] [--[no-]transform] [--rename-section oldname=newname] [--[no-]trampolines] [--abi-windowed|--abi-call0] گزینه‌های مقصد Z80: [-march=CPU[-EXT][+EXT]] [-local-prefix=PREFIX] [-colonless] [-sdcc] [-fp-s=FORMAT] [-fp-d=FORMAT].SH "توضیحات (DESCRIPTION)" برنامه as گنو در واقع خانواده‌ای از اسمبلرها است. اگر از اسمبلر گنو در یک معماری استفاده می‌کنید (یا قبلاً استفاده کرده‌اید)، هنگام استفاده از آن در معماری دیگر باید با محیطی کاملاً مشابه روبرو شوید. هر نسخه اشتراکات فراوانی با نسخه‌های دیگر دارد، از جمله قالب‌های فایل شیء، بیشتر دستورالعمل‌های اسمبلر (که اغلب pseudo-ops نامیده می‌شوند) و نحو اسمبلر. هدف اصلی as اسمبل کردن خروجی کامپایلر سی گنو "gcc" برای استفاده توسط پیونددهنده "ld" است. با این حال، ما تلاش کرده‌ایم تا as بتواند هر آنچه را که اسمبلرهای دیگر برای همان ماشین اسمبل می‌کنند، به‌درستی اسمبل کند. هرگونه استثنا به‌طور صریح مستند شده است. این بدان معنا نیست که as همیشه از همان نحو اسمبلر دیگر برای همان معماری استفاده می‌کند؛ برای مثال، ما از چندین نسخه ناسازگار از نحو زبان اسمبلی 680x0 آگاه هستیم. هر بار که as را اجرا می‌کنید، دقیقاً یک برنامه مبدأ را اسمبل می‌کند. برنامه مبدأ از یک یا چند فایل تشکیل شده است. (ورودی استاندارد نیز یک فایل محسوب می‌شود.) شما به as یک خط فرمان حاوی صفر یا چند نام فایل ورودی می‌دهید. فایل‌های ورودی خوانده می‌شوند (از نام فایل سمت چپ به راست). هر آرگومان خط فرمان (در هر موقعیتی) که معنای خاصی نداشته باشد، به عنوان نام فایل ورودی در نظر گرفته می‌شود. اگر هیچ نام فایلی به as ندهید، تلاش می‌کند یک فایل ورودی را از ورودی استاندارد as (که معمولاً ترمینال شما است) بخواند. ممکن است مجبور شوید کلیدهای ctl-D را بفشارید تا به as اعلام کنید برنامه دیگری برای اسمبل کردن وجود ندارد. اگر نیاز دارید صراحتاً فایل ورودی استاندارد را در خط فرمان خود مشخص کنید، از -- استفاده نمایید. اگر مبدأ خالی باشد، as یک فایل شیء کوچک و خالی تولید می‌کند. برنامه as ممکن است پیام‌های هشدار و خطا را در فایل خطای استاندارد (معمولاً ترمینال شما) بنویسد. زمانی که یک کامپایلر as را به‌طور خودکار اجرا می‌کند، این اتفاق نباید رخ دهد. هشدارها فرضیاتی را گزارش می‌دهند تا as بتواند به اسمبل کردن برنامه‌ای ناقص ادامه دهد؛ خطاها مشکلات وخیمی را گزارش می‌کنند که فرایند اسمبل را متوقف می‌سازد. اگر as را از طریق کامپایلر سی گنو فراخوانی می‌کنید، می‌توانید از گزینه -Wa برای ارسال آرگومان‌ها به اسمبلر استفاده کنید. آرگومان‌های اسمبلر باید با کاما از یکدیگر (و از -Wa) جدا شوند. برای مثال: gcc -c -g -O -Wa,-alh,-L file.c این دستور دو گزینه را به اسمبلر ارسال می‌کند: -alh (تولید یک فهرست در خروجی استاندارد به همراه کد سطح‌بالا و کد مبدأ اسمبلی) و -L (نگه‌داشتن نمادهای محلی در جدول نمادها). معمولاً نیازی به استفاده از این سازوکار -Wa ندارید، چرا که بسیاری از گزینه‌های خط فرمان کامپایلر به‌طور خودکار توسط کامپایلر به اسمبلر منتقل می‌شوند. (می‌توانید گرداننده کامپایلر گنو را با گزینه -v اجرا کنید تا دقیقاً ببینید چه گزینه‌هایی را به هر گام کامپایل، از جمله اسمبلر، ارسال می‌کند.) گزینه‌ها (OPTIONS) @file خواندن گزینه‌های خط فرمان از file. گزینه‌های خوانده‌شده به جای گزینه اصلی @file درج می‌شوند. اگر file وجود نداشته باشد یا خوانده نشود، با گزینه به‌صورت لغوی (تحت‌اللفظی) رفتار شده و حذف نخواهد شد. گزینه‌ها در file با فاصله‌های خالی (whitespace) از یکدیگر جدا می‌شوند. یک نویسه فاصله خالی می‌تواند با قرار گرفتن کل گزینه در گیومه تکی یا دوتایی، درون آن گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) می‌تواند با قرار دادن یک بک‌اسلش قبل از آن درج گردد. فایل file خود می‌تواند حاوی گزینه‌های اضافی @file باشد؛ این‌گونه گزینه‌ها به‌صورت بازگشتی پردازش خواهند شد. -a[cdghilmns] فعال کردن فهرست‌گیری (listing)، به روش‌های گوناگون: -ac صرف‌نظر کردن از شرطی‌های نادرست -ad صرف‌نظر کردن از دستورالعمل‌های اشکال‌زدایی -ag شامل اطلاعات عمومی، مانند نسخه as و گزینه‌های فرستاده‌شده -ah شامل کد مبدأ سطح‌بالا -al شامل کد اسمبلی -ali شامل کد اسمبلی همراه با ginsn -am شامل بسط ماکروها -an صرف‌نظر کردن از پردازش فرم‌ها -as شامل نمادها =file تعیین نام فایل فهرست‌گیری می‌توانید این گزینه‌ها را ترکیب کنید؛ برای نمونه، از -aln برای فهرست‌گیری اسمبلی بدون پردازش فرم‌ها استفاده کنید. گزینه =file در صورت استفاده، باید آخرین گزینه باشد. گزینه -a به تنهایی، به‌طور پیش‌فرض معادل -ahls است. --alternate شروع در حالت ماکروی جایگزین (alternate macro mode). --compress-debug-sections فشرده‌سازی بخش‌های اشکال‌زدایی DWARF با استفاده از zlib و SHF_COMPRESSED از ELF ABI. فایل شیء حاصل ممکن است با پیونددهنده‌ها و ابزارهای فایل شیء قدیمی‌تر سازگار نباشد. توجه داشته باشید اگر فشرده‌سازی باعث بزرگ‌تر شدن یک بخش معین شود، آن بخش فشرده نخواهد شد. --compress-debug-sections=none --compress-debug-sections=zlib --compress-debug-sections=zlib-gnu --compress-debug-sections=zlib-gabi --compress-debug-sections=zstd این گزینه‌ها چگونگی فشرده‌سازی بخش‌های اشکال‌زدایی DWARF را کنترل می‌کنند. گزینه --compress-debug-sections=none معادل --nocompress-debug-sections است. گزینه‌های --compress-debug-sections=zlib و --compress-debug-sections=zlib-gabi معادل --compress-debug-sections هستند. گزینه --compress-debug-sections=zlib-gnu بخش‌های اشکال‌زدایی DWARF را با استفاده از قالب منسوخ zlib-gnu فشرده می‌کند. نام بخش‌های اشکال‌زدایی تغییر یافته تا با .zdebug آغاز شوند. گزینه --compress-debug-sections=zstd بخش‌های اشکال‌زدایی DWARF را با استفاده از zstd فشرده می‌کند. توجه - اگر فشرده‌سازی در عمل باعث بزرگ‌تر شدن یک بخش شود، آن بخش فشرده نشده و تغییر نام نیز نخواهد یافت. --nocompress-debug-sections بخش‌های اشکال‌زدایی DWARF را فشرده نمی‌کند. این حالت معمولاً برای همه هدف‌ها به‌جز x86/x86_64 پیش‌فرض است، اما می‌توان از گزینه‌ای در زمان پیکربندی برای لغو این مقدار پیش‌فرض استفاده کرد. -D در صورت پشتیبانی، اشکال‌زدایی را در بخش‌های پسین (backends) خاص هدف فعال می‌کند. در غیر این صورت نادیده گرفته می‌شود. حتی در صورت نادیده گرفته شدن، این گزینه برای سازگاری اسکریپت‌ها با فراخوانی‌های سایر اسمبلرها پذیرفته می‌شود. --debug-prefix-map old=new هنگام اسمبل کردن فایل‌ها در دایرکتوری old، اطلاعات اشکال‌زدایی را به‌گونه‌ای ثبت می‌کند که گویی در دایرکتوری new قرار دارند. --defsym sym=value پیش از اسمبل کردن فایل ورودی، نماد sym را با مقدار value تعریف می‌کند. مقدار value باید یک مقدار ثابت عدد صحیح باشد. همانند زبان C، یک پیشوند 0x نشان‌دهنده مقدار هگزادسیمال، و یک پیشوند 0 نشان‌دهنده مقدار اکتال (مبنای هشت) است. مقدار نماد می‌تواند درون فایل مبدأ از طریق استفاده از شبه‌دستور ".set" بازنویسی شود. --dump-config چگونگی پیکربندی اسمبلر را نمایش داده و سپس خارج می‌شود. --elf-stt-common=no --elf-stt-common=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر ELF باید نمادهای عمومی (common symbols) را با نوع "STT_COMMON" تولید کند یا خیر. مقدار پیش‌فرض را می‌توان از طریق گزینه پیکربندی --enable-elf-stt-common تنظیم کرد. --emit-local-absolute حتی نمادهای مطلق (محلی) از پیش تعریف‌شده را نیز به جدول نمادهای خروجی ارسال می‌کند. توجه داشته باشید که این گزینه دقیقاً معکوس --strip-local-absolute نیست. --emulation=name اگر اسمبلر برای پشتیبانی از چند پیکربندی هدف مختلف پیکربندی شده باشد، می‌توان از این گزینه برای انتخاب حالت مورد نظر استفاده کرد. -f «سریع»---نادیده گرفتن پیش‌پردازش فاصله‌های خالی و توضیحات (با این فرض که مبدأ خروجی کامپایلر است). -g تولید اطلاعات اشکال‌زدایی برای هر خط از کد منبع اسمبلر با استفاده از قالب اشکال‌زدایی ترجیح‌داده‌شده توسط هدف. این مورد در حال حاضر به معنای STABS، ECOFF یا DWARF2 است. هنگامی که قالب اشکال‌زدایی DWARF باشد، بخش‌های ".debug_info" و ".debug_line" تنها زمانی منتشر می‌شوند که فایل اسمبلی خودش آن را تولید نکرده باشد. --gstabs تولید اطلاعات اشکال‌زدایی stabs برای هر خط اسمبلر. در صورتی که اشکال‌زدا بتواند آن را مدیریت کند، این امر ممکن است به اشکال‌زدایی کد اسمبلر کمک کند. --gstabs+ تولید اطلاعات اشکال‌زدایی stabs برای هر خط اسمبلر، همراه با افزونه‌های GNU که احتمالاً تنها gdb می‌تواند آن‌ها را مدیریت کند، و ممکن است باعث خرابی سایر اشکال‌زداها یا خودداری آن‌ها از خواندن برنامه شما شود. این گزینه ممکن است به اشکال‌زدایی کد اسمبلر کمک کند. در حال حاضر تنها افزونهٔ GNU، مکان دایرکتوری کاری فعلی در زمان اسمبل است. --gdwarf-2 تولید اطلاعات اشکال‌زدایی DWARF2 برای هر خط اسمبلر. در صورتی که اشکال‌زدا بتواند آن را پردازش کند، ممکن است به اشکال‌زدایی کد اسمبلر کمک کند. توجه---این گزینه تنها توسط برخی از هدف‌ها پشتیبانی می‌شود، نه همه آن‌ها. --gdwarf-3 این گزینه مشابه گزینه --gdwarf-2 است، با این تفاوت که امکان تولید اطلاعات اشکال‌زدایی بیشتر مطابق با نگارش ۳ مشخصات DWARF را فراهم می‌کند. توجه - فعال‌سازی این گزینه تولید هیچ‌گونه اطلاعات اضافی را تضمین نمی‌کند؛ این انتخاب برای هر هدف به‌طور جداگانه انجام می‌شود. --gdwarf-4 این گزینه مشابه گزینه --gdwarf-2 است، با این تفاوت که امکان تولید اطلاعات اشکال‌زدایی بیشتر مطابق با نگارش ۴ مشخصات DWARF را فراهم می‌کند. توجه - فعال‌سازی این گزینه تولید هیچ‌گونه اطلاعات اضافی را تضمین نمی‌کند؛ این انتخاب برای هر هدف به‌طور جداگانه انجام می‌شود. --gdwarf-5 این گزینه مشابه گزینه --gdwarf-2 است، با این تفاوت که امکان تولید اطلاعات اشکال‌زدایی بیشتر مطابق با نگارش ۵ مشخصات DWARF را فراهم می‌کند. توجه - فعال‌سازی این گزینه تولید هیچ‌گونه اطلاعات اضافی را تضمین نمی‌کند؛ این انتخاب برای هر هدف به‌طور جداگانه انجام می‌شود. --gdwarf-sections به‌جای ایجاد یک بخش .debug_line، مجموعه‌ای از بخش‌های .debug_line.foo ایجاد می‌شود که در آن foo نام بخش کد مربوطه است. برای مثال، بخش کدی با نام .text.func اطلاعات شماره خط dwarf خود را در بخشی به نام .debug_line.text.func قرار خواهد داد. اگر بخش کد صرفاً .text نامیده شده باشد، بخش خطوط اشکال‌زدایی همچنان فقط به نام .debug_line و بدون هیچ پسوندی نام‌گذاری می‌شود. --gdwarf-cie-version=version کنترل می‌کند که کدام نسخه از ورودی‌های اطلاعات مشترک DWARF (CIEها) تولید شوند. هنگامی که این پرچم مشخص نشود، پیش‌فرض نسخه ۱ است، اگرچه برخی از هدف‌ها می‌توانند این پیش‌فرض را تغییر دهند. سایر مقادیر مجاز برای version برابر ۳ یا ۴ هستند. --generate-missing-build-notes=yes --generate-missing-build-notes=no این گزینه‌ها کنترل می‌کنند که آیا اسمبلر ELF در صورت عدم وجود یادداشت‌های ویژگی ساخت GNU در سورس‌های ورودی، باید آن‌ها را تولید کند یا خیر. حالت پیش‌فرض می‌تواند توسط گزینه پیکربندی --enable-generate-build-notes کنترل شود. --gsframe --gsframe --gsframe=no --gsframe=yes بخش .sframe را از دستورالعمل‌های CFI ایجاد می‌کند. گزینه صریح --gsframe=yes رفتاری مشابه با --gsframe دارد. تولید آن می‌تواند با --gsframe=no متوقف شود. --hash-size N نادیده گرفته می‌شود. برای سازگاری خط فرمان با سایر اسمبلرها پشتیبانی می‌شود. --help چاپ خلاصه‌ای از گزینه‌های خط فرمان و خروج. --target-help چاپ خلاصه‌ای از تمام گزینه‌های مختص هدف و خروج. --info پیام‌های اطلاعاتی مهار نشوند. --no-info مهار پیام‌های اطلاعاتی. -I dir افزودن دایرکتوری dir به فهرست جستجو برای دستورالعمل‌های ".include". -J درباره سرریز علامت‌دار هشدار داده نشود. -K صدور هشدار در هنگامی که جدول‌های تفاضل برای جابه‌جایی‌های بزرگ تغییر می‌یابند. -L --keep-locals نگه‌داری نمادهای محلی (در جدول نمادها). این نمادها با پیشوندهای برچسب محلی مختص به سیستم آغاز می‌شوند؛ معمولاً .L برای سیستم‌های ELF یا L برای سیستم‌های سنتی a.out. --listing-lhs-width=number تنظیم حداکثر عرض (بر حسب کلمه) ستون داده‌های خروجی برای یک فهرست‌بندی اسمبلر روی number. --listing-lhs-width2=number تنظیم حداکثر عرض (بر حسب کلمه) ستون داده‌های خروجی برای خطوط ادامه‌دار در یک فهرست‌بندی اسمبلر روی number. --listing-rhs-width=number تنظیم حداکثر عرض یک خط منبع ورودی، آن‌گونه که در فهرست‌بندی نمایش داده می‌شود، روی number بایت. --listing-cont-lines=number تنظیم حداکثر تعداد خطوط چاپ‌شده در یک فهرست‌بندی برای یک خط ورودی واحد روی number + 1. --multibyte-handling=allow --multibyte-handling=warn --multibyte-handling=warn-sym-only --multibyte-handling=warn_sym_only نحوه مدیریت نویسه‌های چندبایتی در ورودی توسط اسمبلر را کنترل می‌کند. حالت پیش‌فرض (که می‌تواند با استفاده از آرگومان allow بازگردانی شود) این است که چنین نویسه‌هایی بدون اشکال مجاز شمرده شوند. استفاده از آرگومان warn باعث می‌شود که اسمبلر در صورت مواجهه با هر نویسه چندبایتی، یک پیام هشدار صادر کند. استفاده از آرگومان warn-sym-only تنها هنگامی باعث ایجاد هشدار می‌شود که نمادی با نامی حاوی نویسه‌های چندبایتی تعریف شده باشد. (ارجاع به نمادهای تعریف‌نشده هشداری ایجاد نمی‌کند). --no-pad-sections اسمبلر را از پر کردن (padding) انتهای بخش‌های خروجی تا هم‌ترازی آن بخش بازمی‌دارد. حالت پیش‌فرض پر کردن بخش‌ها است، اما این کار می‌تواند فضایی را که ممکن است در هدف‌های با محدودیت شدید حافظه نیاز باشد، هدر دهد. -o objfile نام‌گذاری فایل شیء خروجی از as به نام objfile. -R ادغام بخش داده در بخش متن/کد. --reduce-memory-overheads نادیده گرفته می‌شود. جهت سازگاری با ابزارهایی پشتیبانی می‌شود که گزینه یکسانی را هم به اسمبلر و هم به پیونددهنده ارسال می‌کنند. --scfi=experimental این گزینه مشخص می‌کند که آیا اسمبلر باید CFI را برای ورودی‌های دست‌نویس ترکیب (synthesize) کند یا خیر. اگر ورودی از قبل شامل دستورالعمل‌های CFI قابل ترکیب باشد، اسمبلر آن‌ها را نادیده گرفته و یک هشدار صادر می‌کند. توجه داشته باشید که "--scfi=experimental" برای کدهای تولیدشده توسط کامپایلر، از جمله اسمبلی درون‌خطی، در نظر گرفته نشده است. این پشتیبانی آزمایشی همچنان در حال توسعه است. فقط System V AMD64 ABI پشتیبانی می‌شود. هر تابع ورودی در اسمبلی باید با دستورالعمل ".type" آغاز شود و در حالت ایده‌آل باید با دستورالعمل ".size" خاتمه یابد. هنگام استفاده از SCFI، هر دستورالعمل ".type" باعث می‌شود GAS یک FDE جدید (معروف به Function Descriptor Entry) را آغاز کند. این بدان معناست که با هر دستورالعمل ".type"، بلوک قبلی از دستورات (در صورت وجود) به عنوان یک FDE مجزا نهایی می‌شود. --sectname-subst رعایت توالی‌های جایگزینی در نام بخش‌ها. --size-check=error --size-check=warning صدور خطا یا هشدار برای دستورالعمل نامعتبر ELF .size. --statistics چاپ حداکثر فضای استفاده‌شده (بر حسب بایت) و کل زمان صرف‌شده (بر حسب ثانیه) توسط اسمبل. --strip-local-absolute حذف نمادهای محلی مطلق از جدول نمادهای خروجی. -v --verbose چاپ نسخه as..IP --version 4 -version چاپ نسخهٔ as و خروج. -W --no-warn جلوگیری از نمایش پیام‌های هشدار. --warn پیام‌های هشدار را نادیده نمی‌گیرد و با آن‌ها مانند خطا برخورد نمی‌کند. --fatal-warnings برخورد با هشدارها به عنوان خطا. -w نادیده گرفته می‌شود. -x نادیده گرفته می‌شود. -Z تولید فایل شیء حتی پس از بروز خطاها. -- | files ... ورودی استاندارد، یا فایل‌های منبع برای اسمبل کردن. گزینه‌های زیر هنگامی در دسترس هستند که as برای حالت ۶۴ بیتی معماری ARM (AArch64) پیکربندی شده باشد. -EB این گزینه مشخص می‌کند که خروجی تولید شده توسط اسمبلر باید به عنوان کدگذاری‌شده برای یک پردازندهٔ big-endian علامت‌گذاری شود. -EL این گزینه مشخص می‌کند که خروجی تولید شده توسط اسمبلر باید به عنوان کدگذاری‌شده برای یک پردازندهٔ little-endian علامت‌گذاری شود. -mabi=abi مشخص می‌کند که کد منبع از کدام ABI استفاده می‌کند. آرگومان‌های شناخته‌شده عبارتند از: "ilp32" و "lp64"، که به ترتیب قالب فایل شیء تولیدی را به صورت ELF32 و ELF64 تعیین می‌کنند. مقدار پیش‌فرض "lp64" است. -mcpu=processor[+extension...] این گزینه پردازندهٔ هدف را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی پردازندهٔ هدف اجرا نخواهد شد، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های پردازندهٔ زیر شناخته‌شده هستند: "cortex-a34", "cortex-a35", "cortex-a53", "cortex-a55", "cortex-a57", "cortex-a65", "cortex-a65ae", "cortex-a72", "cortex-a73", "cortex-a75", "cortex-a76", "cortex-a76ae", "cortex-a77", "cortex-a78", "cortex-a78ae", "cortex-a78c", "cortex-a510", "cortex-a520", "cortex-a710", "cortex-a720", "ares", "exynos-m1", "falkor", "neoverse-n1", "neoverse-n2", "neoverse-e1", "neoverse-v1", "qdf24xx", "saphira", "thunderx", "vulcan", "xgene1" "xgene2", "cortex-r82", "cortex-x1", "cortex-x2", "cortex-x3", و "cortex-x4". نام ویژهٔ "all" می‌تواند به کار رود تا به اسمبلر اجازه دهد دستورالعمل‌های معتبر برای هر پردازندهٔ پشتیبانی‌شده را، شامل تمامی افزونه‌های اختیاری، بپذیرد. علاوه بر مجموعه دستورالعمل‌های پایه‌ای، می‌توان به اسمبلر اعلام کرد که یادافزارهای (mnemonics) افزونه‌های گوناگونی را که پردازنده را گسترش می‌دهند، بپذیرد یا محدود کند. اگر برخی پیاده‌سازی‌های یک پردازندهٔ خاص بتوانند افزونه‌ای داشته باشند، آن افزونه‌ها به طور خودکار فعال می‌شوند. در نتیجه، معمولاً نیازی به مشخص کردن هیچ افزونهٔ اضافی نخواهید داشت. -march=architecture[+extension...] این گزینه معماری هدف را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی معماری هدف اجرا نخواهد شد، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های معماری زیر شناخته‌شده هستند: "armv8-a", "armv8.1-a", "armv8.2-a", "armv8.3-a", "armv8.4-a" "armv8.5-a", "armv8.6-a", "armv8.7-a", "armv8.8-a", "armv8.9-a", "armv8-r", "armv9-a", "armv9.1-a", "armv9.2-a", "armv9.3-a", "armv9.4-a" و "armv9.5-a". اگر هر دو گزینهٔ -mcpu و -march مشخص شده باشند، اسمبلر از تنظیمات -mcpu استفاده خواهد کرد. اگر هیچ‌کدام مشخص نشده باشند، پیش‌فرض اسمبلر -mcpu=all خواهد بود. گزینهٔ معماری را می‌توان با همان گزینه‌های افزونهٔ مجموعه دستورالعمل مانند گزینهٔ -mcpu گسترش داد. برخلاف -mcpu، افزونه‌ها همیشه به‌طور پیش‌فرض فعال نیستند. -mverbose-error این گزینه پیام‌های خطای پرگو (verbose) را برای gas معماری AArch64 فعال می‌کند. این گزینه به‌طور پیش‌فرض فعال است. -mno-verbose-error این گزینه پیام‌های خطای پرگو را در gas معماری AArch64 غیرفعال می‌کند. -menable-sysreg-checking این گزینه پیام‌های خطایی را فعال می‌کند که در صورت تلاش برای اسمبل کردن دسترسی به ثبات سیستمی که روی معماری هدف اجرا نمی‌شود، صادر می‌گردند. گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازندهٔ Alpha پیکربندی شده باشد. -mcpu این گزینه پردازندهٔ هدف را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی پردازندهٔ هدف اجرا نخواهد شد، اسمبلر ممکن است دستورالعمل را به عنوان یک ماکرو بسط دهد یا یک پیام خطا صادر کند. این گزینه معادل دستورالعمل راهنمای ".arch" است. نام‌های پردازندهٔ زیر شناخته‌شده هستند: 21064, "21064a", 21066, 21068, 21164, "21164a", "21164pc", 21264, "21264a", "21264b", "ev4", "ev5", "lca45", "ev5", "ev56", "pca56", "ev6", "ev67", "ev68". نام ویژهٔ "all" می‌تواند به کار رود تا به اسمبلر اجازه دهد دستورالعمل‌های معتبر برای هر پردازندهٔ Alpha را بپذیرد. به منظور پشتیبانی از رویهٔ موجود در OSF/1 در رابطه با ".arch"، و رویهٔ موجود در MILO (بوت‌لودر ARC لینوکس)، نام‌های شماره‌دار پردازنده‌ها (مانند 21064) دستورالعمل‌های PALcode مخصوص به پردازنده را فعال می‌کنند، در حالی که نام‌های «electro-vlasic» (مانند "ev4") این کار را نمی‌کنند. -mdebug -no-mdebug تولید کپسوله‌سازی ".mdebug" را برای راهنماهای stabs و توصیف‌کننده‌های رویه فعال یا غیرفعال می‌کند. حالت پیش‌فرض، فعال‌سازی خودکار ".mdebug" به محض مشاهدهٔ نخستین راهنمای stabs است. -relax این گزینه اجبار می‌کند که همهٔ بازنشانی‌ها (relocations) به جای صرفه‌جویی در فضا و حل‌وفصل برخی از آن‌ها در زمان اسمبل، در فایل شیء قرار گیرند. توجه داشته باشید که این گزینه همهٔ محاسبات نمادها را به فایل شیء منتقل نمی‌کند، زیرا همهٔ محاسبات نماد قابل بازنمایی نیستند. با این حال، این گزینه همچنان می‌تواند در کاربردهای خاص مفید باشد. -replace -noreplace بهینه‌سازی فراخوانی‌های رویه را، چه در زمان اسمبل و چه در زمان پیوند، فعال یا غیرفعال می‌کند. این گزینه‌ها فقط برای مقاصد VMS در دسترس هستند و "-replace" حالت پیش‌فرض است. بخش 1.4.1 از راهنمای OpenVMS Linker Utility Manual را ببینید. -g این گزینه زمانی استفاده می‌شود که کامپایلر اطلاعات اشکال‌زدایی را تولید می‌کند. هنگامی که gcc از mips-tfile برای تولید اطلاعات اشکال‌زدایی برای ECOFF استفاده می‌کند، برچسب‌های محلی باید به فایل شیء منتقل شوند. در غیر این صورت این گزینه هیچ اثری ندارد..IP -Gsize 4 یک نماد عمومی (common symbol) محلی بزرگتر از size در ".bss" قرار می‌گیرد، در حالی که نمادهای کوچکتر در ".sbss" قرار داده می‌شوند. -F -32addr این گزینه‌ها برای سازگاری با نسخه‌های پیشین نادیده گرفته می‌شوند. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ ARC پیکربندی شده باشد. -mcpu=cpu این گزینه گونهٔ پردازندهٔ هسته (core) را انتخاب می‌کند. -EB | -EL خروجی را به صورت big-endian (-EB) یا little-endian (-EL) انتخاب می‌کند. -mcode-density دستورالعمل‌های افزونهٔ Code Density را فعال می‌کند. گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های ARM پیکربندی شده باشد. -mcpu=processor[+extension...] مشخص می‌کند کدام گونه از پردازندهٔ ARM مقصد است. -march=architecture[+extension...] مشخص می‌کند کدام گونه از معماری ARM توسط مقصد استفاده می‌شود. -mfpu=floating-point-format انتخاب می‌کند که کدام معماری ممیز شناور مقصد است. -mfloat-abi=abi انتخاب می‌کند که کدام ABI ممیز شناور در حال استفاده است. -mthumb رمزگشایی دستورالعمل‌های صرفاً Thumb را فعال می‌کند. -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant انتخاب می‌کند کدام قرارداد فراخوانی رویه (calling convention) در حال استفاده است. -EB | -EL خروجی را به صورت big-endian (-EB) یا little-endian (-EL) انتخاب می‌کند. -mthumb-interwork مشخص می‌کند که کد با در نظر گرفتن همکاری درونی (interworking) بین کدهای Thumb و ARM تولید شده است. -mccs حالت سازگاری نحو اسمبلی CodeComposer Studio را فعال می‌کند. -k مشخص می‌کند که کد PIC تولید شده است. گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های Blackfin پیکربندی شده باشد. -mcpu=processor[-sirevision] این گزینه پردازندهٔ مقصد را مشخص می‌کند. بخش اختیاری sirevision در اسمبلر استفاده نمی‌شود. وجود آن به این دلیل است که GCC بتواند به‌راحتی گزینهٔ "-mcpu=" خود را منتقل کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که بر روی پردازندهٔ مقصد اجرا نمی‌شود، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های پردازنده‌های زیر شناخته‌شده هستند: "bf504", "bf506", "bf512", "bf514", "bf516", "bf518", "bf522", "bf523", "bf524", "bf525", "bf526", "bf527", "bf531", "bf532", "bf533", "bf534", "bf535" (هنوز پیاده‌سازی نشده است)، "bf536", "bf537", "bf538", "bf539", "bf542", "bf542m", "bf544", "bf544m", "bf547", "bf547m", "bf548", "bf548m", "bf549", "bf549m", "bf561", و "bf592". -mfdpic اسمبل کردن برای FDPIC ABI. -mno-fdpic -mnopic غیرفعال کردن -mfdpic. گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های BPF هستهٔ لینوکس پیکربندی شده باشد. @chapter BPF Dependent Features گزینه‌های BPF (BPF Options) -EB این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع big-endian تولید کند. -EL این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع little-endian تولید کند. -mdialect=dialect این گزینه گویش (dialect) زبان اسمبلی را برای شناسایی در هنگام اسمبل کردن مشخص می‌کند. اسمبلر از normal و pseudoc پشتیبانی می‌کند. -misa-spec=spec این گزینه نسخهٔ مجموعه دستورالعمل‌های BPF را برای استفاده در هنگام اسمبل کردن مشخص می‌کند. نسخه‌های BPF ISA پشتیبانی‌شده عبارتند از v1، v2، v3 و v4. مقدار xbpf می‌تواند برای شناسایی دستورالعمل‌های اضافی که توسط GCC برای مقاصد آزمایشی استفاده می‌شوند مشخص شود. اما توجه داشته باشید که این مورد BPF معتبر نیست. -mno-relax این گزینه به اسمبلر می‌گوید که دستورالعمل‌ها را ساده‌سازی (relax) نکند. توجه داشته باشید که اگر هیچ گزینهٔ endianness در خط فرمان مشخص نشده باشد، ترتیب بایتی میزبان (host endianness) استفاده می‌شود. برای مستندات گزینه‌های مختص CRIS، صفحات info را ببینید. گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های C-SKY پیکربندی شده باشد. -march=archname اسمبل کردن برای معماری archname. گزینهٔ --help فهرست مقادیر معتبر برای archname را نمایش می‌دهد. -mcpu=cpuname اسمبل کردن برای معماری cpuname. گزینهٔ --help فهرست مقادیر معتبر برای cpuname را نمایش می‌دهد. -EL -mlittle-endian تولید خروجی little-endian. -EB -mbig-endian تولید خروجی big-endian. -fpic -pic تولید کد مستقل از موقعیت (position-independent code). -mljump -mno-ljump فعال/غیرفعال کردن تبدیل دستورالعمل‌های پرش کوتاه "jbf"، "jbt" و "jbr" به "jmpi". این گزینه فقط برای پردازنده‌های V2 است. این گزینه در مقصدهای CK801 و CK802 که از دستورالعمل "jmpi" پشتیبانی نمی‌کنند نادیده گرفته می‌شود، و به‌طور پیش‌فرض برای سایر پردازنده‌ها فعال است. -mbranch-stub -mno-branch-stub ارسال بازنشانی‌های (relocations) "R_CKCORE_PCREL_IMM26BY2" برای دستورالعمل‌های "bsr" به پیونددهنده (linker). این گزینه تنها برای مقصدهای ELF سخت‌افزار خام (bare-metal) از نوع C-SKY V2 در دسترس است، که در آنجا به‌طور پیش‌فرض فعال است. نمی‌توان از آن در کدهایی استفاده کرد که به‌صورت پویا با کتابخانه‌های اشتراکی پیوند داده خواهند شد..IP -force2bsr 4 -mforce2bsr -no-force2bsr -mno-force2bsr تبدیل دستورالعمل‌های "jbsr" به "bsr" را فعال/غیرفعال می‌کند. این گزینه برای هدف‌های CK801/CK802 همواره فعال است (و -mno-force2bsr نادیده گرفته می‌شود). همچنین زمانی که -mbranch-stub برقرار باشد، همیشه فعال خواهد بود. -jsri2bsr -mjsri2bsr -no-jsri2bsr -mno-jsri2bsr تبدیل دستورالعمل‌های "jsri" به "bsr" را فعال/غیرفعال می‌کند. این گزینه به‌طور پیش‌فرض فعال است. -mnolrw -mno-lrw تبدیل دستورالعمل‌های "lrw" به یک جفت "movih"/"ori" را فعال/غیرفعال می‌کند. -melrw -mno-elrw دستورالعمل‌های گسترش‌یافتهٔ "lrw" را فعال/غیرفعال می‌کند. این گزینه به‌طور پیش‌فرض برای پردازنده‌های سری CK800 فعال است. -mlaf -mliterals-after-func -mno-laf -mno-literals-after-func قرار دادن مخازن لیترال (literal pools) پس از هر تابع را فعال/غیرفعال می‌کند. -mlabr -mliterals-after-br -mno-labr -mnoliterals-after-br قرار دادن مخازن لیترال (literal pools) پس از پرش‌های نامشروط را فعال/غیرفعال می‌کند. این گزینه به‌طور پیش‌فرض فعال است. -mistack -mno-istack دستورالعمل‌های پشتهٔ وقفه را فعال/غیرفعال می‌کند. این گزینه به‌طور پیش‌فرض روی پردازنده‌های CK801، CK802 و CK802 فعال است. گزینه‌های زیر صریحاً دستورالعمل‌های اختیاری معینی را فعال می‌کنند. این ویژگی‌ها همچنین به‌صورت ضمنی با استفاده از "-mcpu=" برای تعیین پردازنده‌ای که از آن پشتیبانی می‌کند، فعال می‌شوند. -mhard-float دستورالعمل‌های ممیز شناور سخت‌افزاری را فعال می‌کند. -mmp دستورالعمل‌های چندپردازنده‌ای را فعال می‌کند. -mcp دستورالعمل‌های کمک‌پردازنده را فعال می‌کند. -mcache دستورالعمل پیش‌واکشی کَش را فعال می‌کند. -msecurity دستورالعمل‌های امنیتی C-SKY را فعال می‌کند. -mtrust دستورالعمل‌های تراست (trust) مربوط به C-SKY را فعال می‌کند. -mdsp دستورالعمل‌های DSP را فعال می‌کند. -medsp دستورالعمل‌های پیشرفتهٔ DSP را فعال می‌کند. -mvdsp دستورالعمل‌های برداری DSP را فعال می‌کند. گزینه‌های زیر زمانی در دسترس هستند که as برای یک پردازندهٔ Epiphany پیکربندی شده باشد. -mepiphany مشخص می‌کند که هر دو نوع دستورالعمل‌های ۳۲ و ۱۶ بیتی مجاز هستند. این رفتار پیش‌فرض است. -mepiphany16 دستورالعمل‌های مجاز را فقط به مجموعهٔ ۱۶ بیتی محدود می‌کند. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ H8/300 پیکربندی شده باشد. @chapter ویژگی‌های وابسته به H8/300 گزینه‌ها (Options) نسخهٔ Renesas H8/300 از "as" یک گزینهٔ وابسته به ماشین دارد: -h-tick-hex علاوه بر شیوهٔ 0x00، از ثوابت هگزادسیمال به سبک H'00 نیز پشتیبانی می‌کند. -mach=name گونهٔ ماشین H8300 را تعیین می‌کند. نام‌های ماشین زیر شناخته‌شده هستند: "h8300h"، "h8300hn"، "h8300s"، "h8300sn"، "h8300sx" و "h8300sxn". گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ i386 پیکربندی شده باشد. --32 | --x32 | --64 اندازهٔ کلمه (word size) را، چه ۳۲ بیتی یا ۶۴ بیتی، مشخص می‌کند. --32 بیانگر معماری Intel i386 است، در حالی که --x32 و --64 به‌ترتیب نشان‌دهندهٔ معماری AMD x86-64 با اندازهٔ کلمهٔ ۳۲ بیتی یا ۶۴ بیتی هستند. این گزینه‌ها فقط با قالب فایل شیء ELF در دسترس هستند و نیازمند آنند که پشتیبانی لازم BFD گنجانده شده باشد (در یک سکوی ۳۲ بیتی باید --enable-64-bit-bfd را به configure اضافه کنید تا استفاده از ۶۴ بیتی فعال شده و از x86-64 به‌عنوان سکوی هدف استفاده شود). -n به‌طور پیش‌فرض، x86 GAS چندین دستور nop متوالی را که برای هم‌ترازی درون بخش‌های کد استفاده می‌شوند، با دستورالعمل‌های چندبایتی nop مانند leal 0(%esi,1),%esi جایگزین می‌کند. این سوئیچ در صورتی که یک nop تک‌بایتی (0x90) صریحاً به‌عنوان بایت پُرکننده برای هم‌ترازی مشخص شده باشد، این بهینه‌سازی را غیرفعال می‌کند. --divide روی سکوهای برگرفته از SVR4، نویسهٔ / به‌عنوان نویسهٔ توضیح در نظر گرفته می‌شود، بدان معنا که نمی‌توان از آن در عبارت‌ها استفاده کرد. گزینهٔ --divide نویسهٔ / را به یک نویسهٔ معمولی تبدیل می‌کند. این کار / را در ابتدای خطی که توضیح را آغاز می‌کند غیرفعال نمی‌کند و بر استفاده از # برای شروع توضیح نیز تأثیری نمی‌گذارد. -march=CPU[+EXTENSION...] این گزینه پردازندهٔ هدف را مشخص می‌کند. در صورتی که تلاشی برای اسمبل کردن دستورالعملی که روی پردازندهٔ هدف اجرا نمی‌شود صورت گیرد، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های پردازنده‌های زیر شناخته‌شده هستند: "i8086"، "i186"، "i286"، "i386"، "i486"، "i586"، "i686"، "pentium"، "pentiumpro"، "pentiumii"، "pentiumiii"، "pentium4"، "prescott"، "nocona"، "core"، "core2"، "corei7"، "iamcu"، "k6"، "k6_2"، "athlon"، "opteron"، "k8"، "amdfam10"، "bdver1"، "bdver2"، "bdver3"، "bdver4"، "znver1"، "znver2"، "znver3"، "znver4"، "znver5"، "btver1"، "btver2"، "generic32" و "generic64". علاوه بر مجموعه دستورالعمل‌های پایه، می‌توان به اسمبلر اعلام کرد که نمادهای یادافزای (mnemonics) مربوط به افزونه‌های گوناگون را بپذیرد. برای نمونه، "-march=i686+sse4+vmx" پردازندهٔ i686 را با sse4 و vmx گسترش می‌دهد. در حال حاضر افزونه‌های زیر پشتیبانی می‌شوند: 8087، 287، 387، 687، "cmov"، "fxsr"، "mmx"، "sse"، "sse2"، "sse3"، "sse4a"، "ssse3"، "sse4.1"، "sse4.2"، "sse4"، "avx"، "avx2"، "lahf_sahf"، "monitor"، "adx"، "rdseed"، "prfchw"، "smap"، "mpx"، "sha"، "rdpid"، "ptwrite"، "cet"، "gfni"، "vaes"، "vpclmulqdq"، "prefetchwt1"، "clflushopt"، "se1"، "clwb"، "movdiri"، "movdir64b"، "enqcmd"، "serialize"، "tsxldtrk"، "kl"، "widekl"، "hreset"، "avx512f"، "avx512cd"، "avx512er"، "avx512pf"، "avx512vl"، "avx512bw"، "avx512dq"، "avx512ifma"، "avx512vbmi"، "avx512_4fmaps"، "avx512_4vnniw"، "avx512_vpopcntdq"، "avx512_vbmi2"، "avx512_vnni"، "avx512_bitalg"، "avx512_vp2intersect"، "tdx"، "avx512_bf16"، "avx_vnni"، "avx512_fp16"، "prefetchi"، "avx_ifma"، "avx_vnni_int8"، "cmpccxadd"، "wrmsrns"، "msrlist"، "avx_ne_convert"، "rao_int"، "fred"، "lkgs"، "avx_vnni_int16"، "sha512"، "sm3"، "sm4"، "pbndkb"، "avx10.1"، "avx10.1/512"، "avx10.1/256"، "avx10.1/128"، "user_msr"، "msr_imm"، "apx_f"، "avx10.2"، "avx10.2/512"، "avx10.2/256"، "avx10.2/128"، "movrs"، "amx_int8"، "amx_bf16"، "amx_fp16"، "amx_complex"، "amx_transpose"، "amx_tf32"، "amx_fp8" "amx_movrs"، "amx_avx512"، "amx_tile"، "vmx"، "vmfunc"، "smx"، "xsave"، "xsaveopt"، "xsavec"، "xsaves"، "aes"، "pclmul"، "fsgsbase"، "rdrnd"، "f16c"، "bmi2"، "fma"، "movbe"، "ept"، "lzcnt"، "popcnt"، "hle"، "rtm"، "tsx"، "invpcid"، "clflush"، "mwaitx"، "clzero"، "wbnoinvd"، "pconfig"، "waitpkg"، "uintr"، "cldemote"، "rdpru"، "mcommit"، "sev_es"، "lwp"، "fma4"، "xop"، "cx16"، "syscall"، "rdtscp"، "3dnow"، "3dnowa"، "sse4a"، "sse5"، "snp"، "invlpgb"، "tlbsync"، "rmpquery"، "rmpread"، "svme"، "gmism2"، "gmiccs"، "padlockrng2"، "padlockphe2"، "padlockxmodx" و "padlock". توجه داشته باشید که می‌توان به این نمادهای یادافزای افزونه، پیشوند "no" اضافه کرد تا قابلیت مربوطه (و هر قابلیت وابسته) لغو شود. همچنین توجه داشته باشید که پسوندهای مجاز در "-march=avx10." یک محدودیت طول بردار اعمال می‌کنند؛ یعنی با وجود اینکه این گزینه‌ها در حالت عادی گزینه‌های «فعال‌کننده» هستند، استفاده از این پسوندها تمامی دستورالعمل‌های دارای عملوندهای ثبات برداری یا ثبات ماسک عریض‌تر را غیرفعال خواهد کرد. هنگامی که رهنمود ".arch" همراه با -march استفاده شود، رهنمود ".arch" اولویت خواهد داشت..IP -mtune=CPU 4 این گزینه پردازنده‌ای را مشخص می‌کند که کد باید برای آن بهینه‌سازی شود. هنگامی که همراه با گزینهٔ -march استفاده شود، تنها دستورالعمل‌های پردازندهٔ مشخص‌شده توسط گزینهٔ -march تولید خواهند شد. مقادیر معتبر CPU با فهرست پردازنده‌های -march=CPU یکسان است. -moperand-check=none -moperand-check=warning -moperand-check=error این گزینه‌ها تعیین می‌کنند که آیا اسمبلر باید عملوندهای مشخصی از دستورالعمل یا ترکیب‌های عملوند را بررسی کند یا خیر. یک نمونه، دستورالعمل‌هایی هستند که در آن‌ها اندازهٔ عملوند از خود عملوندها قابل استنتاج نیست و همچنین از طریق پسوند دستورالعمل نیز مشخص نشده است. -moperand-check=none باعث می‌شود اسمبلر این بررسی‌ها را انجام ندهد. -moperand-check=warning باعث می‌شود در صورت عدم قبولی در بررسی‌های مربوطه، اسمبلر یک هشدار صادر کند که حالت پیش‌فرض است. -moperand-check=error باعث می‌شود در صورت عدم قبولی در بررسی‌های مربوطه، اسمبلر یک خطا صادر کند. -msse2avx این گزینه مشخص می‌کند که اسمبلر باید دستورالعمل‌های SSE را با پیشوند VEX کدگذاری کند، که نیازمند در دسترس بودن AVX است. دستورالعمل‌های SSE که از GPRهای گسترش‌یافته استفاده می‌کنند با پیشوند EVEX کدگذاری خواهند شد، که نیازمند در دسترس بودن AVX512 یا AVX10 است. -muse-unaligned-vector-move این گزینه مشخص می‌کند که اسمبلر باید انتقال برداری هم‌تراز (aligned) را به صورت انتقال برداری ناهم‌تراز (unaligned) کدگذاری کند. -msse-check=none -msse-check=warning -msse-check=error این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید دستورالعمل‌های SSE را بررسی کند یا خیر. -msse-check=none باعث می‌شود اسمبلر دستورالعمل‌های SSE را بررسی نکند، که حالت پیش‌فرض است. -msse-check=warning باعث می‌شود اسمبلر برای هر دستورالعمل SSE یک هشدار صادر کند. -msse-check=error باعث می‌شود اسمبلر برای هر دستورالعمل SSE یک خطا صادر کند. -mavxscalar=128 -mavxscalar=256 این گزینه‌ها چگونگی کدگذاری دستورالعمل‌های اسکالر AVX توسط اسمبلر را کنترل می‌کنند. -mavxscalar=128 دستورالعمل‌های اسکالر AVX را با طول بردار ۱۲۸ بیتی کدگذاری می‌کند که حالت پیش‌فرض است. -mavxscalar=256 دستورالعمل‌های اسکالر AVX را با طول بردار ۲۵۶ بیتی کدگذاری خواهد کرد. هشدار: از این گزینه برای کدهای محیط عملیاتی استفاده نکنید - به دلیل اشکالات سخت‌افزاری پردازنده (CPU errata)، ممکن است کد حاصل بر روی برخی مدل‌ها کار نکند. -mvexwig=0 -mvexwig=1 این گزینه‌ها چگونگی کدگذاری دستورالعمل‌های VEX از نوع نادیده‌گیرندهٔ VEX.W (کوتاه‌نوشت WIG) توسط اسمبلر را کنترل می‌کنند. -mvexwig=0 دستورالعمل‌های WIG VEX را با vex.w = 0 کدگذاری می‌کند که حالت پیش‌فرض است. -mvexwig=1 دستورالعمل‌های WIG EVEX را با vex.w = 1 کدگذاری خواهد کرد. هشدار: از این گزینه برای کدهای محیط عملیاتی استفاده نکنید - به دلیل اشکالات سخت‌افزاری پردازنده (CPU errata)، ممکن است کد حاصل بر روی برخی مدل‌ها کار نکند. -mevexlig=128 -mevexlig=256 -mevexlig=512 این گزینه‌ها چگونگی کدگذاری دستورالعمل‌های EVEX نادیده‌گیرندهٔ طول (LIG) را توسط اسمبلر کنترل می‌کنند. -mevexlig=128 دستورالعمل‌های LIG EVEX را با طول بردار ۱۲۸ بیتی کدگذاری می‌کند که حالت پیش‌فرض است. -mevexlig=256 و -mevexlig=512 دستورالعمل‌های LIG EVEX را به ترتیب با طول بردار ۲۵۶ بیتی و ۵۱۲ بیتی کدگذاری خواهند کرد. -mevexwig=0 -mevexwig=1 این گزینه‌ها چگونگی کدگذاری دستورالعمل‌های EVEX نادیده‌گیرندهٔ w (کوتاه‌نوشت WIG) توسط اسمبلر را کنترل می‌کنند. -mevexwig=0 دستورالعمل‌های WIG EVEX را با evex.w = 0 کدگذاری می‌کند که حالت پیش‌فرض است. -mevexwig=1 دستورالعمل‌های WIG EVEX را با evex.w = 1 کدگذاری خواهد کرد. -mmnemonic=att -mmnemonic=intel این گزینه نماد یادافزای دستورالعمل را برای تطبیق دستورالعمل‌ها مشخص می‌کند. دستورالعمل‌های راهنمای ".att_mnemonic" و ".intel_mnemonic" اولویت خواهند داشت. -msyntax=att -msyntax=intel این گزینه نحو (syntax) دستورالعمل را هنگام پردازش دستورالعمل‌ها مشخص می‌کند. دستورالعمل‌های راهنمای ".att_syntax" و ".intel_syntax" اولویت خواهند داشت. -mnaked-reg این گزینه مشخص می‌کند که ثبات‌ها نیازی به پیشوند % ندارند. دستورالعمل‌های راهنمای ".att_syntax" و ".intel_syntax" اولویت خواهند داشت. -madd-bnd-prefix این گزینه اسمبلر را وادار می‌کند تا پیشوند BND را به تمامی انشعاب‌ها اضافه کند، حتی اگر چنین پیشوندی صراحتاً در کد منبع مشخص نشده باشد. -mno-shared در مقصد ELF، اسمبلر معمولاً بازنشانی‌های غیر PLT را در برابر مقاصد انشعاب سراسری غیرضعیفِ تعریف‌شده با نمایانی پیش‌فرض بهینه‌سازی و حذف می‌کند. گزینهٔ -mshared به اسمبلر می‌گوید کدی تولید کند که ممکن است وارد یک کتابخانهٔ اشتراکی شود؛ جایی که تمام مقاصد انشعاب سراسری غیرضعیف با نمایانی پیش‌فرض می‌توانند قبضه‌پذیر باشند. کد حاصل اندکی حجیم‌تر خواهد بود. این گزینه فقط بر مدیریت دستورالعمل‌های انشعاب اثر می‌گذارد. -mbig-obj در مقصد PE/COFF، این گزینه استفاده از قالب فایل شیء بزرگ (big object) را اجباری می‌کند، که امکان استفاده از بیش از ۳۲۷۶۸ بخش را فراهم می‌سازد. -momit-lock-prefix=no -momit-lock-prefix=yes این گزینه‌ها چگونگی کدگذاری پیشوند lock توسط اسمبلر را کنترل می‌کنند. این گزینه به عنوان راهکاری موقت برای پردازنده‌هایی در نظر گرفته شده است که با پیشوند lock دچار اشکال می‌شوند. این گزینه را تنها می‌توان با اطمینان در رایانه‌های تک‌هسته‌ای و تک‌رشته‌ای استفاده کرد. -momit-lock-prefix=yes تمامی پیشوندهای lock را حذف خواهد کرد. -momit-lock-prefix=no پیشوند lock را طبق روال معمول کدگذاری می‌کند، که حالت پیش‌فرض است. -mfence-as-lock-add=no -mfence-as-lock-add=yes این گزینه‌ها چگونگی کدگذاری lfence، mfence و sfence توسط اسمبلر را کنترل می‌کنند. -mfence-as-lock-add=yes دستورالعمل‌های lfence، mfence و sfence را به صورت lock addl $0x0, (%rsp) در حالت ۶۴ بیتی و lock addl $0x0, (%esp) در حالت ۳۲ بیتی کدگذاری می‌کند. -mfence-as-lock-add=no دستورالعمل‌های lfence، mfence و sfence را طبق روال معمول کدگذاری خواهد کرد، که حالت پیش‌فرض است. -mrelax-relocations=no -mrelax-relocations=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید بازنشانی‌های تسهیل‌شده (relax relocations)، یعنی R_386_GOT32X در حالت ۳۲ بیتی، یا R_X86_64_GOTPCRELX و R_X86_64_REX_GOTPCRELX در حالت ۶۴ بیتی را تولید کند یا خیر. -mrelax-relocations=yes بازنشانی‌های تسهیل‌شده را تولید خواهد کرد. -mrelax-relocations=no بازنشانی‌های تسهیل‌شده را تولید نخواهد کرد. حالت پیش‌فرض را می‌توان از طریق گزینهٔ پیکربندی --enable-x86-relax-relocations کنترل کرد. -mtls-check=no -mtls-check=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر بازنشانی tls را بررسی کند یا خیر. -mtls-check=yes بازنشانی tls را بررسی خواهد کرد. -mtls-check=no بازنشانی tls را بررسی نخواهد کرد. حالت پیش‌فرض را می‌توان از طریق گزینهٔ پیکربندی --enable-x86-tls-check کنترل کرد. -malign-branch-boundary=NUM این گزینه چگونگی هم‌تراز کردن انشعاب‌ها با پیشوندهای بخش یا NOP توسط اسمبلر را کنترل می‌کند. NUM باید توانی از ۲ باشد. این مقدار باید ۰ یا عددی نه کمتر از ۱۶ باشد. انشعاب‌ها در محدودهٔ مرز NUM بایتی هم‌تراز خواهند شد. -malign-branch-boundary=0 که حالت پیش‌فرض است، انشعاب‌ها را هم‌تراز نمی‌کند. -malign-branch=TYPE[+TYPE...] این گزینه انواع انشعاب‌ها را برای هم‌ترازی مشخص می‌کند. TYPE ترکیبی است از jcc که پرش‌های شرطی را هم‌تراز می‌کند، fused که پرش‌های شرطی ادغام‌شده را هم‌تراز می‌کند، jmp که پرش‌های غیرشرطی را هم‌تراز می‌کند، call که فراخوانی‌ها را هم‌تراز می‌کند، ret که بازگشت‌ها را هم‌تراز می‌کند، و indirect که پرش‌ها و فراخوانی‌های غیرمستقیم را هم‌تراز می‌کند. حالت پیش‌فرض -malign-branch=jcc+fused+jmp است..IP -malign-branch-prefix-size=NUM 4 این گزینه حداکثر تعداد پیشوندهای یک دستورالعمل را برای تراز کردن انشعاب‌ها (branches) مشخص می‌کند. NUM باید بین 0 و 5 باشد. مقدار پیش‌فرض NUM برابر 5 است. -mbranches-within-32B-boundaries این گزینه پرش‌های شرطی، پرش‌های شرطی ادغام‌شده (fused) و پرش‌های غیرشرطی را در مرز 32 بایتی با حداکثر 5 پیشوند سگمنت روی یک دستورالعمل تراز می‌کند. این گزینه معادل موارد زیر است: -malign-branch-boundary=32 -malign-branch=jcc+fused+jmp -malign-branch-prefix-size=5. حالت پیش‌فرض، انشعاب‌ها را تراز نمی‌کند. -mlfence-after-load=no -mlfence-after-load=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر پس از دستورالعمل‌های load باید lfence تولید کند یا خیر. -mlfence-after-load=yes دستور lfence را تولید خواهد کرد. -mlfence-after-load=no دستور lfence را تولید نمی‌کند، که حالت پیش‌فرض است. -mlfence-before-indirect-branch=none -mlfence-before-indirect-branch=all -mlfence-before-indirect-branch=register -mlfence-before-indirect-branch=memory این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید پیش از دستورالعمل‌های انشعاب نزدیک غیرمستقیم (indirect near branch) دستور lfence تولید کند یا خیر. -mlfence-before-indirect-branch=all پیش از انشعاب نزدیک غیرمستقیم از طریق ثبات، دستور lfence تولید کرده و پیش از انشعاب نزدیک غیرمستقیم از طریق حافظه، یک هشدار صادر می‌کند. همچنین زمانی که هیچ -mlfence-before-ret= صریحی وجود نداشته باشد، این گزینه به‌طور ضمنی -mlfence-before-ret=shl را تنظیم می‌کند. -mlfence-before-indirect-branch=register پیش از انشعاب نزدیک غیرمستقیم از طریق ثبات، دستور lfence تولید می‌کند. -mlfence-before-indirect-branch=memory پیش از انشعاب نزدیک غیرمستقیم از طریق حافظه، یک هشدار صادر می‌کند. -mlfence-before-indirect-branch=none نه lfence تولید می‌کند و نه هشداری صادر می‌کند، که حالت پیش‌فرض است. توجه داشته باشید که با گزینهٔ -mlfence-after-load=yes، پیش از انشعاب نزدیک غیرمستقیم از طریق ثبات lfence تولید نخواهد شد، زیرا lfence پس از بارگذاری ثبات مقصد انشعاب تولید می‌شود. -mlfence-before-ret=none -mlfence-before-ret=shl -mlfence-before-ret=or -mlfence-before-ret=yes -mlfence-before-ret=not این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید پیش از ret دستور lfence تولید کند یا خیر. -mlfence-before-ret=or دستور or را همراه با lfence تولید می‌کند. -mlfence-before-ret=shl/yes دستور shl را همراه با lfence تولید می‌کند. -mlfence-before-ret=not دستور not را همراه با lfence تولید می‌کند. -mlfence-before-ret=none دستور lfence تولید نمی‌کند، که حالت پیش‌فرض است. -mx86-used-note=no -mx86-used-note=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید یادداشت‌های ویژگی‌های گنو (GNU property notes) شامل GNU_PROPERTY_X86_ISA_1_USED و GNU_PROPERTY_X86_FEATURE_2_USED را تولید کند یا خیر. حالت پیش‌فرض را می‌توان با گزینهٔ پیکربندی --enable-x86-used-note کنترل کرد. -mevexrcig=rne -mevexrcig=rd -mevexrcig=ru -mevexrcig=rz این گزینه‌ها چگونگی کدگذاری دستورالعمل‌های EVEX فقط-SAE توسط اسمبلر را کنترل می‌کنند. -mevexrcig=rne بیت‌های RC دستورالعمل EVEX را با 00 کدگذاری می‌کند، که حالت پیش‌فرض است. -mevexrcig=rd، -mevexrcig=ru و -mevexrcig=rz دستورالعمل‌های EVEX فقط-SAE را به ترتیب با بیت‌های RC مقدار 01، 10 و 11 کدگذاری می‌کنند. -mamd64 -mintel64 این گزینه مشخص می‌کند که اسمبلر در حالت 64 بیتی فقط باید ISAهای AMD64 یا Intel64 را بپذیرد. حالت پیش‌فرض پذیرش ISAهای مشترک، فقط Intel64 و AMD64 است. -O0 | -O | -O1 | -O2 | -Os کدگذاری دستورالعمل‌ها را با حجم دستور کوچک‌تر بهینه‌سازی می‌کند. -O و -O1 دستورالعمل‌های بارگذاری ثبات 64 بیتی با عملوند بی‌درنگ 64 بیتی را به‌صورت دستورالعمل‌های بارگذاری ثبات 32 بیتی با عملوندهای بی‌درنگ 31 بیتی یا 32 بیتی کدگذاری می‌کنند، دستورالعمل‌های پاک‌سازی ثبات 64 بیتی را با دستورالعمل‌های پاک‌سازی ثبات 32 بیتی کدگذاری می‌کنند، دستورالعمل‌های پاک‌سازی ثبات برداری 256 بیتی/512 بیتی VEX/EVEX را با دستورالعمل‌های پاک‌سازی ثبات برداری 128 بیتی VEX کدگذاری می‌کنند، دستورالعمل‌های بارگذاری/ذخیره ثبات برداری 128 بیتی/256 بیتی EVEX را با دستورالعمل‌های بارگذاری/ذخیره ثبات برداری VEX کدگذاری می‌کنند، و دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شده (packed integer logical) 128 بیتی/256 بیتی EVEX را با دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شده 128 بیتی/256 بیتی VEX کدگذاری می‌کنند. -O2 شامل بهینه‌سازی‌های -O1 به همراه کدگذاری دستورالعمل‌های پاک‌سازی ثبات برداری 256 بیتی/512 بیتی EVEX با دستورالعمل‌های پاک‌سازی ثبات برداری 128 بیتی EVEX است. در حالت 64 بیتی، در دستورالعمل‌های کدگذاری‌شدهٔ VEX با عملوندهای مبدأ جابه‌جایی‌پذیر (commutative)، اگر این کار امکان استفاده از قالب پیشوند 2 بایتی VEX را به‌جای 3 بایتی فراهم کند، عملوندهای مبدأ آن‌ها نیز جابه‌جا خواهند شد. شکل‌های خاصی از AND و همچنین OR با عملوند (ثبات) یکسان که دو بار مشخص شده باشد نیز به TEST تغییر خواهند یافت. -Os شامل بهینه‌سازی -O2 به همراه کدگذاری تست‌های ثبات 16 بیتی، 32 بیتی و 64 بیتی با عملوند بی‌درنگ به‌صورت تست ثبات 8 بیتی با عملوند بی‌درنگ است. -O0 این بهینه‌سازی را غیرفعال می‌کند. گزینه‌های زیر زمانی در دسترس هستند که as برای سری Ubicom IP2K پیکربندی شده باشد. -mip2022ext مشخص می‌کند که دستورالعمل‌های توسعه‌یافتهٔ IP2022 مجاز هستند. -mip2022 رفتار پیش‌فرض را بازیابی می‌کند، که دستورالعمل‌های مجاز را فقط به دستورالعمل‌های پایهٔ IP2022 محدود می‌کند. گزینه‌های زیر زمانی در دسترس هستند که as برای پردازنده‌های Renesas M32C و M16C پیکربندی شده باشد. -m32c اسمبل کردن دستورالعمل‌های M32C. -m16c اسمبل کردن دستورالعمل‌های M16C (پیش‌فرض). -relax فعال‌سازی پشتیبانی از ساده‌سازی‌های زمان پیوند (link-time relaxations). -h-tick-hex پشتیبانی از ثابت‌های هگزادسیمال به سبک H'00 علاوه بر سبک 0x00. گزینه‌های زیر زمانی در دسترس هستند که as برای سری Renesas M32R (پیش‌تر Mitsubishi M32R) پیکربندی شده باشد. --m32rx مشخص می‌کند که کدام پردازنده در خانوادهٔ M32R هدف است. پیش‌فرض معمولاً M32R است، اما این گزینه آن را به M32RX تغییر می‌دهد. --warn-explicit-parallel-conflicts or --Wp در هنگام مواجهه با ساختارهای موازی مشکوک، پیام‌های هشدار تولید می‌کند. --no-warn-explicit-parallel-conflicts or --Wnp در هنگام مواجهه با ساختارهای موازی مشکوک، پیام‌های هشدار تولید نمی‌کند. گزینه‌های زیر زمانی در دسترس هستند که as برای سری Motorola 68000 پیکربندی شده باشد. -l کوتاه کردن ارجاعات به نمادهای تعریف‌نشده به یک کلمه به‌جای دو کلمه. -m68000 | -m68008 | -m68010 | -m68020 | -m68030 | -m68040 | -m68060 | -m68302 | -m68331 | -m68332 | -m68333 | -m68340 | -mcpu32 | -m5200 مشخص می‌کند که کدام پردازنده از خانوادهٔ 68000 هدف است. پیش‌فرض معمولاً 68020 است، اما این مورد در زمان پیکربندی قابل تغییر است. -m68881 | -m68882 | -mno-68881 | -mno-68882 ماشین هدف دارای یک کمک‌پردازندهٔ ممیز شناور (floating-point coprocessor) هست (یا نیست). پیش‌فرض این است که برای 68020، 68030 و cpu32 یک کمک‌پردازنده فرض شود. اگرچه 68000 پایه با 68881 سازگار نیست، اما می‌توان ترکیبی از این دو را مشخص کرد، زیرا شبیه‌سازی دستورالعمل‌های کمک‌پردازنده توسط پردازندهٔ اصلی امکان‌پذیر است. -m68851 | -mno-68851 ماشین هدف دارای یک کمک‌پردازندهٔ واحد مدیریت حافظه (MMU) هست (یا نیست). پیش‌فرض این است که برای 68020 و بالاتر یک MMU در نظر گرفته شود. برای جزئیات بیشتر دربارهٔ گزینه‌های ویژگی‌های وابسته به ماشین PDP-11، به PDP-11-Options مراجعه کنید. -mpic | -mno-pic تولید کد مستقل از موقعیت (یا وابسته به موقعیت). پیش‌فرض -mpic است..IP -mall 4 -mall-extensions تمام افزونه‌های مجموعه دستورالعمل را فعال می‌کند. این حالت پیش‌فرض است. -mno-extensions تمام افزونه‌های مجموعه دستورالعمل را غیرفعال می‌کند. -mextension | -mno-extension یک افزونه مشخص از مجموعه دستورالعمل را فعال (یا غیرفعال) می‌کند. -mcpu افزونه‌های مجموعه دستورالعمل پشتیبانی‌شده توسط یک CPU خاص را فعال کرده و تمام افزونه‌های دیگر را غیرفعال می‌کند. -mmachine افزونه‌های مجموعه دستورالعمل پشتیبانی‌شده توسط یک مدل ماشین خاص را فعال کرده و تمام افزونه‌های دیگر را غیرفعال می‌کند. گزینه‌های زیر زمانی در دسترس هستند که as برای پردازنده picoJava پیکربندی شده باشد. -mb تولید خروجی با قالب “big endian”. -ml تولید خروجی با قالب “little endian”. گزینه‌های زیر زمانی در دسترس هستند که as برای پردازنده PRU پیکربندی شده باشد. -mlink-relax فرض می‌کند که LD با بررسی ۱۶ بیت بالایی expression، دستورالعمل‌های LDI32 را بهینه‌سازی خواهد کرد. اگر همه آن‌ها صفر باشند، LD دستورالعمل LDI32 را به یک دستورالعمل تک LDI کوتاه می‌کند. در این صورت، "as" برای عبارت‌های تفاضلی (diff expressions)، بازنشانی‌های DIFF را صادر خواهد کرد. -mno-link-relax فرض می‌کند که LD دستورالعمل‌های LDI32 را بهینه‌سازی نخواهد کرد. در نتیجه، بازنشانی‌های DIFF صادر نخواهند شد. -mno-warn-regname-label اگر نام یک برچسب با نام یک ثبات مطابقت داشته باشد، هشدار نمی‌دهد. معمولاً برنامه‌نویسان اسمبلی مایلند این هشدار صادر شود. کامپایلرهای C ممکن است مایل به غیرفعال کردن آن باشند. گزینه‌های زیر زمانی در دسترس هستند که as برای پردازنده MIPS پیکربندی شده باشد. -G num این گزینه بیشینه اندازه شیئی را تعیین می‌کند که می‌تواند به‌طور ضمنی با ثبات "gp" مورد ارجاع قرار گیرد. این گزینه تنها برای مقصدهایی پذیرفته می‌شود که از قالب ECOFF استفاده می‌کنند، مانند یک DECstation تحت سیستم‌عامل Ultrix. مقدار پیش‌فرض ۸ است. -EB تولید خروجی با قالب “big endian”. -EL تولید خروجی با قالب “little endian”. -mips1 -mips2 -mips3 -mips4 -mips5 -mips32 -mips32r2 -mips32r3 -mips32r5 -mips32r6 -mips64 -mips64r2 -mips64r3 -mips64r5 -mips64r6 تولید کد برای یک سطح مشخص از معماری مجموعه دستورالعمل (ISA) در MIPS. -mips1 یک نام مستعار برای -march=r3000 است، -mips2 یک نام مستعار برای -march=r6000، -mips3 یک نام مستعار برای -march=r4000، و -mips4 نام مستعاری برای -march=r8000 است. گزینه‌های -mips5، -mips32، -mips32r2، -mips32r3، -mips32r5، -mips32r6، -mips64، -mips64r2، -mips64r3، -mips64r5 و -mips64r6 به‌ترتیب با پردازنده‌های عمومی معماری مجموعه دستورالعمل MIPS V، MIPS32، MIPS32 Release 2، MIPS32 Release 3، MIPS32 Release 5، MIPS32 Release 6، MIPS64، MIPS64 Release 2، MIPS64 Release 3، MIPS64 Release 5 و MIPS64 Release 6 همخوانی دارند. -march=cpu تولید کد برای یک پردازنده (CPU) مشخص MIPS. -mtune=cpu زمان‌بندی و بهینه‌سازی برای یک CPU مشخص MIPS. -mfix7000 -mno-fix7000 در صورتی که خواندن ثبات مقصد یک دستورالعمل mfhi یا mflo در دو دستورالعمل بعدی رخ دهد، باعث درج دستورالعمل‌های nop می‌شود. -mfix-rm7000 -mno-fix-rm7000 در صورتی که یک دستورالعمل dmult یا dmultu توسط یک دستورالعمل بارگذاری (load) دنبال شود، باعث درج nop می‌شود. -mfix-r5900 -mno-fix-r5900 تلاشی برای زمان‌بندی دستورالعمل قبلی در شکاف تأخیر (delay slot) یک دستورالعمل شاخه‌بندی (branch) که در انتهای یک حلقه کوتاه شامل شش دستورالعمل یا کمتر قرار دارد نمی‌کند و در عوض همیشه یک دستورالعمل "nop" را در آنجا زمان‌بندی می‌کند. باگ حلقه کوتاه تحت شرایط خاصی و به دلیل یک نقص سخت‌افزاری در تراشه R5900 باعث می‌شود که حلقه‌ها تنها یک یا دو بار اجرا شوند. -mdebug -no-mdebug باعث می‌شود خروجی اشکال‌زدایی با سبک stabs به‌جای بخش‌های استاندارد .stabs در ELF، در یک بخش .mdebug با سبک ECOFF قرار گیرد. -mpdr -mno-pdr تولید بخش‌های ".pdr" را کنترل می‌کند. -mgp32 -mfp32 اندازه ثبات‌ها به‌طور معمول از ISA و ABI استنتاج می‌شود، اما این پرچم‌ها گروه خاصی از ثبات‌ها را مجبور می‌کنند که همیشه با پهنای ۳۲ بیت در نظر گرفته شوند. -mgp32 اندازه ثبات‌های همه‌منظوره (general- purpose) و -mfp32 اندازه ثبات‌های ممیز شناور (floating-point) را کنترل می‌کند. -mgp64 -mfp64 اندازه ثبات‌ها به‌طور معمول از ISA و ABI استنتاج می‌شود، اما این پرچم‌ها گروه خاصی از ثبات‌ها را مجبور می‌کنند که همیشه با پهنای ۶۴ بیت در نظر گرفته شوند. -mgp64 اندازه ثبات‌های همه‌منظوره و -mfp64 اندازه ثبات‌های ممیز شناور را کنترل می‌کند. -mfpxx اندازه ثبات‌ها به‌طور معمول از ISA و ABI استنتاج می‌شود، اما استفاده از این پرچم در ترکیب با -mabi=32 گونه‌ای از ABI را فعال می‌کند که با ثبات‌های ممیز شناور ۳۲ یا ۶۴ بیتی به‌درستی کار خواهد کرد. -modd-spreg -mno-odd-spreg در صورت پشتیبانی توسط ISA، استفاده از عملیات ممیز شناور را روی ثبات‌های فردِ دقت‌تکی (single-precision) فعال می‌کند. گزینه -mfpxx مستلزم -mno-odd-spreg است، در غیر این صورت مقدار پیش‌فرض -modd-spreg می‌باشد. -mips16 -no-mips16 تولید کد برای پردازنده MIPS 16. این معادل قرار دادن ".module mips16" در ابتدای فایل اسمبلی است. -no-mips16 این گزینه را غیرفعال می‌کند. -mmips16e2 -mno-mips16e2 استفاده از دستورالعمل‌های MIPS16e2 را در حالت MIPS16 فعال می‌کند. این معادل قرار دادن ".module mips16e2" در ابتدای فایل اسمبلی است. گزینه -mno-mips16e2 این گزینه را غیرفعال می‌کند..IP -mmicromips 4 -mno-micromips تولید کد برای پردازندهٔ microMIPS. این معادل قرار دادن ".module micromips" در ابتدای فایل اسمبلی است. -mno-micromips این گزینه را غیرفعال می‌کند. این معادل قرار دادن ".module nomicromips" در ابتدای فایل اسمبلی است. -msmartmips -mno-smartmips افزونهٔ SmartMIPS را برای مجموعه دستورالعمل‌های MIPS32 فعال می‌کند. این معادل قرار دادن ".module smartmips" در ابتدای فایل اسمبلی است. -mno-smartmips این گزینه را غیرفعال می‌کند. -mips3d -no-mips3d تولید کد برای افزونه با کاربرد خاص MIPS-3D (یا MIPS-3D Application Specific Extension). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MIPS-3D را بپذیرد. -no-mips3d این گزینه را غیرفعال می‌کند. -mdmx -no-mdmx تولید کد برای افزونه با کاربرد خاص MDMX. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MDMX را بپذیرد. -no-mdmx این گزینه را غیرفعال می‌کند. -mdsp -mno-dsp تولید کد برای افزونه با کاربرد خاص DSP Release 1. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های DSP Release 1 را بپذیرد. -mno-dsp این گزینه را غیرفعال می‌کند. -mdspr2 -mno-dspr2 تولید کد برای افزونه با کاربرد خاص DSP Release 2. این گزینه متضمن -mdsp است. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های DSP Release 2 را بپذیرد. -mno-dspr2 این گزینه را غیرفعال می‌کند. -mdspr3 -mno-dspr3 تولید کد برای افزونه با کاربرد خاص DSP Release 3. این گزینه متضمن -mdsp و -mdspr2 است. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های DSP Release 3 را بپذیرد. -mno-dspr3 این گزینه را غیرفعال می‌کند. -mmsa -mno-msa تولید کد برای افزونه معماری سیمد (MIPS SIMD Architecture Extension). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MSA را بپذیرد. -mno-msa این گزینه را غیرفعال می‌کند. -mxpa -mno-xpa تولید کد برای افزونه آدرس فیزیکی گسترش‌یافته MIPS (XPA). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های XPA را بپذیرد. -mno-xpa این گزینه را غیرفعال می‌کند. -mmt -mno-mt تولید کد برای افزونه با کاربرد خاص MT. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MT را بپذیرد. -mno-mt این گزینه را غیرفعال می‌کند. -mmcu -mno-mcu تولید کد برای افزونه با کاربرد خاص MCU. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MCU را بپذیرد. -mno-mcu این گزینه را غیرفعال می‌کند. -mcrc -mno-crc تولید کد برای افزونه با کاربرد خاص بررسی افزونگی چرخه‌ای (CRC) در MIPS. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های CRC را بپذیرد. -mno-crc این گزینه را غیرفعال می‌کند. -mginv -mno-ginv تولید کد برای افزونه با کاربرد خاص باطل‌سازی سراسری (GINV). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های GINV را بپذیرد. -mno-ginv این گزینه را غیرفعال می‌کند. -mloongson-mmi -mno-loongson-mmi تولید کد برای افزونه با کاربرد خاص دستورالعمل‌های چندرسانه‌ای لونگ‌سان (Loongson MMI). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MMI را بپذیرد. -mno-loongson-mmi این گزینه را غیرفعال می‌کند. -mloongson-cam -mno-loongson-cam تولید کد برای دستورالعمل‌های حافظه با آدرس‌دهی محتوا (CAM) در Loongson. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های Loongson CAM را بپذیرد. -mno-loongson-cam این گزینه را غیرفعال می‌کند. -mloongson-ext -mno-loongson-ext تولید کد برای دستورالعمل‌های افزونه‌های لونگ‌سان (Loongson EXT). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های Loongson EXT را بپذیرد. -mno-loongson-ext این گزینه را غیرفعال می‌کند. -mloongson-ext2 -mno-loongson-ext2 تولید کد برای دستورالعمل‌های افزونه‌های نسخه ۲ لونگ‌سان (Loongson EXT2). این گزینه متضمن -mloongson-ext است. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های Loongson EXT2 را بپذیرد. -mno-loongson-ext2 این گزینه را غیرفعال می‌کند. -minsn32 -mno-insn32 هنگام تولید کد برای پردازندهٔ microMIPS، تنها از کدگذاری‌های ۳۲ بیتی دستورالعمل استفاده می‌کند. این گزینه مانع از استفاده از هرگونه دستورالعمل ۱۶ بیتی می‌شود. این معادل قرار دادن ".set insn32" در ابتدای فایل اسمبلی است. -mno-insn32 این گزینه را غیرفعال می‌کند. این معادل قرار دادن ".set noinsn32" در ابتدای فایل اسمبلی است. به‌طور پیش‌فرض -mno-insn32 انتخاب شده است که اجازه می‌دهد تمام دستورالعمل‌ها استفاده شوند. --construct-floats --no-construct-floats گزینهٔ --no-construct-floats ساخت ثوابت ممیز شناور با عرض دوگانه را از طریق بارگذاری دو نیمهٔ مقدار در دو ثبات ممیز شناور با عرض تکی که ثبات با عرض دوگانه را تشکیل می‌دهند، غیرفعال می‌کند. به‌طور پیش‌فرض --construct-floats انتخاب شده است که امکان ساخت این ثوابت ممیز شناور را فراهم می‌کند. --relax-branch --no-relax-branch گزینهٔ --relax-branch تعدیل و انبساط شاخه‌های خارج از محدوده (branch relaxation) را فعال می‌کند. به‌طور پیش‌فرض --no-relax-branch انتخاب شده است، که باعث می‌شود هر شاخهٔ خارج از محدوده خطایی تولید کند. -mignore-branch-isa -mno-ignore-branch-isa بررسی‌های شاخه برای گذارهای نامعتبر میان حالت‌های ISA را نادیده می‌گیرد. معناشناسی شاخه‌ها امکان تعویض حالت ISA را فراهم نمی‌کند، بنابراین در بیشتر موارد حالت ISA که یک شاخه برای آن کدگذاری شده است باید با حالت ISA برچسب هدفِ شاخه یکسان باشد. از این رو GAS بررسی‌هایی پیاده‌سازی کرده است که در زمان اسمبلی شاخه، تطابق این دو حالت ISA را اعتبارسنجی می‌کند. -mignore-branch-isa این بررسی‌ها را غیرفعال می‌سازد. به‌طور پیش‌فرض -mno-ignore-branch-isa انتخاب شده است، که باعث می‌شود هر شاخهٔ نامعتبر که نیازمند گذار میان حالت‌های ISA باشد، یک خطا ایجاد کند..IP -mnan=encoding 4 انتخاب میان قالب‌های کدگذاری NaN استاندارد IEEE 754-2008 (-mnan=2008) یا موروثی (-mnan=legacy). مورد دوم، پیش‌فرض است. --emulation=name این گزینه سابقاً برای جابه‌جایی میان خروجی ELF و ECOFF در مقصدهایی مانند IRIX 5 که از هر دو پشتیبانی می‌کردند استفاده می‌شد. پشتیبانی از MIPS ECOFF در GAS 2.24 حذف شد، بنابراین این گزینه اکنون کاربرد چندانی ندارد. این گزینه صرفاً برای سازگاری با گذشته حفظ شده است. نام‌های پیکربندی در دسترس عبارتند از: mipself، mipslelf و mipsbelf. انتخاب mipself اکنون هیچ اثری ندارد، چرا که خروجی همیشه ELF است. mipslelf و mipsbelf به‌ترتیب خروجی‌های little- و big-endian را انتخاب می‌کنند، اما اکنون گزینه‌های -EL و -EB به‌جای آن‌ها ترجیح داده می‌شوند. -nocpp دستور as این گزینه را نادیده می‌گیرد. این گزینه برای سازگاری با ابزارهای بومی پذیرفته می‌شود. --trap --no-trap --break --no-break کنترل نحوه برخورد با سرریز ضرب و تقسیم بر صفر. --trap یا --no-break (که مترادف یکدیگرند) یک استثنای trap ایجاد می‌کنند (و تنها برای معماری مجموعه دستورالعمل‌های سطح ۲ و بالاتر کار می‌کنند)؛ --break یا --no-trap (نیز مترادف یکدیگر و حالت پیش‌فرض) یک استثنای break ایجاد می‌کنند. -n هنگامی که از این گزینه استفاده شود، as هربار که یک دستور nop از یک ماکرو تولید کند، هشداری صادر خواهد کرد. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده LoongArch پیکربندی شده باشد. -fpic -fPIC تولید کد مستقل از موقعیت (PIC) -fno-pic عدم تولید کد مستقل از موقعیت (پیش‌فرض) گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده Meta پیکربندی شده باشد. "-mcpu=metac11" تولید کد برای Meta 1.1. "-mcpu=metac12" تولید کد برای Meta 1.2. "-mcpu=metac21" تولید کد برای Meta 2.1. "-mfpu=metac21" اجازه به کد برای استفاده از سخت‌افزار FPU در Meta 2.1. برای مستندات گزینه‌های مختص MMIX، به صفحات info مراجعه کنید. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده NDS32 پیکربندی شده باشد. "-O1" بهینه‌سازی برای کارایی و سرعت. "-Os" بهینه‌سازی برای فضا و حجم کد. "-EL" تولید خروجی داده little-endian. "-EB" تولید خروجی داده little-endian. "-mpic" تولید PIC. "-mno-fp-as-gp-relax" بازداری از fp-as-gp relaxation برای این فایل. "-mb2bb-relax" بهینه‌سازی انشعاب‌های پشت‌سرهم (Back-to-back). "-mno-all-relax" بازداری از تمام بهینه‌سازی‌های relaxation برای این فایل. "-march=" اسمبل کردن برای معماری که می‌تواند v3، v3j، v3m، v3f، v3s، v2، v2j، v2f یا v2s باشد. "-mbaseline=" اسمبل کردن برای خط مبنای که می‌تواند v2، v3، v3m باشد. "-mfpu-freg=FREG" مشخص کردن پیکربندی FPU. "0 8 SP / 4 DP registers" "1 16 SP / 8 DP registers" "2 32 SP / 16 DP registers" "3 32 SP / 32 DP registers" "-mabi=abi" مشخص کردن نسخه abi؛ مقدار می‌تواند v1، v2، v2fp یا v2fpp باشد. "-m[no-]mac" فعال/غیرفعال کردن پشتیبانی از دستورالعمل‌های ضرب (Multiply). "-m[no-]div" فعال/غیرفعال کردن پشتیبانی از دستورالعمل‌های تقسیم (Divide). "-m[no-]16bit-ext" فعال/غیرفعال کردن افزونه ۱۶ بیتی "-m[no-]dx-regs" فعال/غیرفعال کردن ثبات‌های d0/d1 "-m[no-]perf-ext" فعال/غیرفعال کردن افزونه کارایی (Performance) "-m[no-]perf2-ext" فعال/غیرفعال کردن افزونه کارایی ۲ (Performance 2) "-m[no-]string-ext" فعال/غیرفعال کردن افزونه رشته (String) "-m[no-]reduced-regs" فعال/غیرفعال کردن گزینه پیکربندی ثبات‌های تقلیل‌یافته (GPR16) "-m[no-]audio-isa-ext" فعال/غیرفعال کردن افزونه دستورالعمل‌های صوتی (AUDIO ISA) "-m[no-]fpu-sp-ext" فعال/غیرفعال کردن افزونه FPU SP "-m[no-]fpu-dp-ext" فعال/غیرفعال کردن افزونه FPU DP "-m[no-]fpu-fma" فعال/غیرفعال کردن دستورالعمل‌های fused-multiply-add در FPU "-mall-ext" فعال کردن پشتیبانی از تمام افزونه‌ها و دستورالعمل‌ها گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده PowerPC پیکربندی شده باشد. -a32 تولید خروجی ELF32 یا XCOFF32..IP -a64 4 تولید ELF64 یا XCOFF64. -K PIC تنظیم EF_PPC_RELOCATABLE_LIB در پرچم‌های ELF. -mpwrx | -mpwr2 تولید کد برای POWER/2 (RIOS2). -mpwr تولید کد برای POWER (RIOS1). -m601 تولید کد برای PowerPC 601. -mppc, -mppc32, -m603, -m604 تولید کد برای PowerPC 603/604. -m403, -m405 تولید کد برای PowerPC 403/405. -m440 تولید کد برای PowerPC 440. دستورالعمل‌های BookE و برخی دستورالعمل‌های 405. -m464 تولید کد برای PowerPC 464. -m476 تولید کد برای PowerPC 476. -m7400, -m7410, -m7450, -m7455 تولید کد برای PowerPC 7400/7410/7450/7455. -m750cl, -mgekko, -mbroadway تولید کد برای PowerPC 750CL/Gekko/Broadway. -m821, -m850, -m860 تولید کد برای PowerPC 821/850/860. -mppc64, -m620 تولید کد برای PowerPC 620/625/630. -me200z2, -me200z4 تولید کد برای گونه‌های e200؛ e200z2 همراه با LSP، و e200z4 همراه با SPE. -me300 تولید کد برای خانوادهٔ PowerPC e300. -me500, -me500x2 تولید کد برای مجتمع هستهٔ Motorola e500. -me500mc تولید کد برای مجتمع هستهٔ Freescale e500mc. -me500mc64 تولید کد برای مجتمع هستهٔ Freescale e500mc64. -me5500 تولید کد برای مجتمع هستهٔ Freescale e5500. -me6500 تولید کد برای مجتمع هستهٔ Freescale e6500. -mlsp فعال‌سازی دستورالعمل‌های LSP. (غیرفعال‌سازی SPE و SPE2.) -mspe تولید کد برای دستورالعمل‌های Motorola SPE. (غیرفعال‌سازی LSP.) -mspe2 تولید کد برای دستورالعمل‌های Freescale SPE2. (غیرفعال‌سازی LSP.) -mtitan تولید کد برای مجتمع هستهٔ AppliedMicro Titan. -mppc64bridge تولید کد برای PowerPC 64، شامل دستورالعمل‌های bridge. -mbooke تولید کد برای BookE ۳۲-بیتی. -ma2 تولید کد برای معماری A2. -maltivec تولید کد برای پردازنده‌های دارای دستورالعمل‌های AltiVec. -mvle تولید کد برای دستورالعمل‌های Freescale PowerPC VLE. -mvsx تولید کد برای پردازنده‌های دارای دستورالعمل‌های Vector-Scalar (VSX). -mhtm تولید کد برای پردازنده‌های دارای دستورالعمل‌های حافظهٔ تراکنشی سخت‌افزاری (Hardware Transactional Memory). -mpower4, -mpwr4 تولید کد برای معماری Power4. -mpower5, -mpwr5, -mpwr5x تولید کد برای معماری Power5. -mpower6, -mpwr6 تولید کد برای معماری Power6. -mpower7, -mpwr7 تولید کد برای معماری Power7. -mpower8, -mpwr8 تولید کد برای معماری Power8. -mpower9, -mpwr9 تولید کد برای معماری Power9. -mpower10, -mpwr10 تولید کد برای معماری Power10. -mpower11, -mpwr11 تولید کد برای معماری Power11. -mfuture تولید کد برای معماری 'future'. -mcell -mcell تولید کد برای معماری Cell Broadband Engine. -mcom تولید کد برای دستورالعمل‌های مشترک Power/PowerPC. -many تولید کد برای هر معماری‌ای (PWR/PWRX/PPC). -mregnames مجاز شمردن نام‌های نمادین برای ثبات‌ها. -mno-regnames غیرمجاز بودن نام‌های نمادین برای ثبات‌ها. -mrelocatable پشتیبانی از گزینهٔ -mrelocatable در GCC. -mrelocatable-lib پشتیبانی از گزینهٔ -mrelocatable-lib در GCC. -memb تنظیم بیت PPC_EMB در پرچم‌های ELF. -mlittle, -mlittle-endian, -le تولید کد برای یک ماشین اندیان کوچک (little endian). -mbig, -mbig-endian, -be تولید کد برای یک ماشین اندیان بزرگ (big endian). -msolaris تولید کد برای Solaris. -mno-solaris عدم تولید کد برای Solaris. -nops=count اگر یک دستورالعمل هم‌ترازی بیش از count دستور nop درج کند، یک شاخه در ابتدا قرار می‌دهد تا از اجرای این nopها صرف‌نظر شود. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ RISC-V پیکربندی شده باشد. -fpic -fPIC تولید کد مستقل از موقعیت (position-independent). -fno-pic عدم تولید کد مستقل از موقعیت (پیش‌فرض). -march=ISA|Profiles|Profiles_ISA انتخاب isa پایه، به شکلی که توسط ISA یا Profiles یا Profiles_ISA مشخص شده است. برای نمونه -march=rv32ima -march=RVI20U64 -march=RVI20U64_d. اگر این گزینه و صفت‌های معماری تنظیم نشده باشند، اسمبلر تنظیم پیش‌فرض پیکربندی --with-arch=ISA را بررسی خواهد کرد. -misa-spec=ISAspec انتخاب نسخهٔ پیش‌فرض مشخصات (spec) مربوط به isa. اگر نسخهٔ ISA توسط -march تعیین نشده باشد، اسمبلر به تنظیم نسخه بر اساس مشخصات پیش‌فرضِ انتخاب‌شده کمک می‌کند. اگر این گزینه تنظیم نشده باشد، اسمبلر تنظیم پیش‌فرض پیکربندی --with-isa-spec=ISAspec را بررسی خواهد کرد. -mpriv-spec=PRIVspec انتخاب نسخهٔ مشخصات سطح دسترسی (privileged spec). بر اساس مشخصات انتخاب‌شده می‌توان معتبر بودن یا نبودن CSR را تعیین کرد. اگر این گزینه و صفت‌های سطح دسترسی تنظیم نشده باشند، اسمبلر تنظیم پیش‌فرض پیکربندی --with-priv-spec=PRIVspec را بررسی خواهد کرد. -mabi=ABI انتخاب ABI، که یا "ilp32" است یا "lp64"، و می‌تواند به صورت اختیاری با "f" ،"d" یا "q" دنبال شود تا قرارداد فراخوانی ممیز شناور با دقت یگانه (single-precision)، دقت دوگانه (double-precision) یا دقت چهارگانه (quad-precision) را مشخص کند؛ یا هیچ‌کدام یا "e" برای مشخص کردن قرارداد فراخوانی ممیز شناور نرم‌افزاری (soft-float) باشد ("e" نشان‌دهندهٔ ABI از نوع soft-float RVE است)..IP -mrelax 4 بهره‌گیری از ساده‌سازی‌های پیونددهنده (linker relaxations) به منظور کاهش تعداد دستورالعمل‌های مورد نیاز برای محقق‌سازی آدرس‌های نماد. (پیش‌فرض) -mno-relax ساده‌سازی‌های پیونددهنده را انجام نمی‌دهد. -march-attr تولید محتوای پیش‌فرض برای بخش ویژگی‌های riscv elf در صورتی که دایرکتیوهای .attribute تنظیم نشده باشند. این بخش برای ثبت اطلاعاتی به کار می‌رود که پیونددهنده یا بارگذار زمان اجرا (runtime loader) برای بررسی سازگاری به آن نیاز دارند. این اطلاعات شامل رشته ISA، نیازمندی تراز پشته (stack alignment)، دسترسی‌های حافظه ترازنشده، و نگارش‌های اصلی، فرعی و بازبینی مشخصات ممتاز (privileged specification) است. -mno-arch-attr در صورتی که دایرکتیوهای .attribute تنظیم نشده باشند، بخش ویژگی‌های پیش‌فرض riscv elf را تولید نمی‌کند. -mcsr-check فعال‌سازی بررسی CSR برای CSRهای وابسته به ISA و CSRهای فقط‌خواندنی. CSRهای وابسته به ISA تنها زمانی معتبر هستند که ISA مشخص‌شده تنظیم شده باشد. CSRهای فقط‌خواندنی نمی‌توانند توسط دستورالعمل‌های CSR بازنویسی شوند. -mno-csr-check بررسی CSR را انجام نمی‌دهد. -mlittle-endian تولید کد برای یک ماشین با ترتیب بایت اندیان کوچک (little-endian). -mbig-endian تولید کد برای یک ماشین با ترتیب بایت اندیان بزرگ (big-endian). برای مستندات گزینه‌های ویژه RX، صفحات info را مشاهده کنید. گزینه‌های زیر هنگامی در دسترس هستند که as برای خانواده پردازنده‌های s390 پیکربندی شده باشد. -m31 -m64 انتخاب اندازه کلمه، یا ۳۱/۳۲ بیت یا ۶۴ بیت. -mesa -mzarch انتخاب حالت معماری، یا Enterprise System Architecture (esa) یا حالت z/Architecture (zarch). -march=processor مشخص می‌کند کدام گونه پردازنده s390 هدف است: g5 (یا arch3)، g6، z900 (یا arch5)، z990 (یا arch6)، z9-109، z9-ec (یا arch7)، z10 (یا arch8)، z196 (یا arch9)، zEC12 (یا arch10)، z13 (یا arch11)، z14 (یا arch12)، z15 (یا arch13)، z16 (یا arch14)، یا z17 (یا arch15). -mregnames -mno-regnames مجاز یا غیرمجاز کردن استفاده از نام‌های نمادین برای ثبات‌ها. -mwarn-areg-zero هشدار دادن هر زمان که عملوند یک ثبات پایه (base) یا شاخص (index) مشخص شده باشد اما مقدار آن صفر ارزیابی شود. -mwarn-regtype-mismatch=strict -mwarn-regtype-mismatch=relaxed -mwarn-regtype-mismatch=no -mno-warn-regtype-mismatch کنترل می‌کند که آیا اسمبلر بررسی نوع نام ثبات را انجام دهد و در صورت عدم تطابق با نوع ثبات عملوند، یک پیام هشدار صادر کند یا خیر. حالت پیش‌فرض (که می‌تواند با استفاده از آرگومان relaxed بازیابی شود) انجام بررسی‌های نوع نام ثبات به‌صورت سهل‌گیرانه است، که به نام‌های ثبات ممیز شناور (FPR) از %f0 تا %f15 اجازه می‌دهد تا به عنوان آرگومان برای عملوندهای ثبات برداری (VR) مشخص شوند و به نام‌های ثبات برداری (VR) از %v0 تا %v15 اجازه می‌دهد تا به عنوان آرگومان برای عملوندهای ثبات ممیز شناور (FPR) مشخص شوند. این موضوع قابل قبول است زیرا FPRها در نیمه پایینی VR تعبیه شده‌اند. با استفاده از آرگومان strict، بررسی‌های نوع نام ثبات به‌صورت سخت‌گیرانه انجام می‌شود. آرگومان no که معادل با -mno-warn-regtype-mismatch است، هرگونه بررسی نوع نام ثبات را غیرفعال می‌کند. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده TMS320C6000 پیکربندی شده باشد. -march=arch فعال‌سازی (تنها) دستورالعمل‌های معماری arch. به‌طور پیش‌فرض، تمام دستورالعمل‌ها مجاز هستند. مقادیر زیر برای arch پذیرفته می‌شوند: "c62x"، "c64x"، "c64x+"، "c67x"، "c67x+"، "c674x". -mdsbt -mno-dsbt گزینه -mdsbt باعث می‌شود اسمبلر ویژگی "Tag_ABI_DSBT" را با مقدار 1 تولید کند که نشان‌دهنده استفاده کد از آدرس‌دهی DSBT است. گزینه -mno-dsbt که پیش‌فرض است، باعث می‌شود این برچسب مقدار 0 داشته باشد که نشان می‌دهد کد از آدرس‌دهی DSBT استفاده نمی‌کند. پیونددهنده در صورتی که شیءهایی (objects) از انواع مختلف (DSBT و غیر DSBT) با یکدیگر پیوند داده شوند، یک هشدار صادر خواهد کرد. -mpid=no -mpid=near -mpid=far گزینه -mpid= باعث می‌شود اسمبلر ویژگی "Tag_ABI_PID" را با مقداری تولید کند که بیانگر شکل آدرس‌دهی داده‌های مورد استفاده توسط کد است. -mpid=no که پیش‌فرض است، نشان‌دهنده آدرس‌دهی داده وابسته به مکان است؛ -mpid=near نشان‌دهنده آدرس‌دهی مستقل از مکان با دسترسی‌های GOT با استفاده از آدرس‌دهی نزدیک DP است؛ و -mpid=far نشان‌دهنده آدرس‌دهی مستقل از مکان با دسترسی‌های GOT با استفاده از آدرس‌دهی دور DP است. پیونددهنده در صورتی که شیءهای ساخته‌شده با تنظیمات مختلف این گزینه با یکدیگر پیوند داده شوند، هشدار صادر خواهد کرد. -mpic -mno-pic گزینه -mpic باعث می‌شود اسمبلر ویژگی "Tag_ABI_PIC" را با مقدار 1 تولید کند که نشان‌دهنده استفاده کد از آدرس‌دهی کد مستقل از مکان است. گزینه "-mno-pic" که پیش‌فرض است، باعث می‌شود این برچسب مقدار 0 داشته باشد که نشان‌دهنده آدرس‌دهی کد وابسته به مکان است. پیونددهنده در صورتی که شیءهایی از انواع مختلف (وابسته به مکان و مستقل از مکان) با یکدیگر پیوند داده شوند، هشدار صادر خواهد کرد. -mbig-endian -mlittle-endian تولید کد برای ترتیب بایت مشخص‌شده. مقدار پیش‌فرض little-endian است. گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده TILE-Gx پیکربندی شده باشد. -m32 | -m64 انتخاب اندازه کلمه، یا ۳۲ بیت یا ۶۴ بیت. -EB | -EL انتخاب ترتیب بایت، یا اندیان بزرگ (-EB) یا اندیان کوچک (-EL). گزینه زیر هنگامی در دسترس است که as برای یک پردازنده Visium پیکربندی شده باشد. -mtune=arch این گزینه معماری هدف را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی معماری هدف اجرا نمی‌شود، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های زیر شناخته می‌شوند: "mcm24" "mcm" "gr5" "gr6" گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازنده Xtensa پیکربندی شده باشد. --text-section-literals | --no-text-section-literals نحوه مدیریت مخازن لیترال (literal pools) را کنترل می‌کند. مقدار پیش‌فرض --no-text-section-literals است که لیترال‌ها را در بخش‌های جداگانه‌ای در فایل خروجی قرار می‌دهد. این کار اجازه می‌دهد مخزن لیترال در یک RAM/ROM داده قرار گیرد. با استفاده از --text-section-literals، لیترال‌ها در بخش text پراکنده می‌شوند تا در نزدیک‌ترین حالت ممکن به مراجع خود نگه داشته شوند. این امر ممکن است برای فایل‌های اسمبلی بزرگ ضروری باشد، جایی که در غیر این صورت لیترال‌ها خارج از محدوده دسترس دستورالعمل‌های "L32R" در بخش text قرار می‌گیرند. لیترال‌ها در پی دایرکتیوهای ".literal_position" یا پیش از دستورالعمل‌های "ENTRY" در مخازن دسته‌بندی می‌شوند. این گزینه‌ها تنها بر لیترال‌هایی تأثیر می‌گذارند که از طریق دستورالعمل‌های نسبی به شمارنده برنامه (PC-relative) "L32R" به آن‌ها ارجاع داده شده است؛ لیترال‌های مربوط به حالت مطلق دستورالعمل‌های "L32R" به‌طور جداگانه مدیریت می‌شوند. --auto-litpools | --no-auto-litpools نحوه مدیریت مخازن لیترال را کنترل می‌کند. مقدار پیش‌فرض --no-auto-litpools است که در صورت نبود --text-section-literals، لیترال‌ها را در بخش‌های جداگانه‌ای در فایل خروجی قرار می‌دهد. این کار اجازه می‌دهد مخزن لیترال در یک داده RAM/ROM قرار گیرد. با استفاده از --auto-litpools، لیترال‌ها در بخش text پراکنده می‌شوند تا تا حد امکان نزدیک به مراجع خود نگه داشته شوند و نیازی به دایرکتیوهای صریح ".literal_position" نیست. این امر ممکن است برای توابع بسیار بزرگ ضروری باشد، جایی که یک مخزن لیترال منفرد در ابتدای تابع ممکن است برای دستورالعمل‌های "L32R" در انتهای آن قابل دسترسی نباشد. این گزینه‌ها تنها بر لیترال‌هایی تأثیر می‌گذارند که از طریق دستورالعمل‌های نسبی به شمارنده برنامه (PC-relative) "L32R" به آن‌ها ارجاع داده شده است؛ لیترال‌های مربوط به حالت مطلق دستورالعمل‌های "L32R" به‌طور جداگانه مدیریت می‌شوند. هنگامی که این گزینه همراه با --text-section-literals استفاده شود، --auto-litpools اولویت دارد..IP "--absolute-literals | --no-absolute-literals" 4 مشخص می‌کند که آیا دستورالعمل‌های "L32R" از آدرس‌دهی مطلق استفاده کنند یا وابسته به PC (PC-relative). اگر پردازنده دارای گزینهٔ آدرس‌دهی مطلق باشد، حالت پیش‌فرض استفاده از بازنشانی‌های (relocations) مطلق "L32R" است. در غیر این صورت، تنها بازنشانی‌های وابسته به PC برای "L32R" می‌توانند استفاده شوند. --target-align | --no-target-align فعال یا غیرفعال کردن ترازسازی خودکار برای کاهش جریمه‌های انشعاب (branch penalties) به بهای افزایش اندک حجم کد. این بهینه‌سازی به طور پیش‌فرض فعال است. توجه داشته باشید که اسمبلر همواره دستورالعمل‌هایی مانند "LOOP" را که نیازمندی‌های ترازسازی ثابتی دارند، تراز خواهد کرد. --longcalls | --no-longcalls فعال یا غیرفعال کردن تبدیل دستورالعمل‌های فراخوانی (call) برای امکان‌پذیر ساختن فراخوانی‌ها در گسترهٔ بزرگ‌تری از آدرس‌ها. این گزینه باید زمانی استفاده شود که مقصدهای فراخوانی ممکن است خارج از محدوده باشند. این کار ممکن است هم اندازهٔ کد و هم کارایی را کاهش دهد، اما پیونددهنده (linker) عموماً می‌تواند در صورتی که فراخوانی در نهایت در محدوده قرار گیرد، سربار غیرضروری را بهینه‌سازی و حذف کند. پیش‌فرض --no-longcalls است. --transform | --no-transform فعال یا غیرفعال کردن تمام تبدیلات اسمبلر روی دستورالعمل‌های Xtensa، شامل هر دو مورد آرام‌سازی (relaxation) و بهینه‌سازی. پیش‌فرض --transform است؛ --no-transform باید تنها در موارد نادری به کار رود که دستورالعمل‌ها باید دقیقاً مطابق با آنچه در کد منبع اسمبلی مشخص شده باشند. استفاده از --no-transform باعث می‌شود عملوندهای دستورالعمل خارج از محدوده به عنوان خطا در نظر گرفته شوند. --rename-section oldname=newname تغییر نام بخش oldname به newname. از این گزینه می‌توان چندین بار برای تغییر نام چندین بخش استفاده کرد. --trampolines | --no-trampolines فعال یا غیرفعال کردن تبدیل دستورالعمل‌های پرش (jump) برای امکان‌پذیر ساختن پرش‌ها در گسترهٔ بزرگ‌تری از آدرس‌ها. این گزینه باید زمانی استفاده شود که مقصدهای پرش ممکن است خارج از محدوده باشند. در صورت نبود چنین پرش‌هایی، این گزینه اثری بر اندازهٔ کد یا کارایی نخواهد داشت. مقدار پیش‌فرض --trampolines است. --abi-windowed | --abi-call0 انتخاب برچسب ABI که در بخش ".xtensa.info" نوشته می‌شود. برچسب ABI، نوع ABI کد اسمبلی را مشخص می‌کند. در صورت تلاش برای پیوند دادن فایل‌های شیء با برچسب‌های ABI ناسازگار، هشداری از سوی پیونددهنده صادر می‌شود. ABI پیش‌فرض توسط پیکربندی هستهٔ Xtensa انتخاب می‌شود. گزینه‌های زیر هنگامی که as برای پردازندهٔ Z80 پیکربندی شده باشد در دسترس هستند. @chapter ویژگی‌های وابسته به Z80 گزینه‌های خط فرمان (Command-line Options) -march=CPU[-EXT...][+EXT...] این گزینه پردازندهٔ هدف را تعیین می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که بر روی پردازندهٔ هدف اجرا نخواهد شد، اسمبلر پیغامی مبنی بر خطا صادر خواهد کرد. نام پردازنده‌های زیر شناخته‌شده هستند: "z80"، "z180"، "ez80"، "gbz80"، "z80n"، "r800". علاوه بر مجموعه دستورالعمل پایه، می‌توان به اسمبلر اعلام کرد که برخی یادافزارهای (mnemonics) افزونه را نیز بپذیرد. برای مثال، "-march=z180+sli+infc" دستورالعمل‌های SLI و IN F,(C) را به z180 می‌افزاید. افزونه‌های زیر در حال حاضر پشتیبانی می‌شوند: "full" (همهٔ دستورالعمل‌های شناخته‌شده)، "adl" (حالت پردازندهٔ ADL به طور پیش‌فرض، فقط برای eZ80)، "sli" (دستورالعملی که با نام SLI، SLL یا SL1 شناخته می‌شود)، "xyhl" (دستورالعمل‌ها با نیمه‌های ثبات‌های شاخص: IXL، IXH، IYL، IYH)، "xdcb" (دستورالعمل‌هایی مانند RotOp (II+d),R و BitOp n,(II+d),R)، "infc" (دستورالعمل IN F,(C) یا IN (C))، "outc0" (دستورالعمل OUT (C),0). توجه داشته باشید که برخلاف افزودن به مجموعه دستورالعمل‌های پایه، یادافزارهای افزونه که با "-" آغاز می‌شوند قابلیت مربوطه را لغو می‌کنند: "-march=z80-full+xyhl" ابتدا تمام افزونه‌های پیش‌فرض را حذف کرده و سپس فقط پشتیبانی از نیمه‌های ثبات‌های شاخص را اضافه می‌کند. اگر این گزینه مشخص نشود، مقدار پیش‌فرض "-march=z80+xyhl+infc" در نظر گرفته می‌شود. -local-prefix=prefix تمام برچسب‌ها با پیشوند مشخص‌شده را به عنوان محلی (local) علامت‌گذاری می‌کند. با این حال چنین برچسبی می‌تواند به طور صریح در کد به عنوان سراسری (global) مشخص شود. این گزینه پیشوند پیش‌فرض برچسب محلی ".L" را تغییر نمی‌دهد، بلکه فقط پیشوند جدیدی اضافه می‌کند. -colonless پذیرش برچسب‌های بدون دونقطه (:). تمام نمادها در ابتدای خط به عنوان برچسب در نظر گرفته می‌شوند. -sdcc پذیرش کد اسمبلی تولیدشده توسط SDCC. -fp-s=FORMAT قالب اعداد ممیز شناور با دقت یگانه. پیش‌فرض: ieee754 (۳۲ بیتی). -fp-d=FORMAT قالب اعداد ممیز شناور با دقت مضاعف. پیش‌فرض: ieee754 (۶۴ بیتی). همچنین ببینید (SEE ALSO) gcc(1)، ld(1) و مدخل‌های Info برای binutils و ld. کپی‌رایت و تکثیر (COPYRIGHT) Copyright (c) 1991-2025 Free Software Foundation, Inc. اجازهٔ کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ متأخر دیگری که توسط بنیاد نرم‌افزارهای آزاد منتشر شده است، بدون بخش‌های تغییرناپذیر، بدون متون روی جلد و بدون متون پشت جلد اعطا می‌شود. نسخه‌ای از این مجوز در بخشی با عنوان «GNU Free Documentation License» گنجانده شده است. binutils-2.45.1 2026-01-23 AS(1)