AS(1) GNU Development Tools AS(1) نام (NAME) loongarch64-linux-gnu-as - اسمبلر چندسکویی گنو برای معماری LoongArch خلاصه دستور (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]] [--gsframe-3] [--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] [--reloc-section-sym=[all|internal|none]] [--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] گزینه‌های هدف 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] [-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] توضیحات (DESCRIPTION) در واقع، GNU as خانواده‌ای از اسمبلرها است. اگر از اسمبلر GNU روی یک معماری استفاده می‌کنید (یا قبلاً استفاده کرده‌اید)، هنگام استفاده از آن روی معماری دیگر با محیط نسبتاً مشابهی روبرو خواهید شد. هر نسخه اشتراکات فراوانی با نسخه‌های دیگر دارد، از جمله قالب‌های فایل شیء (object file)، بیشتر دستورالعمل‌های اسمبلر (که اغلب pseudo-ops یا شبه‌دستور نامیده می‌شوند) و نحو (syntax) اسمبلر. هدف اصلی as اسمبل کردن خروجی کامپایلر C گنو، "gcc"، برای استفاده توسط پیونددهنده "ld" است. با این حال، تلاش شده است تا as هر آنچه را که دیگر اسمبلرهای همان ماشین اسمبل می‌کنند، به درستی اسمبل کند. هرگونه استثنا به‌طور صریح مستند شده است. این بدان معنا نیست که as همیشه از همان نحوی استفاده می‌کند که اسمبلر دیگری برای همان معماری به کار می‌برد؛ برای مثال، چندین نسخه ناسازگار از نحو زبان اسمبلی 680x0 شناخته شده است. هر بار که as را اجرا می‌کنید، دقیقاً یک برنامه مبدأ را اسمبل می‌کند. برنامه مبدأ از یک یا چند فایل تشکیل شده است. (ورودی استاندارد نیز یک فایل محسوب می‌شود.) شما به as یک خط فرمان می‌دهید که شامل صفر یا چند نام فایل ورودی است. فایل‌های ورودی (از نام فایل سمت چپ به راست) خوانده می‌شوند. هر آرگومان خط فرمان (در هر موقعیتی) که معنای خاصی نداشته باشد، به عنوان نام فایل ورودی در نظر گرفته می‌شود. اگر هیچ نام فایلی به as ندهید، تلاش می‌کند یک فایل ورودی را از ورودی استاندارد as بخواند که معمولاً ترمینال شما است. ممکن است لازم باشد ctl-D را وارد کنید تا به as اعلام کنید برنامه‌ای برای اسمبل کردن باقی نمانده است. اگر نیاز دارید صراحتاً فایل ورودی استاندارد را در خط فرمان خود مشخص کنید، از -- استفاده کنید. اگر مبدأ خالی باشد، as یک فایل شیء کوچک و خالی تولید می‌کند. ممکن است as هشدارها و پیام‌های خطا را در فایل خطای استاندارد (معمولاً ترمینال شما) بنویسد. زمانی که یک کامپایلر as را به‌طور خودکار اجرا می‌کند، نباید چنین اتفاقی بیفتد. هشدارها فرضیاتی را گزارش می‌دهند که برای ادامه اسمبل یک برنامه ناقص توسط as اتخاذ شده‌اند؛ خطاها مشکلات جدی را گزارش می‌دهند که فرایند اسمبل را متوقف می‌سازد. اگر as را از طریق کامپایلر C گنو فراخوانی می‌کنید، می‌توانید از گزینه -Wa برای ارسال آرگومان‌ها به اسمبلر استفاده کنید. آرگومان‌های اسمبلر باید با کاما از یکدیگر (و از -Wa) جدا شوند. برای مثال: gcc -c -g -O -Wa,-alh,-L file.c این دستور دو گزینه را به اسمبلر ارسال می‌کند: -alh (انتشار فهرستی در خروجی استاندارد شامل کد مبدأ سطح‌بالا و کد اسمبلی) و -L (نگه‌داشتن نمادهای داخلی در جدول نمادها). معمولاً نیازی به استفاده از این سازوکار -Wa ندارید، زیرا بسیاری از گزینه‌های خط فرمان کامپایلر به‌طور خودکار توسط کامپایلر به اسمبلر ارسال می‌شوند. (می‌توانید گرداننده کامپایلر گنو را با گزینه -v فراخوانی کنید تا دقیقاً ببینید چه گزینه‌هایی را به هر مرحله کامپایل، از جمله اسمبلر، ارسال می‌کند.) گزینه‌ها (OPTIONS) @file گزینه‌های خط فرمان را از file می‌خواند. گزینه‌های خوانده‌شده به جای گزینه اصلی @file درج می‌شوند. اگر file وجود نداشته باشد یا خوانده نشود، با گزینه به صورت لغوی برخورد شده و حذف نخواهد شد. گزینه‌ها در file با نویسه‌های فاصله از هم جدا می‌شوند. یک نویسه فاصله را می‌توان با احاطه کردن کل گزینه درون نقل‌قول تکی یا دوتایی گنجاند. هر نویسه‌ای (از جمله بک‌اسلش) را می‌توان با درج یک پیشوند بک‌اسلش قبل از آن وارد کرد. خود file ممکن است شامل گزینه‌های @file اضافی باشد؛ هر یک از این گزینه‌ها به‌طور بازگشتی پردازش خواهند شد. -a[cdghilmns] فعال‌سازی فهرست‌بندی به روش‌های گوناگون: -ac صرف‌نظر از شرطی‌های نادرست -ad صرف‌نظر از رهنمودهای اشکال‌زدایی -ag شامل اطلاعات عمومی، مانند نسخه as و گزینه‌های ارسال‌شده -ah شامل کد مبدأ سطح‌بالا -al شامل کد اسمبلی -ali شامل کد اسمبلی همراه با ginsn -am شامل بسط‌های ماکرو -an صرف‌نظر از پردازش فرم‌ها (forms) -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 «سریع» (fast)---رد شدن از پیش‌پردازش فاصله‌ها و توضیحات (با این فرض که کد مبدأ خروجی کامپایلر است). -g تولید اطلاعات اشکال‌زدایی برای هر خط از سورس اسمبلر با استفاده از قالب اشکال‌زدایی ترجیح‌داده‌شده توسط هدف (target). در حال حاضر این به معنای یکی از قالب‌های 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 متوقف کرد. مقدار پیش‌فرض را می‌توان توسط گزینهٔ پیکربندی --enable-default-sframe کنترل کرد. نسخهٔ فعلی داده‌های ردپای پشتهٔ SFrame منتشر شده، SFRAME_VERSION_3 است. --gsframe-3 تولید اطلاعات ردپای پشتهٔ SFrame بر اساس نسخهٔ ۳ از مشخصات آن. --hash-size N نادیده گرفته می‌شود. جهت سازگاری خط فرمان با سایر اسمبلرها پشتیبانی می‌شود. --help چاپ خلاصه‌ای از گزینه‌های خط فرمان و خروج. --target-help چاپ خلاصه‌ای از تمامی گزینه‌های خاصِ هدف و خروج. --info پیام‌های اطلاعاتی سرکوب (نادیده) نشوند. --no-info پیام‌های اطلاعاتی سرکوب (نادیده) شوند. -I dir افزودن دایرکتوری dir به فهرست جستجو برای دستورالعمل‌های ".include". -J در مورد سرریز علامت‌دار (signed overflow) هشدار نده. -K هنگامی که جدول‌های تفاضل برای جابه‌جایی‌های طویل (long displacements) تغییر می‌یابند، هشدار صادر کن. -L --keep-locals نگه‌داشتن نمادهای داخلی (در جدول نمادها). این نمادها با پیشوندهای برچسب محلی وابسته به سیستم شروع می‌شوند، معمولاً .L برای سیستم‌های ELF یا L برای سیستم‌های سنتی a.out. --listing-lhs-width=number تنظیم حداکثر عرض ستون دادهٔ خروجی برای سیاههٔ اسمبلر، بر حسب کلمه (words)، به number. --listing-lhs-width2=number تنظیم حداکثر عرض ستون دادهٔ خروجی برای خطوط ادامه‌دار در سیاههٔ اسمبلر، بر حسب کلمه (words)، به 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 ادغام بخش داده (data section) در بخش متن (text section). --reduce-memory-overheads نادیده گرفته می‌شود. جهت سازگاری با ابزارهایی پشتیبانی می‌شود که همین گزینه را هم به اسمبلر و هم به پیونددهنده ارسال می‌کنند. --reloc-section-sym=all --reloc-section-sym=internal --reloc-section-sym=none کنترل می‌کند که آیا بازنشانی‌های ارجاع‌دهنده به نمادهای با پیوند محلی، برای استفاده از نمادهای بخش به جای آن‌ها تنظیم شوند یا خیر. با "all" (پیش‌فرض)، بازنشانی‌های مربوط به تمامی نمادهای پیوند محلی واجد شرایط تبدیل می‌شوند. با "internal"، تنها بازنشانی‌های مربوط به برچسب‌های داخلی (نمادهای مطابق با پیشوند ".L") تبدیل می‌شوند. با "none"، هیچ تبدیلی از این دست انجام نمی‌گیرد. --scfi=experimental این گزینه کنترل می‌کند که آیا اسمبلر باید CFI را برای ورودی دست‌نویس ترکیب (synthesize) کند یا خیر. اگر ورودی از قبل حاوی برخی دستورالعمل‌های قابل ترکیب CFI باشد، اسمبلر آن‌ها را نادیده گرفته و هشداری صادر می‌کند. توجه داشته باشید که "--scfi=experimental" برای استفاده در کدهای تولیدشده توسط کامپایلر، از جمله اسمبلی درون‌خطی (inline assembly)، در نظر گرفته نشده است. این پشتیبانی تجربی همچنان در دست توسعه است. تنها System V AMD64 ABI پشتیبانی می‌شود. هر تابع ورودی در اسمبلی باید با دستورالعمل ".type" آغاز شود و در حالت ایده‌آل باید با استفاده از یک دستورالعمل ".size" خاتمه یابد. هنگام استفاده از SCFI، هر دستورالعمل ".type" موجب می‌شود GAS یک FDE جدید (یا مدخل توصیف‌گر تابع) را شروع کند. این بدان معناست که با هر دستورالعمل ".type"، بلوک قبلی دستورالعمل‌ها (در صورت وجود) به عنوان یک FDE مجزا نهایی می‌شود. --sectname-subst رعایت دنباله‌های جایگزینی در نام بخش‌ها. --size-check=error --size-check=warning صادر کردن یک خطا یا هشدار برای دایرکتیو نامعتبر .size در ELF. --statistics چاپ حداکثر فضای استفاده‌شده (به بایت) و کل زمان صرف‌شده (به ثانیه) توسط فرایند اسمبل. --strip-local-absolute حذف نمادهای محلی مطلق از جدول نماد خروجی. -v --verbose چاپ نسخهٔ as. --version -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، افزونه‌ها همیشه به‌طور پیش‌فرض فعال نیستند. -mbig-obj در هدف‌های PE/COFF این گزینه استفاده از قالب فایل شیء بزرگ را اجباری می‌کند که امکان وجود بیش از ۳۲۷۶۸ بخش (section) را فراهم می‌سازد. -mverbose-error این گزینه پیام‌های خطای پرگو (verbose) را برای gas در AArch64 فعال می‌کند. این گزینه به‌طور پیش‌فرض فعال است. -mno-verbose-error این گزینه پیام‌های خطای پرگو (verbose) را در 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 و توصیف‌کننده‌های رویه فعال یا غیرفعال می‌کند. مقدار پیش‌فرض این است که هنگام مشاهدهٔ نخستین دایرکتیو stabs، گزینهٔ ".mdebug" به‌طور خودکار فعال شود. -relax این گزینه به جای صرفه‌جویی در فضا و حل‌وفصل برخی از بازآدرس‌دهی‌ها در زمان اسمبلی، قرار گرفتن تمام بازآدرس‌دهی‌ها (relocations) را در فایل شیء اجباری می‌کند. توجه داشته باشید که این گزینه تمام محاسبات نمادها را به فایل شیء منتقل نمی‌کند، زیرا همه محاسبات نمادها قابل بازنمایی نیستند. با این حال، این گزینه همچنان می‌تواند در کاربردهای خاص مفید باشد. -replace -noreplace بهینه‌سازی فراخوانی رویه‌ها (procedure calls) را چه در زمان اسمبلی و چه در زمان پیوند، فعال یا غیرفعال می‌کند. این گزینه‌ها فقط برای مقصدهای VMS در دسترس هستند و "-replace" حالت پیش‌فرض است. بخش 1.4.1 از OpenVMS Linker Utility Manual را ببینید. -g این گزینه زمانی استفاده می‌شود که کامپایلر اطلاعات اشکال‌زدایی (debug) تولید می‌کند. هنگامی که gcc از mips-tfile برای تولید اطلاعات اشکال‌زدایی برای ECOFF استفاده می‌کند، برچسب‌های محلی باید به فایل شیء منتقل شوند. در غیر این صورت، این گزینه تأثیری ندارد. -Gsize یک نماد عمومی محلی بزرگ‌تر از size در ".bss" قرار می‌گیرد، در حالی که نمادهای کوچک‌تر در ".sbss" قرار می‌گیرند. -F -32addr این گزینه‌ها برای سازگاری با نسخه‌های پیشین نادیده گرفته می‌شوند. گزینه‌های زیر زمانی در دسترس هستند که as برای یک پردازنده ARC پیکربندی شده باشد. -mcpu=cpu این گزینه گونه پردازنده اصلی را انتخاب می‌کند. -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 معماری ممیز شناور (Floating Point) هدف را انتخاب می‌کند. -mfloat-abi=abi مشخص می‌کند که کدام ABI ممیز شناور در حال استفاده است. -mthumb رمزگشایی دستورالعمل‌های فقط Thumb را فعال می‌کند. -mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant قرارداد فراخوانی رویه مورد استفاده را انتخاب می‌کند. -EB | -EL خروجی big-endian (-EB) یا little-endian (-EL) را انتخاب می‌کند. -mthumb-interwork مشخص می‌کند که کد با در نظر گرفتن تعامل متقابل بین کدهای 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 گزینه‌های BPF -EB این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع big-endian تولید کند. -EL این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع little-endian تولید کند. -mdialect=dialect این گزینه گویش زبان اسمبلی را برای شناسایی در هنگام اسمبل مشخص می‌کند. اسمبلر از normal و pseudoc پشتیبانی می‌کند. -misa-spec=spec این گزینه نسخهٔ مجموعه دستورالعمل‌های BPF را برای استفاده هنگام اسمبل مشخص می‌کند. نسخه‌های پشتیبانی‌شدهٔ BPF ISA عبارتند از v1، v2، v3 و v4. مقدار xbpf را می‌توان برای شناسایی دستورالعمل‌های اضافی که توسط GCC برای اهداف آزمایشی استفاده می‌شوند تعیین کرد. اما توجه داشته باشید که این یک BPF معتبر نیست. -mno-relax این گزینه به اسمبلر می‌گوید که دستورالعمل‌ها را تعدیل (relax) نکند. توجه داشته باشید که اگر هیچ گزینهٔ ترتیب بایتی (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 ارسال بازنشانی‌های "R_CKCORE_PCREL_IMM26BY2" برای دستورالعمل‌های "bsr" به پیونددهنده (linker). این گزینه تنها برای مقصدهای bare-metal C-SKY V2 ELF در دسترس است، جایی که به‌طور پیش‌فرض فعال است. نمی‌توان از آن در کدی استفاده کرد که قرار است به‌صورت پویا با کتابخانه‌های اشتراکی پیوند داده شود. -force2bsr -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 فعال/غیرفعال کردن دستورالعمل‌های پشتهٔ وقفه (interrupt stack). این گزینه به‌طور پیش‌فرض در پردازنده‌های CK801، CK802 و CK802 فعال است. گزینه‌های زیر به صراحت دستورالعمل‌های اختیاری خاصی را فعال می‌کنند. این ویژگی‌ها همچنین با استفاده از "-mcpu=" برای تعیین پردازنده‌ای که از آن پشتیبانی می‌کند، به صورت ضمنی فعال می‌شوند. -mhard-float فعال کردن دستورالعمل‌های ممیز شناور سخت‌افزاری. -mmp فعال کردن دستورالعمل‌های چندپردازنده‌ای. -mcp فعال کردن دستورالعمل‌های پردازندهٔ کمکی (coprocessor). -mcache فعال کردن دستورالعمل پیش‌واکشی حافظهٔ نهان (cache prefetch). -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 پشتیبانی از ثابت‌های هگزادسیمال به سبک H'00 علاوه بر سبک 0x00. -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، نویسهٔ / به‌عنوان یک نویسهٔ توضیح (comment) در نظر گرفته می‌شود، بدان معنا که نمی‌توان از آن در عبارات استفاده کرد. گزینهٔ --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"، "znver6"، "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"، "avx512_bmm"، "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"، "apx_nci"، "apx_ndd"، "apx_nf"، "apx_nci_ndd_nf"، "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." محدودیت طول بردار را اعمال می‌کنند؛ یعنی با وجود اینکه این گزینه‌ها در حالت عادی «فعال‌کننده» هستند، استفاده از این پسوندها تمامی دستورالعمل‌هایی (insns) را که عملوندهای ثبات برداری یا ثبات ماسک عریض‌تر دارند غیرفعال خواهد کرد. هنگامی که دایرکتیو ".arch" همراه با -march استفاده شود، دایرکتیو ".arch" اولویت خواهد داشت. -mtune=CPU این گزینه پردازنده‌ای را مشخص می‌کند که کد برای آن بهینه‌سازی می‌شود. هنگامی که در کنار گزینهٔ -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 را با طول بردار ۲۵۶ بیتی کدگذاری خواهد کرد. هشدار: از این گزینه برای کدهای محیط عملیاتی (production) استفاده نکنید - به دلیل خطاهای سخت‌افزاری پردازنده (CPU errata)، کد حاصل ممکن است روی برخی مدل‌ها کار نکند. -mvexwig=0 -mvexwig=1 این گزینه‌ها نحوهٔ کدگذاری دستورالعمل‌های VEX با بیت W نادیده‌گرفته‌شده (WIG یا VEX.W-ignored) را کنترل می‌کنند. گزینهٔ -mvexwig=0 دستورالعمل‌های WIG VEX را با vex.w = 0 کدگذاری می‌کند که حالت پیش‌فرض است. -mvexwig=1 دستورالعمل‌های WIG EVEX را با vex.w = 1 کدگذاری خواهد کرد. هشدار: از این گزینه برای کدهای محیط عملیاتی (production) استفاده نکنید - به دلیل خطاهای سخت‌افزاری پردازنده (CPU errata)، کد حاصل ممکن است روی برخی مدل‌ها کار نکند. -mevexlig=128 -mevexlig=256 -mevexlig=512 این گزینه‌ها نحوهٔ کدگذاری دستورالعمل‌های EVEX با طول نادیده‌گرفته‌شده (LIG یا length-ignored) را کنترل می‌کنند. گزینهٔ -mevexlig=128 دستورالعمل‌های LIG EVEX را با طول بردار ۱۲۸ بیتی کدگذاری می‌کند که حالت پیش‌فرض است. -mevexlig=256 و -mevexlig=512 دستورالعمل‌های LIG EVEX را به ترتیب با طول بردار ۲۵۶ بیتی و ۵۱۲ بیتی کدگذاری خواهند کرد. -mevexwig=0 -mevexwig=1 این گزینه‌ها نحوهٔ کدگذاری دستورالعمل‌های EVEX با بیت w نادیده‌گرفته‌شده (WIG یا w-ignored) را کنترل می‌کنند. گزینهٔ -mevexwig=0 دستورالعمل‌های WIG EVEX را با evex.w = 0 کدگذاری می‌کند که حالت پیش‌فرض است. -mevexwig=1 دستورالعمل‌های WIG EVEX را با evex.w = 1 کدگذاری خواهد کرد. -mmnemonic=att -mmnemonic=intel این گزینه نماد یادافزا (mnemonic) را برای تطبیق دستورالعمل‌ها مشخص می‌کند. دستورهای راهنمای ".att_mnemonic" و ".intel_mnemonic" اولویت خواهند داشت. -msyntax=att -msyntax=intel این گزینه نحو (syntax) دستورالعمل را هنگام پردازش دستورات مشخص می‌کند. دستورهای راهنمای ".att_syntax" و ".intel_syntax" اولویت خواهند داشت. -mnaked-reg این گزینه مشخص می‌کند که ثبات‌ها نیازی به پیشوند % ندارند. دستورهای راهنمای ".att_syntax" و ".intel_syntax" اولویت خواهند داشت. -madd-bnd-prefix این گزینه اسمبلر را ملزم می‌کند تا پیشوند BND را به تمام شاخه‌ها (branches) اضافه کند، حتی اگر چنین پیشوندی به صراحت در کد منبع مشخص نشده باشد. -mno-shared در معماری مقصد ELF، اسمبلر به طور معمول بازنشانی‌های غیر PLT را در برابر مقصدهای شاخه‌بندی سراسری تعریف‌شدهٔ غیرضعیف (non-weak) با نمایانی پیش‌فرض بهینه‌سازی و حذف می‌کند. گزینهٔ -mshared به اسمبلر دستور می‌دهد کدی تولید کند که ممکن است در یک کتابخانهٔ مشترک قرار گیرد، جایی که تمام مقصدهای شاخه‌بندی سراسری غیرضعیف با نمایانی پیش‌فرض قابل پیش‌دستی (preemptible) هستند. کد حاصل کمی بزرگ‌تر خواهد بود. این گزینه فقط بر نحوهٔ پردازش دستورالعمل‌های شاخه‌بندی تأثیر می‌گذارد. -mbig-obj در معماری مقصد PE/COFF، این گزینه استفاده از قالب فایل شیء بزرگ (big object file format) را اجباری می‌کند که امکان استفاده از بیش از ۳۲۷۶۸ بخش (section) را فراهم می‌سازد. -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 بازنشانی‌های کاهش‌یافته را تولید نخواهد کرد. -mtls-check=no -mtls-check=yes این گزینه‌ها کنترل می‌کنند که آیا اسمبلر بازنشانی tls را بررسی کند یا خیر. -mtls-check=yes بازنشانی tls را بررسی خواهد کرد. -mtls-check=no بازنشانی tls را بررسی نخواهد کرد. حالت پیش‌فرض را می‌توان از طریق گزینهٔ پیکربندی --enable-x86-tls-check تعیین کرد. -malign-branch-boundary=NUM این گزینه نحوهٔ هم‌تراز کردن شاخه‌ها با پیشوندهای قطعه (segment) یا NOP را توسط اسمبلر کنترل می‌کند. مقدار NUM باید توانی از ۲ باشد؛ این مقدار باید ۰ یا عددی نه کمتر از ۱۶ باشد. شاخه‌ها درون مرز NUM بایتی هم‌تراز خواهند شد. گزینهٔ -malign-branch-boundary=0 که حالت پیش‌فرض است، شاخه‌ها را هم‌تراز نمی‌کند. -malign-branch=TYPE[+TYPE...] این گزینه انواع شاخه‌ها را برای هم‌ترازی مشخص می‌کند. مقدار TYPE ترکیبی است از: jcc که پرش‌های شرطی را هم‌تراز می‌کند، fused که پرش‌های شرطی ادغام‌شده را هم‌تراز می‌کند، jmp که پرش‌های بدون شرط را هم‌تراز می‌کند، call که فراخوانی‌ها را هم‌تراز می‌کند، ret که دستورات بازگشت (ret) را هم‌تراز می‌کند، و indirect که پرش‌ها و فراخوانی‌های غیرمستقیم را هم‌تراز می‌کند. حالت پیش‌فرض -malign-branch=jcc+fused+jmp است. -malign-branch-prefix-size=NUM این گزینه بیشینهٔ تعداد پیشوندهای روی یک دستورالعمل را برای تراز کردن شاخه‌ها مشخص می‌کند. NUM باید بین 0 و 5 باشد. مقدار پیش‌فرض NUM برابر 5 است. -mbranches-within-32B-boundaries این گزینه پرش‌های شرطی، پرش‌های شرطی ادغام‌شده (fused) و پرش‌های غیرشرطی را با حداکثر 5 پیشوند سگمنت روی یک دستورالعمل، در مرز 32 بایتی تراز می‌کند. این گزینه معادل است با: -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 (SAE-only) توسط اسمبلر را کنترل می‌کنند. گزینهٔ -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-بیتی کدگذاری می‌کنند، دستورالعمل‌های پاک‌سازی ثبات برداری VEX/EVEX بیست‌وپنجاه‌وشش بیتی/512-بیتی را با دستورالعمل‌های پاک‌سازی ثبات برداری VEX صدوبیست‌وهشت بیتی کدگذاری می‌کنند، دستورالعمل‌های بارگذاری/ذخیره ثبات برداری EVEX صدوبیست‌وهشت بیتی/256-بیتی را با دستورالعمل‌های بارگذاری/ذخیره ثبات برداری VEX کدگذاری می‌کنند، و دستورالعمل‌های منطقی صحیح فشردهٔ (packed integer) EVEX صدوبیست‌وهشت بیتی/256-بیتی را با دستورالعمل‌های منطقی صحیح فشردهٔ VEX صدوبیست‌وهشت بیتی/256-بیتی کدگذاری می‌کنند. گزینهٔ -O2 شامل بهینه‌سازی‌های -O1 به علاوهٔ کدگذاری دستورالعمل‌های پاک‌سازی ثبات برداری EVEX با اندازهٔ 256-بیتی/512-بیتی به‌صورت دستورالعمل‌های پاک‌سازی ثبات برداری EVEX با اندازهٔ 128-بیتی است. در حالت 64-بیتی، چنانچه امکان استفاده از قالب پیشوند 2-بایتی VEX به جای قالب 3-بایتی فراهم شود، عملوندهای مبدأ دستورالعمل‌های کدگذاری‌شده با VEX که عملوندهای مبدأ جابجایی‌پذیر دارند نیز جابجا می‌شوند. همچنین اشکال خاصی از AND و همچنین OR با عملوند (ثبات) یکسان که دو بار مشخص شده باشد به TEST تبدیل خواهند شد. گزینهٔ -Os شامل بهینه‌سازی‌های -O2 به علاوهٔ کدگذاری آزمایش‌های (tests) ثبات 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 ارجاعات به نمادهای تعریف‌نشده را به‌جای دو کلمه به یک کلمه (word) کوتاه می‌کند. -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 است. -mall -mall-extensions فعال کردن تمام افزونه‌های مجموعه دستورالعمل. این حالت پیش‌فرض است. -mno-extensions غیرفعال کردن تمام افزونه‌های مجموعه دستورالعمل. -mextension | -mno-extension فعال (یا غیرفعال) کردن یک افزونه خاص مجموعه دستورالعمل. -mcpu فعال کردن افزونه‌های مجموعه دستورالعملِ پشتیبانی‌شده توسط یک CPU خاص، و غیرفعال کردن تمام افزونه‌های دیگر. -mmachine فعال کردن افزونه‌های مجموعه دستورالعملِ پشتیبانی‌شده توسط یک مدل ماشین خاص، و غیرفعال کردن تمام افزونه‌های دیگر. گزینه‌های زیر زمانی در دسترس هستند که as برای پردازنده picoJava پیکربندی شده باشد. -mb تولید خروجی با قالب «بزرگ‌پایان» (big endian). -ml تولید خروجی با قالب «کوچک‌پایان» (little endian). گزینه‌های زیر زمانی در دسترس هستند که as برای یک پردازنده PRU پیکربندی شده باشد. -mlink-relax فرض می‌کند که LD دستورالعمل‌های LDI32 را با بررسی ۱۶ بیت بالایی expression بهینه‌سازی خواهد کرد. اگر همه آن‌ها صفر باشند، LD دستورالعمل LDI32 را به یک LDI تکی کوتاه می‌کند. در چنین حالتی "as" بازنشانی‌های DIFF را برای عبارت‌های تفاضلی صادر خواهد کرد. -mno-link-relax فرض می‌کند که LD دستورالعمل‌های LDI32 را بهینه‌سازی نخواهد کرد. در نتیجه، بازنشانی‌های DIFF صادر نخواهند شد. -mno-warn-regname-label اگر نام یک برچسب با نام یک ثبات یکسان باشد، اخطار نمی‌دهد. معمولاً برنامه‌نویسان اسمبلی می‌خواهند این اخطار صادر شود. کامپایلرهای C ممکن است بخواهند این اخطار را غیرفعال کنند. -mcore-revision=revision این گزینه نسخه هسته PRU را برای اسمبل کردن مشخص می‌کند. نسخه‌های زیر شناسایی می‌شوند: "V1"، "V2"، "V3" و "V4". مقدار پیش‌فرض اسمبلر "V3" است. گزینه‌های زیر زمانی در دسترس هستند که 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 تولید کد برای یک سطح خاص از معماری مجموعه دستورالعمل 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 تولید کد برای یک پردازنده MIPS خاص. -mtune=cpu زمان‌بندی و بهینه‌سازی برای یک پردازنده MIPS خاص. -mfix7000 -mno-fix7000 در صورتی که خواندن ثبات مقصدِ یک دستورالعمل mfhi یا mflo در دو دستورالعمل بعدی رخ دهد، باعث درج دستورات nop می‌شود. -mfix-rm7000 -mno-fix-rm7000 اگر پس از یک دستورالعمل dmult یا dmultu یک دستورالعمل بارگذاری (load) قرار گیرد، باعث درج دستورات nop می‌شود. -mfix-r5900 -mno-fix-r5900 از زمان‌بندی دستورالعمل قبلی درون شکاف تاخیر (delay slot) یک دستورالعمل پرش قرارگرفته در انتهای یک حلقه کوتاه شش دستورالعملی یا کمتر خودداری می‌کند و همیشه به جای آن یک دستورالعمل "nop" را در آنجا قرار می‌دهد. اشکال حلقه‌های کوتاه تحت شرایط خاصی به دلیل یک نقص سخت‌افزاری در تراشه R5900، باعث می‌شود حلقه‌ها فقط یک یا دو بار اجرا شوند. -mdebug -no-mdebug باعث می‌شود خروجی اشکال‌زدایی با سبک stabs به جای بخش‌های استاندارد ELF .stabs در یک بخش .mdebug با سبک ECOFF قرار گیرد. -mpdr -mno-pdr تولید بخش‌های ".pdr" را کنترل می‌کند. -mgp32 -mfp32 اندازه‌های ثبات معمولاً از روی ISA و ABI استنباط می‌شوند، اما این پرچم‌ها گروه خاصی از ثبات‌ها را وادار می‌کنند که همواره به صورت ۳۲ بیتی مدیریت شوند. -mgp32 اندازه ثبات‌های همه‌منظوره و -mfp32 اندازه ثبات‌های ممیز شناور را کنترل می‌کند. -mgp64 -mfp64 اندازه‌های ثبات معمولاً از روی ISA و ABI استنباط می‌شوند، اما این پرچم‌ها گروه خاصی از ثبات‌ها را وادار می‌کنند که همواره به صورت ۶۴ بیتی مدیریت شوند. -mgp64 اندازه ثبات‌های همه‌منظوره و -mfp64 اندازه ثبات‌های ممیز شناور را کنترل می‌کند. -mfpxx اندازه‌های ثبات معمولاً از روی ISA و ABI استنباط می‌شوند، اما استفاده از این پرچم در ترکیب با -mabi=32 یک گونه از ABI را فعال می‌کند که با ثبات‌های ممیز شناور ۳۲ یا ۶۴ بیتی به درستی کار خواهد کرد. -modd-spreg -mno-odd-spreg استفاده از عملیات ممیز شناور روی ثبات‌های دقت‌تکی (single-precision) با شماره فرد را در صورت پشتیبانی توسط ISA فعال می‌کند. -mfpxx مستلزم -mno-odd-spreg است، در غیر این صورت حالت پیش‌فرض -modd-spreg است. -mips16 -no-mips16 تولید کد برای پردازنده MIPS 16. این گزینه معادل قرار دادن ".module mips16" در ابتدای فایل اسمبلی است. -no-mips16 این گزینه را غیرفعال می‌کند. -mmips16e2 -mno-mips16e2 استفاده از دستورالعمل‌های MIPS16e2 را در حالت MIPS16 فعال می‌کند. این کار معادل قرار دادن ".module mips16e2" در آغاز فایل اسمبلی است. -mno-mips16e2 این گزینه را غیرفعال می‌کند. -mmicromips -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 را بپذیرد. -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. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MSA را بپذیرد. -mno-msa این گزینه را غیرفعال می‌کند. -mxpa -mno-xpa تولید کد برای افزونه MIPS eXtended Physical Address (XPA). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های XPA را بپذیرد. -mno-xpa این گزینه را غیرفعال می‌کند. -mmt -mno-mt تولید کد برای افزونه خاص‌منظوره MT. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MT را بپذیرد. -mno-mt این گزینه را غیرفعال می‌کند. -mmcu -mno-mcu تولید کد برای افزونه خاص‌منظوره MCU. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MCU را بپذیرد. -mno-mcu این گزینه را غیرفعال می‌کند. -mcrc -mno-crc تولید کد برای افزونه خاص‌منظوره MIPS cyclic redundancy check (CRC). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های CRC را بپذیرد. -mno-crc این گزینه را غیرفعال می‌کند. -mginv -mno-ginv تولید کد برای افزونه خاص‌منظوره Global INValidate (GINV). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های GINV را بپذیرد. -mno-ginv این گزینه را غیرفعال می‌کند. -mloongson-mmi -mno-loongson-mmi تولید کد برای افزونه خاص‌منظوره Loongson MultiMedia extensions Instructions (MMI). این گزینه به اسمبلر می‌گوید که دستورالعمل‌های MMI را بپذیرد. -mno-loongson-mmi این گزینه را غیرفعال می‌کند. -mloongson-cam -mno-loongson-cam تولید کد برای دستورالعمل‌های Loongson Content Address Memory (CAM). این به اسمبلر می‌گوید که دستورالعمل‌های Loongson CAM را بپذیرد. -mno-loongson-cam این گزینه را غیرفعال می‌کند. -mloongson-ext -mno-loongson-ext تولید کد برای دستورالعمل‌های Loongson EXTensions (EXT). این به اسمبلر می‌گوید که دستورالعمل‌های Loongson EXT را بپذیرد. -mno-loongson-ext این گزینه را غیرفعال می‌کند. -mloongson-ext2 -mno-loongson-ext2 تولید کد برای دستورالعمل‌های Loongson EXTensions R2 (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 ساخت ثابت‌های ممیز شناور با عرض دوگانه (double width) را از طریق بارگذاری دو نیمه مقدار در دو ثبات ممیز شناور با عرض تکی (single width) که ثبات با عرض دوگانه را تشکیل می‌دهند، غیرفعال می‌کند. به‌طور پیش‌فرض --construct-floats انتخاب شده است، که ساخت این ثابت‌های ممیز شناور را مجاز می‌داند. --relax-branch --no-relax-branch گزینه --relax-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، یک خطا تولید کند. -mnan=encoding انتخاب میان قالب کُدگذاری 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 تولید کد مستقل از موقعیت (position-independent code). -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" تولید خروجی دادهٔ big endian. "-mpic" تولید PIC. "-mno-fp-as-gp-relax" جلوگیری از تعدیل (relaxation) fp-as-gp برای این فایل. "-mb2bb-relax" بهینه‌سازی پرش‌های پشت‌سر‌هم (Back-to-back). "-mno-all-relax" جلوگیری از تمام تعدیل‌ها (relaxation) برای این فایل. "-march=" اسمبلی برای معماری که می‌تواند v3، v3j، v3m، v3f، v3s، v2، v2j، v2f، v2s باشد. "-mbaseline=" اسمبلی برای خط مبنای (baseline) که می‌تواند 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 extension). "-m[no-]perf2-ext" فعال/غیرفعال کردن افزونهٔ کارایی ۲ (Performance extension 2). "-m[no-]string-ext" فعال/غیرفعال کردن افزونهٔ رشته (String extension). "-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. -a64 تولید 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. -nops=count اگر یک دستور هم‌ترازسازی بیش از count دستور nop درج کند، یک پرش (branch) در ابتدا قرار می‌دهد تا از اجرای nopها صرف‌نظر شود. گزینه‌های زیر هنگامی که as برای یک پردازندهٔ RISC-V پیکربندی شده باشد، در دسترس هستند. -fpic -fPIC تولید کد مستقل از موقعیت (position-independent code). -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 انتخاب نسخهٔ مشخصات پیش‌فرض 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" نشان‌دهندهٔ یک soft-float RVE ABI است). -mrelax بهره‌گیری از ساده‌سازی‌های پیونددهنده (linker relaxations) برای کاهش تعداد دستورالعمل‌های مورد نیاز جهت تحقق نشانی‌های نمادها. (پیش‌فرض) -mno-relax ساده‌سازی‌های پیونددهنده را انجام نده. -march-attr تولید محتوای پیش‌فرض برای بخش ویژگی‌های riscv elf در صورتی که دایرکتیوهای .attribute تنظیم نشده باشند. این بخش برای ثبت اطلاعاتی استفاده می‌شود که یک پیونددهنده یا بارگذار زمان اجرا برای بررسی سازگاری به آن نیاز دارد. این اطلاعات شامل رشته ISA، نیازمندی‌های تراز پشته، دسترسی‌های حافظه ترازبندی‌نشده، و نسخه‌های major، minor و revision از مشخصات ممتاز (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 انتخاب اندازه کلمه (word size)، یا ۳۱/۳۲ بیت یا ۶۴ بیت. -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 هرگاه عملوند یک ثبات پایه یا شاخص مشخص شده باشد اما مقدار آن برابر با صفر ارزیابی شود، هشدار بده. -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 استفاده نمی‌کند. اگر اشیایی از انواع متفاوت (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" در استخرها دسته‌بندی می‌شوند. این گزینه‌ها تنها بر مقادیر صریحی که از طریق دستورالعمل‌های "L32R" وابسته به شمارنده برنامه (PC-relative) ارجاع داده شده‌اند تأثیر می‌گذارند؛ مقادیر صریح برای دستورالعمل‌های "L32R" در حالت مطلق به طور جداگانه مدیریت می‌شوند. --auto-litpools | --no-auto-litpools کنترل نحوه رفتار با استخرهای مقادیر صریح. حالت پیش‌فرض --no-auto-litpools است، که در نبود --text-section-literals، مقادیر صریح را در بخش‌های جداگانه در فایل خروجی قرار می‌دهد. این کار اجازه می‌دهد استخر مقادیر صریح در یک RAM/ROM داده قرار گیرد. با --auto-litpools، مقادیر صریح در بخش text پراکنده می‌شوند تا در نزدیک‌ترین فاصله ممکن به مراجع خود قرار گیرند؛ دایرکتیوهای صریح ".literal_position" مورد نیاز نیستند. این ویژگی ممکن است برای توابع بسیار بزرگ ضروری باشد، جایی که یک استخر مقادیر صریح منفرد در ابتدای تابع ممکن است برای دستورالعمل‌های "L32R" در انتهای آن قابل دسترسی نباشد. این گزینه‌ها تنها بر مقادیر صریحی که از طریق دستورالعمل‌های "L32R" وابسته به PC ارجاع داده شده‌اند تأثیر می‌گذارند؛ مقادیر صریح برای دستورالعمل‌های "L32R" در حالت مطلق به طور جداگانه مدیریت می‌شوند. در صورت استفاده هم‌زمان با --text-section-literals، گزینه --auto-litpools اولویت دارد. --absolute-literals | --no-absolute-literals به اسمبلر مشخص می‌کند که آیا دستورالعمل‌های "L32R" از آدرس‌دهی مطلق (absolute) استفاده می‌کنند یا نسبی به "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) و بهینه‌سازی (optimization) را فعال یا غیرفعال می‌کند. حالت پیش‌فرض --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". علاوه بر مجموعه دستورالعمل‌های پایه، می‌توان به اسمبلر اعلام کرد که برخی از نمادهای اختصاری افزونه‌ها (extension mnemonics) را بپذیرد. برای مثال، "-march=z180+sli+infc" پردازندهٔ z180 را با دستورالعمل‌های SLI و IN F,(C) گسترش می‌دهد. افزونه‌های زیر در حال حاضر پشتیبانی می‌شوند: "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 تمام برچسب‌های دارای پیشوند مشخص‌شده را به عنوان محلی علامت‌گذاری می‌کند. با این حال چنین برچسبی می‌تواند صریحاً در کد به صورت سراسری (global) علامت‌گذاری شود. این گزینه پیشوند پیش‌فرض برچسب محلی ".L" را تغییر نمی‌دهد، بلکه فقط یک پیشوند جدید اضافه می‌کند. -colonless برچسب‌های بدون دونقطه را می‌پذیرد. تمام نمادها در ابتدای خط به عنوان برچسب در نظر گرفته می‌شوند. -sdcc کد اسمبلی تولیدشده توسط SDCC را می‌پذیرد. -fp-s=FORMAT قالب اعداد ممیز شناور با دقت یگانه (single precision). پیش‌فرض: ieee754 (۳۲ بیتی). -fp-d=FORMAT قالب اعداد ممیز شناور با دقت مضاعف (double precision). پیش‌فرض: ieee754 (۶۴ بیتی). همچنین ببینید (SEE ALSO) gcc(1)، ld(1) و مدخل‌های Info برای binutils و ld. حق نشر (COPYRIGHT) حق نشر (c) 1991-2026 Free Software Foundation, Inc. اجازه‌نامه کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ بالاتر منتشر شده توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation) اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متون روی جلد، و بدون متون پشت جلد. یک نسخه از این مجوز در بخشی با عنوان «GNU Free Documentation License» قرار داده شده است. binutils-2.47 2026-08-26 AS(1)