.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man v6.0.2 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Required to disable full justification in groff 1.23.0. .if n .ds AD l .\" ======================================================================== .\" .IX Title "AS 1" .TH AS 1 2026-08-03 binutils-2.47 "GNU Development Tools" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" as \- اسمبلر چندسکویی گنو .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" as [\fB\-a\fR[\fBcdghilns\fR][=\fIfile\fR]] [\fB\-\-alternate\fR] [\fB\-\-compress\-debug\-sections\fR] [\fB\-\-nocompress\-debug\-sections\fR] [\fB\-D\fR] [\fB\-\-dump\-config\fR] [\fB\-\-debug\-prefix\-map\fR \fIold\fR=\fInew\fR] [\fB\-\-defsym\fR \fIsym\fR=\fIval\fR] [\fB\-\-elf\-stt\-common=[no|yes]\fR] [\fB\-\-emulation\fR=\fIname\fR] [\fB\-f\fR] [\fB\-g\fR] [\fB\-\-gstabs\fR] [\fB\-\-gstabs+\fR] [\fB\-\-gdwarf\-\fR] [\fB\-\-gdwarf\-sections\fR] [\fB\-\-gdwarf\-cie\-version\fR=\fIVERSION\fR] [\fB\-\-generate\-missing\-build\-notes=[no|yes]\fR] [\fB\-\-gsframe\fR] [\fB\-\-gsframe=[no|yes]\fR] [\fB\-\-gsframe\-3\fR] [\fB\-\-hash\-size\fR=\fIN\fR] [\fB\-\-help\fR] [\fB\-\-target\-help\fR] [\fB\-\-info\fR] [\fB\-\-no\-info\fR] [\fB\-I\fR \fIdir\fR] [\fB\-J\fR] [\fB\-K\fR] [\fB\-\-keep\-locals\fR] [\fB\-L\fR] [\fB\-\-listing\-lhs\-width\fR=\fINUM\fR] [\fB\-\-listing\-lhs\-width2\fR=\fINUM\fR] [\fB\-\-listing\-rhs\-width\fR=\fINUM\fR] [\fB\-\-listing\-cont\-lines\fR=\fINUM\fR] [\fB\-\-multibyte\-handling=[allow|warn|warn\-sym\-only]\fR] [\fB\-\-no\-pad\-sections\fR] [\fB\-o\fR \fIobjfile\fR] [\fB\-R\fR] [\fB\-\-reloc\-section\-sym=[all|internal|none]\fR] [\fB\-\-scfi=experimental\fR] [\fB\-\-sectname\-subst\fR] [\fB\-\-size\-check=[error|warning]\fR] [\fB\-\-statistics\fR] [\fB\-v\fR] [\fB\-\-verbose\fR] [\fB\-version\fR] [\fB\-\-version\fR] [\fB\-W\fR] [\fB\-\-no\-warn\fR] [\fB\-\-warn\fR] [\fB\-\-fatal\-warnings\fR] [\fB\-w\fR] [\fB\-x\fR] [\fB\-Z\fR] [\fB@\fR\fIFILE\fR] [\fItarget\-options\fR] [\fB\-\-\fR|\fIfiles\fR ...].SH "مقصد (TARGET)" .IX Header "TARGET" \&\fIگزینه‌های مقصد AArch64:\fR [\fB\-EB\fR|\fB\-EL\fR] [\fB\-mabi\fR=\fIABI\fR] .PP \&\fIگزینه‌های مقصد Alpha:\fR [\fB\-m\fR\fIcpu\fR] [\fB\-mdebug\fR | \fB\-no\-mdebug\fR] [\fB\-replace\fR | \fB\-noreplace\fR] [\fB\-relax\fR] [\fB\-g\fR] [\fB\-G\fR\fIsize\fR] [\fB\-F\fR] [\fB\-32addr\fR] .PP \&\fIگزینه‌های مقصد ARC:\fR [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-mA6\fR|\fB\-mARC600\fR|\fB\-mARC601\fR|\fB\-mA7\fR|\fB\-mARC700\fR|\fB\-mEM\fR|\fB\-mHS\fR] [\fB\-mcode\-density\fR] [\fB\-mrelax\fR] [\fB\-EB\fR|\fB\-EL\fR] .PP \&\fIگزینه‌های مقصد ARM:\fR [\fB\-mcpu\fR=\fIprocessor\fR[+\fIextension\fR...]] [\fB\-march\fR=\fIarchitecture\fR[+\fIextension\fR...]] [\fB\-mfpu\fR=\fIfloating\-point\-format\fR] [\fB\-mfloat\-abi\fR=\fIabi\fR] [\fB\-meabi\fR=\fIver\fR] [\fB\-mthumb\fR] [\fB\-EB\fR|\fB\-EL\fR] [\fB\-mapcs\-32\fR|\fB\-mapcs\-26\fR|\fB\-mapcs\-float\fR| \fB\-mapcs\-reentrant\fR] [\fB\-mthumb\-interwork\fR] [\fB\-k\fR] .PP \&\fIگزینه‌های مقصد Blackfin:\fR [\fB\-mcpu\fR=\fIprocessor\fR[\-\fIsirevision\fR]] [\fB\-mfdpic\fR] [\fB\-mno\-fdpic\fR] [\fB\-mnopic\fR] .PP \&\fIگزینه‌های مقصد BPF:\fR [\fB\-EL\fR] [\fB\-EB\fR] .PP \&\fIگزینه‌های مقصد CRIS:\fR [\fB\-\-underscore\fR | \fB\-\-no\-underscore\fR] [\fB\-\-pic\fR] [\fB\-N\fR] [\fB\-\-emulation=criself\fR | \fB\-\-emulation=crisaout\fR] [\fB\-\-march=v0_v10\fR | \fB\-\-march=v10\fR | \fB\-\-march=v32\fR | \fB\-\-march=common_v10_v32\fR] .PP \&\fIگزینه‌های مقصد C\-SKY:\fR [\fB\-march=\fR\fIarch\fR] [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-EL\fR] [\fB\-mlittle\-endian\fR] [\fB\-EB\fR] [\fB\-mbig\-endian\fR] [\fB\-fpic\fR] [\fB\-pic\fR] [\fB\-mljump\fR] [\fB\-mno\-ljump\fR] [\fB\-force2bsr\fR] [\fB\-mforce2bsr\fR] [\fB\-no\-force2bsr\fR] [\fB\-mno\-force2bsr\fR] [\fB\-jsri2bsr\fR] [\fB\-mjsri2bsr\fR] [\fB\-no\-jsri2bsr\fR ] [\fB\-mno\-jsri2bsr\fR] [\fB\-mnolrw\fR ] [\fB\-mno\-lrw\fR] [\fB\-melrw\fR] [\fB\-mno\-elrw\fR] [\fB\-mlaf\fR ] [\fB\-mliterals\-after\-func\fR] [\fB\-mno\-laf\fR] [\fB\-mno\-literals\-after\-func\fR] [\fB\-mlabr\fR] [\fB\-mliterals\-after\-br\fR] [\fB\-mno\-labr\fR] [\fB\-mnoliterals\-after\-br\fR] [\fB\-mistack\fR] [\fB\-mno\-istack\fR] [\fB\-mhard\-float\fR] [\fB\-mmp\fR] [\fB\-mcp\fR] [\fB\-mcache\fR] [\fB\-msecurity\fR] [\fB\-mtrust\fR] [\fB\-mdsp\fR] [\fB\-medsp\fR] [\fB\-mvdsp\fR] .PP \&\fIگزینه‌های مقصد D10V:\fR [\fB\-O\fR] .PP \&\fIگزینه‌های مقصد D30V:\fR [\fB\-O\fR|\fB\-n\fR|\fB\-N\fR] .PP \&\fIگزینه‌های مقصد EPIPHANY:\fR [\fB\-mepiphany\fR|\fB\-mepiphany16\fR] .PP \&\fIگزینه‌های مقصد H8/300:\fR [\-h\-tick\-hex] .PP \&\fIگزینه‌های مقصد i386:\fR [\fB\-\-32\fR|\fB\-\-x32\fR|\fB\-\-64\fR] [\fB\-n\fR] [\fB\-march\fR=\fICPU\fR[+\fIEXTENSION\fR...]] [\fB\-mtune\fR=\fICPU\fR] .PP \&\fIگزینه‌های مقصد IA\-64:\fR [\fB\-mconstant\-gp\fR|\fB\-mauto\-pic\fR] [\fB\-milp32\fR|\fB\-milp64\fR|\fB\-mlp64\fR|\fB\-mp64\fR] [\fB\-mle\fR|\fBmbe\fR] [\fB\-mtune=itanium1\fR|\fB\-mtune=itanium2\fR] [\fB\-munwind\-check=warning\fR|\fB\-munwind\-check=error\fR] [\fB\-mhint.b=ok\fR|\fB\-mhint.b=warning\fR|\fB\-mhint.b=error\fR] [\fB\-x\fR|\fB\-xexplicit\fR] [\fB\-xauto\fR] [\fB\-xdebug\fR] .PP \&\fIگزینه‌های مقصد IP2K:\fR [\fB\-mip2022\fR|\fB\-mip2022ext\fR] .PP \&\fIگزینه‌های مقصد M32C:\fR [\fB\-m32c\fR|\fB\-m16c\fR] [\-relax] [\-h\-tick\-hex] .PP \&\fIگزینه‌های مقصد M32R:\fR [\fB\-\-m32rx\fR|\fB\-\-[no\-]warn\-explicit\-parallel\-conflicts\fR| \fB\-\-W[n]p\fR] .PP \&\fIگزینه‌های مقصد M680X0:\fR [\fB\-l\fR] [\fB\-m68000\fR|\fB\-m68010\fR|\fB\-m68020\fR|...] .PP \&\fIگزینه‌های مقصد M68HC11:\fR [\fB\-m68hc11\fR|\fB\-m68hc12\fR|\fB\-m68hcs12\fR|\fB\-mm9s12x\fR|\fB\-mm9s12xg\fR] [\fB\-mshort\fR|\fB\-mlong\fR] [\fB\-mshort\-double\fR|\fB\-mlong\-double\fR] [\fB\-\-force\-long\-branches\fR] [\fB\-\-short\-branches\fR] [\fB\-\-strict\-direct\-mode\fR] [\fB\-\-print\-insn\-syntax\fR] [\fB\-\-print\-opcodes\fR] [\fB\-\-generate\-example\fR] .PP \&\fIگزینه‌های مقصد MCORE:\fR [\fB\-jsri2bsr\fR] [\fB\-sifilter\fR] [\fB\-relax\fR] [\fB\-mcpu=[210|340]\fR] .PP \&\fIگزینه‌های مقصد Meta:\fR [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-mfpu=\fR\fIcpu\fR] [\fB\-mdsp=\fR\fIcpu\fR] \&\fIگزینه‌های مقصد MICROBLAZE:\fR [\fB\-mlittle\-endian\fR] [\fB\-mbig\-endian\fR] .PP \&\fIگزینه‌های مقصد MIPS:\fR [\fB\-nocpp\fR] [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR[\fIoptimization level\fR]] [\fB\-g\fR[\fIdebug level\fR]] [\fB\-G\fR \fInum\fR] [\fB\-KPIC\fR] [\fB\-call_shared\fR] [\fB\-non_shared\fR] [\fB\-xgot\fR [\fB\-mvxworks\-pic\fR] [\fB\-mabi\fR=\fIABI\fR] [\fB\-32\fR] [\fB\-n32\fR] [\fB\-64\fR] [\fB\-mfp32\fR] [\fB\-mgp32\fR] [\fB\-mfp64\fR] [\fB\-mgp64\fR] [\fB\-mfpxx\fR] [\fB\-modd\-spreg\fR] [\fB\-mno\-odd\-spreg\fR] [\fB\-march\fR=\fICPU\fR] [\fB\-mtune\fR=\fICPU\fR] [\fB\-mips1\fR] [\fB\-mips2\fR] [\fB\-mips3\fR] [\fB\-mips4\fR] [\fB\-mips5\fR] [\fB\-mips32\fR] [\fB\-mips32r2\fR] [\fB\-mips32r3\fR] [\fB\-mips32r5\fR] [\fB\-mips32r6\fR] [\fB\-mips64\fR] [\fB\-mips64r2\fR] [\fB\-mips64r3\fR] [\fB\-mips64r5\fR] [\fB\-mips64r6\fR] [\fB\-construct\-floats\fR] [\fB\-no\-construct\-floats\fR] [\fB\-mignore\-branch\-isa\fR] [\fB\-mno\-ignore\-branch\-isa\fR] [\fB\-mnan=\fR\fIencoding\fR] [\fB\-trap\fR] [\fB\-no\-break\fR] [\fB\-break\fR] [\fB\-no\-trap\fR] [\fB\-mips16\fR] [\fB\-no\-mips16\fR] [\fB\-mmips16e2\fR] [\fB\-mno\-mips16e2\fR] [\fB\-mmicromips\fR] [\fB\-mno\-micromips\fR] [\fB\-msmartmips\fR] [\fB\-mno\-smartmips\fR] [\fB\-mips3d\fR] [\fB\-no\-mips3d\fR] [\fB\-mdmx\fR] [\fB\-no\-mdmx\fR] [\fB\-mdsp\fR] [\fB\-mno\-dsp\fR] [\fB\-mdspr2\fR] [\fB\-mno\-dspr2\fR] [\fB\-mdspr3\fR] [\fB\-mno\-dspr3\fR] [\fB\-mmsa\fR] [\fB\-mno\-msa\fR] [\fB\-mxpa\fR] [\fB\-mno\-xpa\fR] [\fB\-mmt\fR] [\fB\-mno\-mt\fR] [\fB\-mmcu\fR] [\fB\-mno\-mcu\fR] [\fB\-mcrc\fR] [\fB\-mno\-crc\fR] [\fB\-mginv\fR] [\fB\-mno\-ginv\fR] [\fB\-mloongson\-mmi\fR] [\fB\-mno\-loongson\-mmi\fR] [\fB\-mloongson\-cam\fR] [\fB\-mno\-loongson\-cam\fR] [\fB\-mloongson\-ext\fR] [\fB\-mno\-loongson\-ext\fR] [\fB\-mloongson\-ext2\fR] [\fB\-mno\-loongson\-ext2\fR] [\fB\-minsn32\fR] [\fB\-mno\-insn32\fR] [\fB\-mfix7000\fR] [\fB\-mno\-fix7000\fR] [\fB\-mfix\-rm7000\fR] [\fB\-mno\-fix\-rm7000\fR] [\fB\-mfix\-vr4120\fR] [\fB\-mno\-fix\-vr4120\fR] [\fB\-mfix\-vr4130\fR] [\fB\-mno\-fix\-vr4130\fR] [\fB\-mfix\-r5900\fR] [\fB\-mno\-fix\-r5900\fR] [\fB\-mdebug\fR] [\fB\-no\-mdebug\fR] [\fB\-mpdr\fR] [\fB\-mno\-pdr\fR] .PP \&\fIگزینه‌های مقصد MMIX:\fR [\fB\-\-fixed\-special\-register\-names\fR] [\fB\-\-globalize\-symbols\fR] [\fB\-\-gnu\-syntax\fR] [\fB\-\-relax\fR] [\fB\-\-no\-predefined\-symbols\fR] [\fB\-\-no\-expand\fR] [\fB\-\-no\-merge\-gregs\fR] [\fB\-x\fR] [\fB\-\-linker\-allocated\-gregs\fR] .PP \&\fIگزینه‌های مقصد NDS32:\fR [\fB\-EL\fR] [\fB\-EB\fR] [\fB\-O\fR] [\fB\-Os\fR] [\fB\-mcpu=\fR\fIcpu\fR] [\fB\-misa=\fR\fIisa\fR] [\fB\-mabi=\fR\fIabi\fR] [\fB\-mall\-ext\fR] [\fB\-m[no\-]16\-bit\fR] [\fB\-m[no\-]perf\-ext\fR] [\fB\-m[no\-]perf2\-ext\fR] [\fB\-m[no\-]string\-ext\fR] [\fB\-m[no\-]dsp\-ext\fR] [\fB\-m[no\-]mac\fR] [\fB\-m[no\-]div\fR] [\fB\-m[no\-]audio\-isa\-ext\fR] [\fB\-m[no\-]fpu\-sp\-ext\fR] [\fB\-m[no\-]fpu\-dp\-ext\fR] [\fB\-m[no\-]fpu\-fma\fR] [\fB\-mfpu\-freg=\fR\fIFREG\fR] [\fB\-mreduced\-regs\fR] [\fB\-mfull\-regs\fR] [\fB\-m[no\-]dx\-regs\fR] [\fB\-mpic\fR] [\fB\-mno\-relax\fR] [\fB\-mb2bb\fR] .PP \&\fIگزینه‌های مقصد PDP11:\fR [\fB\-mpic\fR|\fB\-mno\-pic\fR] [\fB\-mall\fR] [\fB\-mno\-extensions\fR] [\fB\-m\fR\fIextension\fR|\fB\-mno\-\fR\fIextension\fR] [\fB\-m\fR\fIcpu\fR] [\fB\-m\fR\fImachine\fR].PP \&\fIگزینه‌های هدف picoJava:\fR [\fB\-mb\fR|\fB\-me\fR] .PP \&\fIگزینه‌های هدف PowerPC:\fR [\fB\-a32\fR|\fB\-a64\fR] [\fB\-mpwrx\fR|\fB\-mpwr2\fR|\fB\-mpwr\fR|\fB\-m601\fR|\fB\-mppc\fR|\fB\-mppc32\fR|\fB\-m603\fR|\fB\-m604\fR|\fB\-m403\fR|\fB\-m405\fR| \fB\-m440\fR|\fB\-m464\fR|\fB\-m476\fR|\fB\-m7400\fR|\fB\-m7410\fR|\fB\-m7450\fR|\fB\-m7455\fR|\fB\-m750cl\fR|\fB\-mgekko\fR| \fB\-mbroadway\fR|\fB\-mppc64\fR|\fB\-m620\fR|\fB\-me500\fR|\fB\-e500x2\fR|\fB\-me500mc\fR|\fB\-me500mc64\fR|\fB\-me5500\fR| \fB\-me6500\fR|\fB\-mppc64bridge\fR|\fB\-mbooke\fR|\fB\-mpower4\fR|\fB\-mpwr4\fR|\fB\-mpower5\fR|\fB\-mpwr5\fR|\fB\-mpwr5x\fR| \fB\-mpower6\fR|\fB\-mpwr6\fR|\fB\-mpower7\fR|\fB\-mpwr7\fR|\fB\-mpower8\fR|\fB\-mpwr8\fR|\fB\-mpower9\fR|\fB\-mpwr9\fR\fB\-ma2\fR| \fB\-mcell\fR|\fB\-mspe\fR|\fB\-mspe2\fR|\fB\-mtitan\fR|\fB\-me300\fR|\fB\-mcom\fR] [\fB\-many\fR] [\fB\-maltivec\fR|\fB\-mvsx\fR|\fB\-mhtm\fR|\fB\-mvle\fR] [\fB\-mregnames\fR|\fB\-mno\-regnames\fR] [\fB\-mrelocatable\fR|\fB\-mrelocatable\-lib\fR|\fB\-K PIC\fR] [\fB\-memb\fR] [\fB\-mlittle\fR|\fB\-mlittle\-endian\fR|\fB\-le\fR|\fB\-mbig\fR|\fB\-mbig\-endian\fR|\fB\-be\fR] [\fB\-nops=\fR\fIcount\fR] .PP \&\fIگزینه‌های هدف PRU:\fR [\fB\-link\-relax\fR] [\fB\-mnolink\-relax\fR] [\fB\-mno\-warn\-regname\-label\fR] .PP \&\fIگزینه‌های هدف RISC\-V:\fR [\fB\-fpic\fR|\fB\-fPIC\fR|\fB\-fno\-pic\fR] [\fB\-march\fR=\fIISA\fR|\fIProfiles\fR|\fIProfiles_ISA\fR] [\fB\-mabi\fR=\fIABI\fR] [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR] .PP \&\fIگزینه‌های هدف RL78:\fR [\fB\-mg10\fR] [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR] .PP \&\fIگزینه‌های هدف RX:\fR [\fB\-mlittle\-endian\fR|\fB\-mbig\-endian\fR] [\fB\-m32bit\-doubles\fR|\fB\-m64bit\-doubles\fR] [\fB\-muse\-conventional\-section\-names\fR] [\fB\-msmall\-data\-limit\fR] [\fB\-mpid\fR] [\fB\-mrelax\fR] [\fB\-mint\-register=\fR\fInumber\fR] [\fB\-mgcc\-abi\fR|\fB\-mrx\-abi\fR] .PP \&\fIگزینه‌های هدف s390:\fR [\fB\-m31\fR|\fB\-m64\fR] [\fB\-mesa\fR|\fB\-mzarch\fR] [\fB\-march\fR=\fICPU\fR] [\fB\-mregnames\fR|\fB\-mno\-regnames\fR] [\fB\-mwarn\-areg\-zero\fR] [\fB\-mwarn\-regtype\-mismatch=strict\fR \fB\-mwarn\-regtype\-mismatch=relaxed\fR \fB\-mwarn\-regtype\-mismatch=no\fR \fB\-mno\-warn\-regtype\-mismatch\fR] .PP \&\fIگزینه‌های هدف SCORE:\fR [\fB\-EB\fR][\fB\-EL\fR][\fB\-FIXDD\fR][\fB\-NWARN\fR] [\fB\-SCORE5\fR][\fB\-SCORE5U\fR][\fB\-SCORE7\fR][\fB\-SCORE3\fR] [\fB\-march=score7\fR][\fB\-march=score3\fR] [\fB\-USE_R1\fR][\fB\-KPIC\fR][\fB\-O0\fR][\fB\-G\fR \fInum\fR][\fB\-V\fR] .PP \&\fIگزینه‌های هدف SPARC:\fR [\fB\-Av6\fR|\fB\-Av7\fR|\fB\-Av8\fR|\fB\-Aleon\fR|\fB\-Asparclet\fR|\fB\-Asparclite\fR \fB\-Av8plus\fR|\fB\-Av8plusa\fR|\fB\-Av8plusb\fR|\fB\-Av8plusc\fR|\fB\-Av8plusd\fR \fB\-Av8plusv\fR|\fB\-Av8plusm\fR|\fB\-Av9\fR|\fB\-Av9a\fR|\fB\-Av9b\fR|\fB\-Av9c\fR \fB\-Av9d\fR|\fB\-Av9e\fR|\fB\-Av9v\fR|\fB\-Av9m\fR|\fB\-Asparc\fR|\fB\-Asparcvis\fR \fB\-Asparcvis2\fR|\fB\-Asparcfmaf\fR|\fB\-Asparcima\fR|\fB\-Asparcvis3\fR \fB\-Asparcvisr\fR|\fB\-Asparc5\fR] [\fB\-xarch=v8plus\fR|\fB\-xarch=v8plusa\fR]|\fB\-xarch=v8plusb\fR|\fB\-xarch=v8plusc\fR \fB\-xarch=v8plusd\fR|\fB\-xarch=v8plusv\fR|\fB\-xarch=v8plusm\fR|\fB\-xarch=v9\fR \fB\-xarch=v9a\fR|\fB\-xarch=v9b\fR|\fB\-xarch=v9c\fR|\fB\-xarch=v9d\fR|\fB\-xarch=v9e\fR \fB\-xarch=v9v\fR|\fB\-xarch=v9m\fR|\fB\-xarch=sparc\fR|\fB\-xarch=sparcvis\fR \fB\-xarch=sparcvis2\fR|\fB\-xarch=sparcfmaf\fR|\fB\-xarch=sparcima\fR \fB\-xarch=sparcvis3\fR|\fB\-xarch=sparcvisr\fR|\fB\-xarch=sparc5\fR \fB\-bump\fR] [\fB\-32\fR|\fB\-64\fR] [\fB\-\-enforce\-aligned\-data\fR][\fB\-\-dcti\-couples\-detect\fR] .PP \&\fIگزینه‌های هدف TIC54X:\fR [\fB\-mcpu=54[123589]\fR|\fB\-mcpu=54[56]lp\fR] [\fB\-mfar\-mode\fR|\fB\-mf\fR] [\fB\-merrors\-to\-file\fR \fI\fR|\fB\-me\fR \fI\fR] .PP \&\fIگزینه‌های هدف TIC6X:\fR [\fB\-march=\fR\fIarch\fR] [\fB\-mbig\-endian\fR|\fB\-mlittle\-endian\fR] [\fB\-mdsbt\fR|\fB\-mno\-dsbt\fR] [\fB\-mpid=no\fR|\fB\-mpid=near\fR|\fB\-mpid=far\fR] [\fB\-mpic\fR|\fB\-mno\-pic\fR] .PP \&\fIگزینه‌های هدف TILE\-Gx:\fR [\fB\-m32\fR|\fB\-m64\fR][\fB\-EB\fR][\fB\-EL\fR] .PP \&\fIگزینه‌های هدف Visium:\fR [\fB\-mtune=\fR\fIarch\fR] .PP \&\fIگزینه‌های هدف Xtensa:\fR [\fB\-\-[no\-]text\-section\-literals\fR] [\fB\-\-[no\-]auto\-litpools\fR] [\fB\-\-[no\-]absolute\-literals\fR] [\fB\-\-[no\-]target\-align\fR] [\fB\-\-[no\-]longcalls\fR] [\fB\-\-[no\-]transform\fR] [\fB\-\-rename\-section\fR \fIoldname\fR=\fInewname\fR] [\fB\-\-[no\-]trampolines\fR] [\fB\-\-abi\-windowed\fR|\fB\-\-abi\-call0\fR] .PP \&\fIگزینه‌های هدف Z80:\fR [\fB\-march=\fR\fICPU\fR\fI[\-EXT]\fR\fI[+EXT]\fR] [\fB\-local\-prefix=\fR\fIPREFIX\fR] [\fB\-colonless\fR] [\fB\-sdcc\fR] [\fB\-fp\-s=\fR\fIFORMAT\fR] [\fB\-fp\-d=\fR\fIFORMAT\fR].SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" برنامهٔ GNU \fBas\fR در واقع خانواده‌ای از اسمبلرها است. اگر از اسمبلر گنو در یک معماری استفاده می‌کنید (یا استفاده کرده‌اید)، باید هنگام استفاده از آن در معماری دیگر، با محیط نسبتاً مشابهی روبرو شوید. هر نسخه با سایر نسخه‌ها مشترکات زیادی دارد، از جمله قالب‌های فایل شیء، بیشتر دستورالعمل‌های اسمبلر (که اغلب \&\fIpseudo\-ops\fR نامیده می‌شوند) و نحو اسمبلر. .PP هدف اصلی \&\fBas\fR اسمبل کردن خروجی کامپایلر سی گنو \f(CW\*(C`gcc\*(C'\fR برای استفاده توسط پیونددهندهٔ \&\f(CW\*(C`ld\*(C'\fR است. با این حال، ما تلاش کرده‌ایم تا \fBas\fR هر آنچه را که سایر اسمبلرها برای همان ماشین اسمبل می‌کنند، به درستی اسمبل کند. هرگونه استثنا به‌طور صریح مستند شده است. این بدان معنا نیست که \fBas\fR همیشه از همان نحوی استفاده می‌کند که اسمبلر دیگری برای همان معماری استفاده می‌کند؛ برای مثال، ما از چندین نسخهٔ ناسازگار از نحو زبان اسمبلی 680x0 آگاه هستیم. .PP هر بار که \fBas\fR را اجرا می‌کنید، دقیقاً یک برنامهٔ منبع را اسمبل می‌کند. برنامهٔ منبع از یک یا چند فایل تشکیل شده است. (ورودی استاندارد نیز یک فایل است.) .PP شما به \fBas\fR یک خط فرمان می‌دهید که شامل صفر یا چند نام فایل ورودی است. فایل‌های ورودی (از نام فایل سمت چپ به راست) خوانده می‌شوند. هر آرگومان خط فرمان (در هر موقعیتی) که معنای خاصی نداشته باشد، به عنوان نام فایل ورودی در نظر گرفته می‌شود. .PP اگر هیچ نام فایلی به \fBas\fR ندهید، تلاش می‌کند یک فایل ورودی را از ورودی استاندارد \fBas\fR بخواند که معمولاً ترمینال شما است. ممکن است مجبور شوید \fBctl\-D\fR را تایپ کنید تا به \fBas\fR اعلام نمایید برنامهٔ دیگری برای اسمبل کردن وجود ندارد. .PP اگر نیاز دارید صراحتاً فایل ورودی استاندارد را در خط فرمان خود نام ببرید، از \fB\-\-\fR استفاده کنید. .PP اگر منبع خالی باشد، \fBas\fR یک فایل شیء کوچک و خالی تولید می‌کند. .PP \&\fBas\fR ممکن است پیام‌های هشدار و خطا را در فایل خطای استاندارد (معمولاً ترمینال شما) بنویسد. این امر نباید زمانی که یک کامپایلر \fBas\fR را به‌طور خودکار اجرا می‌کند رخ دهد. هشدارها فرضی را گزارش می‌دهند که در نظر گرفته شده تا \fBas\fR بتواند به اسمبل کردن یک برنامهٔ ناقص ادامه دهد؛ خطاها مشکلی جدی را گزارش می‌دهند که اسمبل کردن را متوقف می‌کند. .PP اگر \fBas\fR را از طریق کامپایلر سی گنو فراخوانی می‌کنید، می‌توانید از گزینهٔ \fB\-Wa\fR برای ارسال آرگومان‌ها به اسمبلر استفاده کنید. آرگومان‌های اسمبلر باید با کاما از یکدیگر (و از \fB\-Wa\fR) جدا شوند. برای مثال: .PP .Vb 1 \& gcc \-c \-g \-O \-Wa,\-alh,\-L file.c .Ve .PP این دستور دو گزینه را به اسمبلر ارسال می‌کند: \fB\-alh\fR (تولید یک فهرست در خروجی استاندارد به همراه کد منبع سطح‌بالا و اسمبلی) و \fB\-L\fR (نگه‌داشتن نمادهای داخلی در جدول نمادها). .PP معمولاً نیازی به استفاده از این سازوکار \fB\-Wa\fR ندارید، زیرا بسیاری از گزینه‌های خط فرمان کامپایلر به‌طور خودکار توسط کامپایلر به اسمبلر ارسال می‌شوند. (می‌توانید گردانندهٔ کامپایلر گنو را با گزینهٔ \fB\-v\fR فراخوانی کنید تا دقیقاً ببینید چه گزینه‌هایی را به هر مرحلهٔ کامپایل، از جمله اسمبلر، ارسال می‌کند.) .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP \fB@\fR\fIfile\fR 4 .IX Item "@file" گزینه‌های خط فرمان را از \fIfile\fR می‌خواند. گزینه‌های خوانده‌شده به جای گزینهٔ اصلی @\fIfile\fR جایگزین می‌شوند. اگر \fIfile\fR وجود نداشته باشد یا قابل خواندن نباشد، با گزینه به‌صورت تحت‌اللفظی رفتار می‌شود و حذف نخواهد شد. .Sp گزینه‌ها در \fIfile\fR با نویسه‌های فاصله از یکدیگر جدا می‌شوند. یک نویسهٔ فاصله می‌تواند با محصور کردن کل گزینه در علامت‌های نقل‌قول تکی یا دوتایی، در گزینه گنجانده شود. هر نویسه‌ای (از جمله بک‌اسلش) را می‌توان با قرار دادن یک بک‌اسلش در ابتدای آن نویسه در گزینه گنجاند. خود \fIfile\fR ممکن است شامل گزینه‌های @\fIfile\fR بیشتری باشد؛ هر یک از این گزینه‌ها به‌صورت بازگشتی پردازش خواهند شد. .IP \fB\-a[cdghilmns]\fR 4 .IX Item "-a[cdghilmns]" تولید فهرست‌ها را به روش‌های گوناگون فعال می‌کند: .RS 4 .IP \fB\-ac\fR 4 .IX Item "-ac" صرف‌نظر کردن از شرط‌های نادرست .IP \fB\-ad\fR 4 .IX Item "-ad" صرف‌نظر کردن از دستورالعمل‌های اشکال‌زدایی .IP \fB\-ag\fR 4 .IX Item "-ag" گنجاندن اطلاعات عمومی، مانند نسخهٔ as و گزینه‌های ارسال‌شده .IP \fB\-ah\fR 4 .IX Item "-ah" گنجاندن کد منبع سطح‌بالا .IP \fB\-al\fR 4 .IX Item "-al" گنجاندن اسمبلی .IP \fB\-ali\fR 4 .IX Item "-ali" گنجاندن اسمبلی همراه با ginsn .IP \fB\-am\fR 4 .IX Item "-am" گنجاندن بسط‌های ماکرو .IP \fB\-an\fR 4 .IX Item "-an" صرف‌نظر کردن از پردازش فرم‌ها .IP \fB\-as\fR 4 .IX Item "-as" گنجاندن نمادها .IP \fB=file\fR 4 .IX Item "=file" تعیین نام فایل فهرست .RE .RS 4 .Sp می‌توانید این گزینه‌ها را با هم ترکیب کنید؛ برای مثال، از \fB\-aln\fR برای فهرست اسمبلی بدون پردازش فرم‌ها استفاده کنید. گزینهٔ \fB=file\fR در صورت استفاده باید آخرین گزینه باشد. به تنهایی، \fB\-a\fR به‌صورت پیش‌فرض معادل \fB\-ahls\fR است. .RE .IP \fB\-\-alternate\fR 4 .IX Item "--alternate" شروع در حالت ماکروی جایگزین. .IP \fB\-\-compress\-debug\-sections\fR 4 .IX Item "--compress-debug-sections" فشرده‌سازی بخش‌های اشکال‌زدایی DWARF با استفاده از zlib همراه با SHF_COMPRESSED برگرفته از ELF ABI. فایل شیء حاصل ممکن است با پیونددهنده‌ها و ابزارهای قدیمی‌تر فایل شیء سازگار نباشد. توجه داشته باشید که اگر فشرده‌سازی باعث \fIبزرگ‌تر شدن\fR یک بخش شود، فشرده نخواهد شد. .IP \fB\-\-compress\-debug\-sections=none\fR 4 .IX Item "--compress-debug-sections=none" .PD 0 .IP \fB\-\-compress\-debug\-sections=zlib\fR 4 .IX Item "--compress-debug-sections=zlib" .IP \fB\-\-compress\-debug\-sections=zlib\-gnu\fR 4 .IX Item "--compress-debug-sections=zlib-gnu" .IP \fB\-\-compress\-debug\-sections=zlib\-gabi\fR 4 .IX Item "--compress-debug-sections=zlib-gabi" .IP \fB\-\-compress\-debug\-sections=zstd\fR 4 .IX Item "--compress-debug-sections=zstd" .PD این گزینه‌ها نحوهٔ فشرده‌سازی بخش‌های اشکال‌زدایی DWARF را کنترل می‌کنند. \&\fB\-\-compress\-debug\-sections=none\fR معادل \&\fB\-\-nocompress\-debug\-sections\fR است. \&\fB\-\-compress\-debug\-sections=zlib\fR و \&\fB\-\-compress\-debug\-sections=zlib\-gabi\fR معادل \&\fB\-\-compress\-debug\-sections\fR هستند. \&\fB\-\-compress\-debug\-sections=zlib\-gnu\fR بخش‌های اشکال‌زدایی DWARF را با استفاده از قالب منسوخ‌شدهٔ zlib\-gnu فشرده می‌کند. نام بخش‌های اشکال‌زدایی تغییر یافته تا با \fB.zdebug\fR آغاز شوند. \&\fB\-\-compress\-debug\-sections=zstd\fR بخش‌های اشکال‌زدایی DWARF را با استفاده از zstd فشرده می‌کند. توجه \- اگر فشرده‌سازی در عمل باعث \fIبزرگ‌تر شدن\fR یک بخش شود، فشرده نخواهد شد و نام آن نیز تغییر نمی‌کند. .IP \fB\-\-nocompress\-debug\-sections\fR 4 .IX Item "--nocompress-debug-sections" بخش‌های اشکال‌زدایی DWARF را فشرده نمی‌کند. این حالت معمولاً برای همهٔ هدف‌ها به جز x86/x86_64 پیش‌فرض است، اما می‌توان از یک گزینه در زمان پیکربندی برای تغییر دادن آن استفاده کرد. .IP \fB\-D\fR 4 .IX Item "-D" اشکال‌زدایی را در بخش‌های پایانی وابسته به معماری هدف فعال می‌کند، در صورتی که پشتیبانی شود. در غیر این صورت نادیده گرفته می‌شود. حتی در صورت نادیده گرفته شدن، این گزینه برای سازگاری اسکریپت‌ها با فراخوانی سایر اسمبلرها پذیرفته می‌شود. .IP "\fB\-\-debug\-prefix\-map\fR \fIold\fR\fB=\fR\fInew\fR" 4 .IX Item "--debug-prefix-map old=new" هنگام اسمبل کردن فایل‌ها در دایرکتوری \fIold\fR، اطلاعات اشکال‌زدایی به گونه‌ای ثبت می‌شوند که گویی در دایرکتوری \fInew\fR قرار دارند. .IP "\fB\-\-defsym\fR \fIsym\fR\fB=\fR\fIvalue\fR" 4 .IX Item "--defsym sym=value" پیش از اسمبل کردن فایل ورودی، نماد \fIsym\fR را با مقدار \fIvalue\fR تعریف می‌کند. \fIvalue\fR باید یک عدد صحیح ثابت باشد. همانند زبان C، یک پیشوند \fB0x\fR نشان‌دهندهٔ مقدار هگزادسیمال و یک پیشوند \fB0\fR نشان‌دهندهٔ مقدار هشت‌هشتی است. مقدار این نماد می‌تواند درون یک فایل منبع با استفاده از شبه‌دستور \f(CW\*(C`.set\*(C'\fR بازنویسی شود. .IP \fB\-\-dump\-config\fR 4 .IX Item "--dump-config" نحوهٔ پیکربندی اسمبلر را نمایش می‌دهد و سپس خارج می‌شود. .IP \fB\-\-elf\-stt\-common=no\fR 4 .IX Item "--elf-stt-common=no" .PD 0 .IP \fB\-\-elf\-stt\-common=yes\fR 4 .IX Item "--elf-stt-common=yes".PD این گزینه‌ها کنترل می‌کنند که آیا اسِمبلر ELF باید نمادهای عمومی را با نوع \f(CW\*(C`STT_COMMON\*(C'\fR تولید کند یا خیر. مقدار پیش‌فرض را می‌توان با گزینهٔ پیکربندی \fB\-\-enable\-elf\-stt\-common\fR کنترل کرد. .IP \fB\-\-emit\-local\-absolute\fR 4 .IX Item "--emit-local-absolute" حتی نمادهای مطلق (محلی) از پیش تعریف‌شده را نیز در جدول نماد خروجی درج می‌کند. توجه داشته باشید که این گزینه دقیقاً برعکس \fB\-\-strip\-local\-absolute\fR نیست. .IP \fB\-\-emulation=\fR\fIname\fR 4 .IX Item "--emulation=name" اگر اسِمبلر برای پشتیبانی از چندین پیکربندی هدف مختلف پیکربندی شده باشد، می‌توان از این گزینه برای انتخاب ساختار مورد نظر استفاده کرد. .IP \fB\-f\fR 4 .IX Item "-f" «سریع» \- صرف‌نظر کردن از پیش‌پردازش فاصله‌های خالی و کامنت‌ها (با این فرض که کد منبع، خروجی کامپایلر است). .IP \fB\-g\fR 4 .IX Item "-g" .PD 0 .IP \fB\-\-gen\-debug\fR 4 .IX Item "--gen-debug" .PD تولید اطلاعات اشکال‌زدایی برای هر خط از کد منبع اسِمبلی با استفاده از هر قالب اشکال‌زدایی که هدف ترجیح می‌دهد. این مورد در حال حاضر به معنای یکی از قالب‌های STABS،‏ ECOFF یا DWARF2 است. هنگامی که قالب اشکال‌زدایی DWARF باشد، بخش‌های \f(CW\*(C`.debug_info\*(C'\fR و \&\f(CW\*(C`.debug_line\*(C'\fR تنها در صورتی درج می‌شوند که خود فایل اسِمبلی آن‌ها را تولید نکرده باشد. .IP \fB\-\-gstabs\fR 4 .IX Item "--gstabs" تولید اطلاعات اشکال‌زدایی stabs برای هر خط اسِمبلر. این کار در صورتی که اشکال‌زدا بتواند آن را پردازش کند، ممکن است به اشکال‌زدایی کد اسِمبلی کمک کند. .IP \fB\-\-gstabs+\fR 4 .IX Item "--gstabs+" تولید اطلاعات اشکال‌زدایی stabs برای هر خط اسِمبلر، با افزونه‌های GNU که احتمالاً تنها gdb توانایی پردازش آن‌ها را دارد، و ممکن است باعث از کار افتادن سایر اشکال‌زداها یا خودداری آن‌ها از خواندن برنامهٔ شما شود. این کار ممکن است به اشکال‌زدایی کد اسِمبلی کمک کند. در حال حاضر تنها افزونهٔ GNU، موقعیت دایرکتوری کاری فعلی در زمان اسِمبل کردن است. .IP \fB\-\-gdwarf\-2\fR 4 .IX Item "--gdwarf-2" تولید اطلاعات اشکال‌زدایی DWARF2 برای هر خط اسِمبلر. این کار در صورتی که اشکال‌زدا بتواند آن را پردازش کند، ممکن است به اشکال‌زدایی کد اسِمبلی کمک کند. توجه داشته باشید که این گزینه تنها توسط برخی از هدف‌ها پشتیبانی می‌شود، نه همهٔ آن‌ها. .IP \fB\-\-gdwarf\-3\fR 4 .IX Item "--gdwarf-3" این گزینه مانند گزینهٔ \fB\-\-gdwarf\-2\fR است، به جز اینکه امکان تولید اطلاعات اشکال‌زدایی اضافی مطابق با نسخهٔ ۳ مشخصات DWARF را فراهم می‌کند. توجه داشته باشید که فعال کردن این گزینه تولید هرگونه اطلاعات اضافی را تضمین نمی‌کند و تصمیم‌گیری برای انجام این کار برای هر هدف به طور جداگانه است. .IP \fB\-\-gdwarf\-4\fR 4 .IX Item "--gdwarf-4" این گزینه مانند گزینهٔ \fB\-\-gdwarf\-2\fR است، به جز اینکه امکان تولید اطلاعات اشکال‌زدایی اضافی مطابق با نسخهٔ ۴ مشخصات DWARF را فراهم می‌کند. توجه داشته باشید که فعال کردن این گزینه تولید هرگونه اطلاعات اضافی را تضمین نمی‌کند و تصمیم‌گیری برای انجام این کار برای هر هدف به طور جداگانه است. .IP \fB\-\-gdwarf\-5\fR 4 .IX Item "--gdwarf-5" این گزینه مانند گزینهٔ \fB\-\-gdwarf\-2\fR است، به جز اینکه امکان تولید اطلاعات اشکال‌زدایی اضافی مطابق با نسخهٔ ۵ مشخصات DWARF را فراهم می‌کند. توجه داشته باشید که فعال کردن این گزینه تولید هرگونه اطلاعات اضافی را تضمین نمی‌کند و تصمیم‌گیری برای انجام این کار برای هر هدف به طور جداگانه است. .IP \fB\-\-gdwarf\-sections\fR 4 .IX Item "--gdwarf-sections" به‌جای ایجاد یک بخش .debug_line، مجموعه‌ای از بخش‌های \&.debug_line.\fIfoo\fR ایجاد می‌کند که در آن \fIfoo\fR نام بخش کد متناظر است. برای مثال یک بخش کد به نام \fI.text.func\fR اطلاعات شماره خط dwarf خود را در بخشی به نام \&\fI.debug_line.text.func\fR قرار خواهد داد. اگر بخش کد صرفاً \fI.text\fR نامیده شود، بخش خطوط اشکال‌زدایی همچنان بدون هیچ پسوندی فقط \fI.debug_line\fR نامیده خواهد شد. .IP \fB\-\-gdwarf\-cie\-version=\fR\fIversion\fR 4 .IX Item "--gdwarf-cie-version=version" کنترل می‌کند که کدام نسخه از مدخل‌های اطلاعات مشترک DWARF (یا CIEها) تولید شوند. هنگامی که این پرچم مشخص نشده باشد، پیش‌فرض نسخهٔ ۱ است، اگرچه برخی از هدف‌ها می‌توانند این مقدار پیش‌فرض را تغییر دهند. سایر مقادیر ممکن برای \fIversion\fR، ۳ یا ۴ است. .IP \fB\-\-generate\-missing\-build\-notes=yes\fR 4 .IX Item "--generate-missing-build-notes=yes" .PD 0 .IP \fB\-\-generate\-missing\-build\-notes=no\fR 4 .IX Item "--generate-missing-build-notes=no" .PD این گزینه‌ها کنترل می‌کنند که آیا اسِمبلر ELF باید در صورت عدم وجود یادداشت‌های مشخصهٔ ساخت GNU در منابع ورودی، آن‌ها را تولید کند یا خیر. مقدار پیش‌فرض را می‌توان توسط گزینهٔ پیکربندی \fB\-\-enable\-generate\-build\-notes\fR کنترل کرد. .IP \fB\-\-gsframe\fR 4 .IX Item "--gsframe" .PD 0 .IP \fB\-\-gsframe\fR 4 .IX Item "--gsframe" .IP \fB\-\-gsframe=no\fR 4 .IX Item "--gsframe=no" .IP \fB\-\-gsframe=yes\fR 4 .IX Item "--gsframe=yes" .PD ایجاد بخش \fI.sframe\fR از دستورالعمل‌های CFI. گزینهٔ صریح \&\fB\-\-gsframe=yes\fR همانند \fB\-\-gsframe\fR رفتار می‌کند. تولید این اطلاعات را می‌توان با \fB\-\-gsframe=no\fR متوقف کرد. مقدار پیش‌فرض را می‌توان توسط گزینهٔ پیکربندی \fB\-\-enable\-default\-sframe\fR کنترل کرد. نسخهٔ فعلی داده‌های ردگیری پشتهٔ SFrame صادرشده، SFRAME_VERSION_3 است. .IP \fB\-\-gsframe\-3\fR 4 .IX Item "--gsframe-3" تولید اطلاعات ردگیری پشتهٔ SFrame مطابق با نسخهٔ ۳ مشخصات. .IP "\fB\-\-hash\-size\fR \fIN\fR" 4 .IX Item "--hash-size N" نادیده گرفته می‌شود. برای سازگاری خط فرمان با سایر اسِمبلرها پشتیبانی می‌شود. .IP \fB\-\-help\fR 4 .IX Item "--help" چاپ خلاصه‌ای از گزینه‌های خط فرمان و خروج. .IP \fB\-\-target\-help\fR 4 .IX Item "--target-help" چاپ خلاصه‌ای از تمام گزینه‌های مختص هدف و خروج. .IP \fB\-\-info\fR 4 .IX Item "--info" عدم پنهان‌سازی پیام‌های اطلاعاتی (نمایش داده شوند). .IP \fB\-\-no\-info\fR 4 .IX Item "--no-info" پنهان‌سازی پیام‌های اطلاعاتی. .IP "\fB\-I\fR \fIdir\fR" 4 .IX Item "-I dir" افزودن دایرکتوری \fIdir\fR به فهرست جستجو برای دستورالعمل‌های \f(CW\*(C`.include\*(C'\fR. .IP \fB\-J\fR 4 .IX Item "-J" دربارهٔ سرریز با علامت (signed overflow) هشدار داده نشود. .IP \fB\-K\fR 4 .IX Item "-K" هنگامی که جدول‌های تفاضل برای جابه‌جایی‌های بزرگ تغییر داده می‌شوند، هشدار داده شود. .IP \fB\-L\fR 4 .IX Item "-L" .PD 0 .IP \fB\-\-keep\-locals\fR 4 .IX Item "--keep-locals" .PD نگه‌داری نمادهای داخلی (در جدول نمادها). این نمادها با پیشوندهای برچسب محلی مختص به سیستم آغاز می‌شوند؛ معمولاً \fB.L\fR برای سیستم‌های ELF یا \fBL\fR برای سیستم‌های سنتی a.out. .IP \fB\-\-listing\-lhs\-width=\fR\fInumber\fR 4 .IX Item "--listing-lhs-width=number" تنظیم حداکثر عرض ستون داده‌های خروجی برای سیاههٔ اسِمبلر (بر حسب کلمه) روی \fInumber\fR. .IP \fB\-\-listing\-lhs\-width2=\fR\fInumber\fR 4 .IX Item "--listing-lhs-width2=number" تنظیم حداکثر عرض ستون داده‌های خروجی برای خطوط ادامه‌دار در سیاههٔ اسِمبلر (بر حسب کلمه) روی \fInumber\fR. .IP \fB\-\-listing\-rhs\-width=\fR\fInumber\fR 4 .IX Item "--listing-rhs-width=number" تنظیم حداکثر عرض خط منبع ورودی، بدان‌گونه که در سیاهه نمایش داده می‌شود، روی \&\fInumber\fR بایت. .IP \fB\-\-listing\-cont\-lines=\fR\fInumber\fR 4 .IX Item "--listing-cont-lines=number" تنظیم حداکثر تعداد خطوط چاپ‌شده در سیاهه برای یک خط ورودی واحد به \fInumber\fR + 1. .IP \fB\-\-multibyte\-handling=allow\fR 4 .IX Item "--multibyte-handling=allow" .PD 0 .IP \fB\-\-multibyte\-handling=warn\fR 4 .IX Item "--multibyte-handling=warn" .IP \fB\-\-multibyte\-handling=warn\-sym\-only\fR 4 .IX Item "--multibyte-handling=warn-sym-only" .IP \fB\-\-multibyte\-handling=warn_sym_only\fR 4 .IX Item "--multibyte-handling=warn_sym_only" .PD نحوهٔ مدیریت نویسه‌های چندبایتی در ورودی توسط اسِمبلر را کنترل می‌کند. حالت پیش‌فرض (که با استفاده از آرگومان \fBallow\fR قابل بازیابی است) این است که چنین نویسه‌هایی بدون صدور اخطار مجاز باشند. استفاده از آرگومان \fBwarn\fR باعث می‌شود اسِمبلر هر زمان که با هر نویسهٔ چندبایتی مواجه شد یک پیام هشدار صادر کند. استفاده از آرگومان \fBwarn\-sym\-only\fR تنها زمانی موجب تولید هشدار می‌شود که نمادی با نام حاوی نویسه‌های چندبایتی تعریف شده باشد. (ارجاع به نمادهای تعریف‌نشده هشداری تولید نخواهد کرد). .IP \fB\-\-no\-pad\-sections\fR 4 .IX Item "--no-pad-sections" جلوگیری از پُر کردن (padding) انتهای بخش‌های خروجی توسط اسِمبلر تا تراز آن بخش. حالت پیش‌فرض پُر کردن بخش‌ها است، اما این امر می‌تواند فضایی را که ممکن است در هدف‌های دارای محدودیت شدید حافظه مورد نیاز باشد، هدر دهد. .IP "\fB\-o\fR \fIobjfile\fR" 4 .IX Item "-o objfile" نام‌گذاری فایل شیء خروجی از \fBas\fR به نام \fIobjfile\fR..IP \fB\-R\fR 4 .IX Item "-R" بخش data را در بخش text ادغام می‌کند. .IP \fB\-\-reduce\-memory\-overheads\fR 4 .IX Item "--reduce-memory-overheads" نادیده گرفته می‌شود. جهت سازگاری با ابزارهایی که همین گزینه را هم به اسمبلر و هم به پیونددهنده ارسال می‌کنند، پشتیبانی می‌شود. .IP \fB\-\-reloc\-section\-sym=all\fR 4 .IX Item "--reloc-section-sym=all" .PD 0 .IP \fB\-\-reloc\-section\-sym=internal\fR 4 .IX Item "--reloc-section-sym=internal" .IP \fB\-\-reloc\-section\-sym=none\fR 4 .IX Item "--reloc-section-sym=none" .PD تعیین می‌کند که آیا بازنشانی‌های ارجاع‌دهنده به نمادهای دارای پیوند محلی، طوری تنظیم شوند که به جای آن از نمادهای بخش استفاده کنند یا خیر. با \f(CW\*(C`all\*(C'\fR (پیش‌فرض)، بازنشانی‌های مربوط به تمام نمادهای محلی واجد شرایط تبدیل می‌شوند. با \&\f(CW\*(C`internal\*(C'\fR، تنها بازنشانی‌های مربوط به برچسب‌های داخلی (نمادهای منطبق با پیشوند \&\f(CW\*(C`.L\*(C'\fR) تبدیل می‌شوند. با \f(CW\*(C`none\*(C'\fR، هیچ‌گونه تبدیلی انجام نمی‌گیرد. .IP \fB\-\-scfi=experimental\fR 4 .IX Item "--scfi=experimental" این گزینه مشخص می‌کند که آیا اسمبلر باید برای ورودی دست‌نویس، CFI تولید کند یا خیر. اگر ورودی از قبل شامل برخی دایرکتیوهای قابل ساخت CFI باشد، اسمبلر آن‌ها را نادیده گرفته و یک هشدار صادر می‌کند. توجه داشته باشید که \&\f(CW\*(C`\-\-scfi=experimental\*(C'\fR برای کدهای تولیدشده توسط کامپایلر، از جمله اسمبلی درون‌خطی (inline assembly)، در نظر گرفته نشده است. این پشتیبانی آزمایشی در حال توسعه است. تنها System V AMD64 ABI پشتیبانی می‌شود. .Sp هر تابع ورودی در کد اسمبلی باید با دایرکتیو \f(CW\*(C`.type\*(C'\fR آغاز شود و در حالت ایده‌آل باید با استفاده از یک دایرکتیو \f(CW\*(C`.size\*(C'\fR خاتمه یابد. هنگام استفاده از SCFI، هر دایرکتیو \f(CW\*(C`.type\*(C'\fR به GAS اعلام می‌کند تا یک FDE جدید (یا همان Function Descriptor Entry) را آغاز کند. این بدان معناست که با هر دایرکتیو \f(CW\*(C`.type\*(C'\fR، بلوک دستورات قبلی، در صورت وجود، به عنوان یک FDE متمایز نهایی می‌شود. .IP \fB\-\-sectname\-subst\fR 4 .IX Item "--sectname-subst" توالی‌های جایگزینی را در نام بخش‌ها اعمال می‌کند. .IP \fB\-\-size\-check=error\fR 4 .IX Item "--size-check=error" .PD 0 .IP \fB\-\-size\-check=warning\fR 4 .IX Item "--size-check=warning" .PD صدور یک خطا یا هشدار برای دایرکتیو نامعتبر .size در ELF. .IP \fB\-\-statistics\fR 4 .IX Item "--statistics" چاپ حداکثر فضای استفاده‌شده (به بایت) و کل زمان صرف‌شده (به ثانیه) توسط فرایند اسمبل. .IP \fB\-\-strip\-local\-absolute\fR 4 .IX Item "--strip-local-absolute" حذف نمادهای مطلق محلی از جدول نمادهای خروجی. .IP \fB\-v\fR 4 .IX Item "-v" .PD 0 .IP \fB\-\-verbose\fR 4 .IX Item "--verbose" .PD چاپ نسخه \fBas\fR. .IP \fB\-\-version\fR 4 .IX Item "--version" .PD 0 .IP \fB\-version\fR 4 .IX Item "-version" .PD چاپ نسخه \fBas\fR و خروج. .IP \fB\-W\fR 4 .IX Item "-W" .PD 0 .IP \fB\-\-no\-warn\fR 4 .IX Item "--no-warn" .PD جلوگیری از نمایش پیام‌های هشدار. .IP \fB\-\-warn\fR 4 .IX Item "--warn" پیام‌های هشدار را پنهان نکرده و آن‌ها را به عنوان خطا تلقی نمی‌کند. .IP \fB\-\-fatal\-warnings\fR 4 .IX Item "--fatal-warnings" هشدارها را به عنوان خطا در نظر می‌گیرد. .IP \fB\-w\fR 4 .IX Item "-w" نادیده گرفته می‌شود. .IP \fB\-x\fR 4 .IX Item "-x" نادیده گرفته می‌شود. .IP \fB\-Z\fR 4 .IX Item "-Z" تولید فایل شیء حتی پس از بروز خطاها. .IP "\fB\-\- |\fR \fIfiles\fR \fB...\fR" 4 .IX Item "-- | files ..." ورودی استاندارد، یا فایل‌های مبدأ برای اسمبل کردن. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای حالت ۶۴ بیتی معماری ARM (AArch64) پیکربندی شده باشد. .IP \fB\-EB\fR 4 .IX Item "-EB" این گزینه مشخص می‌کند که خروجی تولیدشده توسط اسمبلر باید به گونه‌ای علامت‌گذاری شود که نشان دهد برای یک پردازنده big\-endian کدگذاری شده است. .IP \fB\-EL\fR 4 .IX Item "-EL" این گزینه مشخص می‌کند که خروجی تولیدشده توسط اسمبلر باید به گونه‌ای علامت‌گذاری شود که نشان دهد برای یک پردازنده little\-endian کدگذاری شده است. .IP \fB\-mabi=\fR\fIabi\fR 4 .IX Item "-mabi=abi" مشخص می‌کند که کد مبدأ از کدام ABI استفاده می‌کند. آرگومان‌های شناخته‌شده عبارتند از: \f(CW\*(C`ilp32\*(C'\fR و \f(CW\*(C`lp64\*(C'\fR، که قالب فایل شیء تولیدی را به ترتیب در فرمت ELF32 و ELF64 تعیین می‌کند. پیش‌فرض \f(CW\*(C`lp64\*(C'\fR است. .IP \fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR 4 .IX Item "-mcpu=processor[+extension...]" این گزینه پردازنده هدف را مشخص می‌کند. در صورتی که تلاشی برای اسمبل کردن دستوری انجام شود که روی پردازنده هدف اجرا نخواهد شد، اسمبلر یک پیام خطا صادر می‌کند. نام‌های پردازنده‌های زیر شناخته شده هستند: \&\f(CW\*(C`cortex\-a34\*(C'\fR, \&\f(CW\*(C`cortex\-a35\*(C'\fR, \&\f(CW\*(C`cortex\-a53\*(C'\fR, \&\f(CW\*(C`cortex\-a55\*(C'\fR, \&\f(CW\*(C`cortex\-a57\*(C'\fR, \&\f(CW\*(C`cortex\-a65\*(C'\fR, \&\f(CW\*(C`cortex\-a65ae\*(C'\fR, \&\f(CW\*(C`cortex\-a72\*(C'\fR, \&\f(CW\*(C`cortex\-a73\*(C'\fR, \&\f(CW\*(C`cortex\-a75\*(C'\fR, \&\f(CW\*(C`cortex\-a76\*(C'\fR, \&\f(CW\*(C`cortex\-a76ae\*(C'\fR, \&\f(CW\*(C`cortex\-a77\*(C'\fR, \&\f(CW\*(C`cortex\-a78\*(C'\fR, \&\f(CW\*(C`cortex\-a78ae\*(C'\fR, \&\f(CW\*(C`cortex\-a78c\*(C'\fR, \&\f(CW\*(C`cortex\-a510\*(C'\fR, \&\f(CW\*(C`cortex\-a520\*(C'\fR, \&\f(CW\*(C`cortex\-a710\*(C'\fR, \&\f(CW\*(C`cortex\-a720\*(C'\fR, \&\f(CW\*(C`ares\*(C'\fR, \&\f(CW\*(C`exynos\-m1\*(C'\fR, \&\f(CW\*(C`falkor\*(C'\fR, \&\f(CW\*(C`neoverse\-n1\*(C'\fR, \&\f(CW\*(C`neoverse\-n2\*(C'\fR, \&\f(CW\*(C`neoverse\-e1\*(C'\fR, \&\f(CW\*(C`neoverse\-v1\*(C'\fR, \&\f(CW\*(C`qdf24xx\*(C'\fR, \&\f(CW\*(C`saphira\*(C'\fR, \&\f(CW\*(C`thunderx\*(C'\fR, \&\f(CW\*(C`vulcan\*(C'\fR, \&\f(CW\*(C`xgene1\*(C'\fR \&\f(CW\*(C`xgene2\*(C'\fR, \&\f(CW\*(C`cortex\-r82\*(C'\fR, \&\f(CW\*(C`cortex\-x1\*(C'\fR, \&\f(CW\*(C`cortex\-x2\*(C'\fR, \&\f(CW\*(C`cortex\-x3\*(C'\fR, و \&\f(CW\*(C`cortex\-x4\*(C'\fR. نام ویژه \f(CW\*(C`all\*(C'\fR می‌تواند برای مجاز کردن اسمبلر به پذیرش دستوراتی که برای هر پردازنده پشتیبانی‌شده معتبر است، شامل تمام افزونه‌های اختیاری، استفاده شود. .Sp علاوه بر مجموعه دستورات پایه، می‌توان به اسمبلر دستور داد تا شناسه‌های نمادین (mnemonics) افزونه‌های مختلفی را که پردازنده را توسعه می‌دهند، بپذیرد یا محدود کند. .Sp اگر برخی پیاده‌سازی‌های یک پردازنده خاص بتوانند یک افزونه را داشته باشند، آن افزونه‌ها به طور خودکار فعال می‌شوند. در نتیجه، معمولاً نیازی به مشخص کردن هیچ افزونه اضافی نخواهید داشت. .IP \fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR 4 .IX Item "-march=architecture[+extension...]" این گزینه معماری هدف را مشخص می‌کند. در صورتی که تلاشی برای اسمبل کردن دستوری انجام شود که روی معماری هدف اجرا نخواهد شد، اسمبلر یک پیام خطا صادر می‌کند. نام‌های معماری زیر شناخته شده هستند: \f(CW\*(C`armv8\-a\*(C'\fR, \&\f(CW\*(C`armv8.1\-a\*(C'\fR, \f(CW\*(C`armv8.2\-a\*(C'\fR, \f(CW\*(C`armv8.3\-a\*(C'\fR, \f(CW\*(C`armv8.4\-a\*(C'\fR \&\f(CW\*(C`armv8.5\-a\*(C'\fR, \f(CW\*(C`armv8.6\-a\*(C'\fR, \f(CW\*(C`armv8.7\-a\*(C'\fR, \f(CW\*(C`armv8.8\-a\*(C'\fR, \&\f(CW\*(C`armv8.9\-a\*(C'\fR, \f(CW\*(C`armv8\-r\*(C'\fR, \f(CW\*(C`armv9\-a\*(C'\fR, \f(CW\*(C`armv9.1\-a\*(C'\fR, \&\f(CW\*(C`armv9.2\-a\*(C'\fR, \f(CW\*(C`armv9.3\-a\*(C'\fR, \f(CW\*(C`armv9.4\-a\*(C'\fR و \f(CW\*(C`armv9.5\-a\*(C'\fR. .Sp اگر هر دو گزینه \fB\-mcpu\fR و \fB\-march\fR مشخص شده باشند، اسمبلر از تنظیمات \fB\-mcpu\fR استفاده خواهد کرد. اگر هیچ‌کدام مشخص نشده باشند، پیش‌فرض اسمبلر \fB\-mcpu=all\fR خواهد بود. .Sp گزینه معماری می‌تواند با همان گزینه‌های افزونه مجموعه دستورات مانند گزینه \fB\-mcpu\fR گسترش یابد. برخلاف \&\fB\-mcpu\fR، افزونه‌ها همیشه به طور پیش‌فرض فعال نیستند..IP \fB\-mbig\-obj\fR 4 .IX Item "-mbig-obj" در مقصد PE/COFF این گزینه استفاده از قالب فایل شیء بزرگ (big object) را اجباری می‌کند، که امکان وجود بیش از ۳۲۷۶۸ بخش (section) را فراهم می‌آورد. .IP \fB\-mverbose\-error\fR 4 .IX Item "-mverbose-error" این گزینه پیام‌های خطای تفصیلی را برای gas در معماری AArch64 فعال می‌کند. این گزینه به‌طور پیش‌فرض فعال است. .IP \fB\-mno\-verbose\-error\fR 4 .IX Item "-mno-verbose-error" این گزینه پیام‌های خطای تفصیلی را در gas برای معماری AArch64 غیرفعال می‌کند. .IP \fB\-menable\-sysreg\-checking\fR 4 .IX Item "-menable-sysreg-checking" این گزینه پیام‌های خطایی را فعال می‌کند که در صورت اقدام به اسمبلی یک دسترسی به ثبات سیستم (system register) که روی معماری مقصد قابل اجرا نیست، صادر می‌شوند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازندهٔ Alpha پیکربندی شده باشد. .IP \fB\-m\fR\fIcpu\fR 4 .IX Item "-mcpu" این گزینه پردازندهٔ مقصد را مشخص می‌کند. اگر تلاشی برای اسمبلی دستوری صورت گیرد که روی پردازندهٔ مقصد اجرا نخواهد شد، اسمبلر ممکن است آن دستور را به عنوان یک ماکرو بسط دهد یا یک پیام خطا صادر کند. این گزینه معادل با دستورالعمل \f(CW\*(C`.arch\*(C'\fR است. .Sp نام‌های پردازندهٔ زیر شناخته‌شده هستند: \&\f(CW21064\fR, \&\f(CW\*(C`21064a\*(C'\fR, \&\f(CW21066\fR, \&\f(CW21068\fR, \&\f(CW21164\fR, \&\f(CW\*(C`21164a\*(C'\fR, \&\f(CW\*(C`21164pc\*(C'\fR, \&\f(CW21264\fR, \&\f(CW\*(C`21264a\*(C'\fR, \&\f(CW\*(C`21264b\*(C'\fR, \&\f(CW\*(C`ev4\*(C'\fR, \&\f(CW\*(C`ev5\*(C'\fR, \&\f(CW\*(C`lca45\*(C'\fR, \&\f(CW\*(C`ev5\*(C'\fR, \&\f(CW\*(C`ev56\*(C'\fR, \&\f(CW\*(C`pca56\*(C'\fR, \&\f(CW\*(C`ev6\*(C'\fR, \&\f(CW\*(C`ev67\*(C'\fR, \&\f(CW\*(C`ev68\*(C'\fR. نام ویژهٔ \f(CW\*(C`all\*(C'\fR ممکن است برای صدور اجازه به اسمبلر جهت پذیرش دستورهای معتبر برای هر پردازندهٔ Alpha استفاده شود. .Sp به منظور پشتیبانی از رویهٔ موجود در OSF/1 مرتبط با \f(CW\*(C`.arch\*(C'\fR، و رویهٔ موجود درون \fBMILO\fR (راه‌انداز Linux ARC)، نام‌های شماره‌گذاری‌شدهٔ پردازنده (مانند 21064) دستورهای PALcode مختص به پردازنده را فعال می‌کنند، در حالی که نام‌های "electro\-vlasic" (مانند \f(CW\*(C`ev4\*(C'\fR) این کار را نمی‌کنند. .IP \fB\-mdebug\fR 4 .IX Item "-mdebug" .PD 0 .IP \fB\-no\-mdebug\fR 4 .IX Item "-no-mdebug" .PD تولید کپسوله‌سازی \f(CW\*(C`.mdebug\*(C'\fR را برای دستورالعمل‌های stabs و توصیف‌کننده‌های رویه فعال یا غیرفعال می‌کند. حالت پیش‌فرض این است که با مشاهدهٔ نخستین دستورالعمل stabs، حالت \f(CW\*(C`.mdebug\*(C'\fR به‌طور خودکار فعال شود. .IP \fB\-relax\fR 4 .IX Item "-relax" این گزینه اجبار می‌کند که همهٔ بازنشانی‌ها (relocations) به جای صرفه‌جویی در فضا و حل برخی از آن‌ها در هنگام اسمبلی، در فایل شیء قرار گیرند. توجه داشته باشید که این گزینه همهٔ محاسبات نمادها را به فایل شیء منتقل نمی‌کند، زیرا همهٔ محاسبات نماد قابل نمایش نیستند. با این وجود، این گزینه می‌تواند در کاربردهای خاص مفید باشد. .IP \fB\-replace\fR 4 .IX Item "-replace" .PD 0 .IP \fB\-noreplace\fR 4 .IX Item "-noreplace" .PD بهینه‌سازی فراخوانی‌های رویه را، هم در زمان اسمبلی و هم در زمان پیوند، فعال یا غیرفعال می‌کند. این گزینه‌ها تنها برای مقاصد VMS در دسترس هستند و \f(CW\*(C`\-replace\*(C'\fR پیش‌فرض است. بخش 1.4.1 از OpenVMS Linker Utility Manual را مشاهده کنید. .IP \fB\-g\fR 4 .IX Item "-g" این گزینه زمانی استفاده می‌شود که کامپایلر اطلاعات اشکال‌زدایی تولید می‌کند. هنگامی که \fBgcc\fR از \fBmips\-tfile\fR برای تولید اطلاعات اشکال‌زدایی برای ECOFF استفاده می‌کند، برچسب‌های محلی باید به فایل شیء منتقل شوند. در غیر این صورت، این گزینه تأثیری ندارد. .IP \fB\-G\fR\fIsize\fR 4 .IX Item "-Gsize" یک نماد مشترک محلی (local common symbol) بزرگ‌تر از \fIsize\fR در \f(CW\*(C`.bss\*(C'\fR قرار می‌گیرد، در حالی که نمادهای کوچک‌تر در \f(CW\*(C`.sbss\*(C'\fR قرار داده می‌شوند. .IP \fB\-F\fR 4 .IX Item "-F" .PD 0 .IP \fB\-32addr\fR 4 .IX Item "-32addr" .PD این گزینه‌ها برای سازگاری با نسخه‌های پیشین نادیده گرفته می‌شوند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازندهٔ ARC پیکربندی شده باشد. .IP \fB\-mcpu=\fR\fIcpu\fR 4 .IX Item "-mcpu=cpu" این گزینه گونهٔ پردازندهٔ اصلی را انتخاب می‌کند. .IP "\fB\-EB | \-EL\fR" 4 .IX Item "-EB | -EL" خروجی بزرگ‌پایان (\-EB) یا کوچک‌پایان (\-EL) را انتخاب می‌کند. .IP \fB\-mcode\-density\fR 4 .IX Item "-mcode-density" دستورهای افزونهٔ تراکم کد (Code Density) را فعال می‌کند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های ARM پیکربندی شده باشد. .IP \fB\-mcpu=\fR\fIprocessor\fR\fB[+\fR\fIextension\fR\fB...]\fR 4 .IX Item "-mcpu=processor[+extension...]" مشخص می‌کند کدام گونه از پردازندهٔ ARM مقصد است. .IP \fB\-march=\fR\fIarchitecture\fR\fB[+\fR\fIextension\fR\fB...]\fR 4 .IX Item "-march=architecture[+extension...]" مشخص می‌کند کدام گونه از معماری ARM توسط مقصد استفاده می‌شود. .IP \fB\-mfpu=\fR\fIfloating\-point\-format\fR 4 .IX Item "-mfpu=floating-point-format" انتخاب می‌کند که کدام معماری ممیز شناور مقصد است. .IP \fB\-mfloat\-abi=\fR\fIabi\fR 4 .IX Item "-mfloat-abi=abi" انتخاب می‌کند که کدام ABI ممیز شناور در حال استفاده است. .IP \fB\-mthumb\fR 4 .IX Item "-mthumb" رمزگشایی دستورهای فقط Thumb را فعال می‌کند. .IP "\fB\-mapcs\-32 | \-mapcs\-26 | \-mapcs\-float | \-mapcs\-reentrant\fR" 4 .IX Item "-mapcs-32 | -mapcs-26 | -mapcs-float | -mapcs-reentrant" انتخاب می‌کند که کدام قرارداد فراخوانی رویه در حال استفاده است. .IP "\fB\-EB | \-EL\fR" 4 .IX Item "-EB | -EL" خروجی بزرگ‌پایان (\-EB) یا کوچک‌پایان (\-EL) را انتخاب می‌کند. .IP \fB\-mthumb\-interwork\fR 4 .IX Item "-mthumb-interwork" مشخص می‌کند که کد با در نظر گرفتن کارکرد متقابل میان کدهای Thumb و ARM تولید شده است. .IP \fB\-mccs\fR 4 .IX Item "-mccs" حالت سازگاری با نحو اسمبلی CodeComposer Studio را فعال می‌کند. .IP \fB\-k\fR 4 .IX Item "-k" مشخص می‌کند که کد مستقل از موقعیت (PIC) تولید شده است. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های Blackfin پیکربندی شده باشد. .IP \fB\-mcpu=\fR\fIprocessor\fR[\fB\-\fR\fIsirevision\fR] 4 .IX Item "-mcpu=processor[-sirevision]" این گزینه پردازندهٔ مقصد را مشخص می‌کند. بخش اختیاری \fIsirevision\fR در اسمبلر استفاده نمی‌شود. وجود آن تنها برای این است که GCC بتواند گزینهٔ \f(CW\*(C`\-mcpu=\*(C'\fR خود را به‌راحتی منتقل کند. اسمبلر در صورتی که تلاشی برای اسمبلی دستوری صورت گیرد که روی پردازندهٔ مقصد اجرا نمی‌شود، یک پیام خطا صادر خواهد کرد. نام‌های پردازندهٔ زیر شناخته‌شده هستند: \&\f(CW\*(C`bf504\*(C'\fR, \&\f(CW\*(C`bf506\*(C'\fR, \&\f(CW\*(C`bf512\*(C'\fR, \&\f(CW\*(C`bf514\*(C'\fR, \&\f(CW\*(C`bf516\*(C'\fR, \&\f(CW\*(C`bf518\*(C'\fR, \&\f(CW\*(C`bf522\*(C'\fR, \&\f(CW\*(C`bf523\*(C'\fR, \&\f(CW\*(C`bf524\*(C'\fR, \&\f(CW\*(C`bf525\*(C'\fR, \&\f(CW\*(C`bf526\*(C'\fR, \&\f(CW\*(C`bf527\*(C'\fR, \&\f(CW\*(C`bf531\*(C'\fR, \&\f(CW\*(C`bf532\*(C'\fR, \&\f(CW\*(C`bf533\*(C'\fR, \&\f(CW\*(C`bf534\*(C'\fR, \&\f(CW\*(C`bf535\*(C'\fR (هنوز پیاده‌سازی نشده است)، \&\f(CW\*(C`bf536\*(C'\fR, \&\f(CW\*(C`bf537\*(C'\fR, \&\f(CW\*(C`bf538\*(C'\fR, \&\f(CW\*(C`bf539\*(C'\fR, \&\f(CW\*(C`bf542\*(C'\fR, \&\f(CW\*(C`bf542m\*(C'\fR, \&\f(CW\*(C`bf544\*(C'\fR, \&\f(CW\*(C`bf544m\*(C'\fR, \&\f(CW\*(C`bf547\*(C'\fR, \&\f(CW\*(C`bf547m\*(C'\fR, \&\f(CW\*(C`bf548\*(C'\fR, \&\f(CW\*(C`bf548m\*(C'\fR, \&\f(CW\*(C`bf549\*(C'\fR, \&\f(CW\*(C`bf549m\*(C'\fR, \&\f(CW\*(C`bf561\*(C'\fR, و \&\f(CW\*(C`bf592\*(C'\fR..IP \fB\-mfdpic\fR 4 .IX Item "-mfdpic" اسمبل کردن برای FDPIC ABI. .IP \fB\-mno\-fdpic\fR 4 .IX Item "-mno-fdpic" .PD 0 .IP \fB\-mnopic\fR 4 .IX Item "-mnopic" .PD غیرفعال کردن \-mfdpic. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های BPF در هسته لینوکس پیکربندی شده باشد. .PP \&\f(CW@chapter\fR ویژگی‌های وابسته به BPF .SS "گزینه‌های BPF (BPF Options)" .IX Subsection "BPF Options" .IP \fB\-EB\fR 4 .IX Item "-EB" این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع big\-endian تولید کند. .IP \fB\-EL\fR 4 .IX Item "-EL" این گزینه مشخص می‌کند که اسمبلر باید eBPF از نوع little\-endian تولید کند. .IP \fB\-mdialect=\fR\fIdialect\fR 4 .IX Item "-mdialect=dialect" این گزینه گویش (dialect) زبان اسمبلی را برای شناسایی هنگام اسمبل کردن مشخص می‌کند. اسمبلر از \fBnormal\fR و \&\fBpseudoc\fR پشتیبانی می‌کند. .IP \fB\-misa\-spec=\fR\fIspec\fR 4 .IX Item "-misa-spec=spec" این گزینه نسخهٔ مجموعه دستورالعمل‌های BPF را برای استفاده هنگام اسمبل کردن مشخص می‌کند. نسخه‌های پشتیبانی‌شدهٔ BPF ISA عبارتند از \fBv1\fR، \fBv2\fR، \fBv3\fR و \fBv4\fR. .Sp مقدار \fBxbpf\fR می‌تواند برای شناسایی دستورالعمل‌های اضافی که توسط GCC برای اهداف آزمایشی استفاده می‌شوند تعیین شود، اما توجه داشته باشید که این مقدار BPF معتبری نیست. .IP \fB\-mno\-relax\fR 4 .IX Item "-mno-relax" این گزینه به اسمبلر می‌گوید که دستورالعمل‌ها را کاهش ندهد (relax نکند). .PP توجه داشته باشید که اگر هیچ گزینهٔ ترتیب بایتی (endianness) در خط فرمان مشخص نشده باشد، از ترتیب بایتی میزبان استفاده می‌شود. برای مستندات گزینه‌های خاص CRIS، به صفحات info مراجعه کنید. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های C\-SKY پیکربندی شده باشد. .IP \fB\-march=\fR\fIarchname\fR 4 .IX Item "-march=archname" اسمبل کردن برای معماری \fIarchname\fR. گزینهٔ \fB\-\-help\fR مقادیر معتبر برای \fIarchname\fR را فهرست می‌کند. .IP \fB\-mcpu=\fR\fIcpuname\fR 4 .IX Item "-mcpu=cpuname" اسمبل کردن برای معماری \fIcpuname\fR. گزینهٔ \fB\-\-help\fR مقادیر معتبر برای \fIcpuname\fR را فهرست می‌کند. .IP \fB\-EL\fR 4 .IX Item "-EL" .PD 0 .IP \fB\-mlittle\-endian\fR 4 .IX Item "-mlittle-endian" .PD تولید خروجی little\-endian. .IP \fB\-EB\fR 4 .IX Item "-EB" .PD 0 .IP \fB\-mbig\-endian\fR 4 .IX Item "-mbig-endian" .PD تولید خروجی big\-endian. .IP \fB\-fpic\fR 4 .IX Item "-fpic" .PD 0 .IP \fB\-pic\fR 4 .IX Item "-pic" .PD تولید کد مستقل از موقعیت (position\-independent code). .IP \fB\-mljump\fR 4 .IX Item "-mljump" .PD 0 .IP \fB\-mno\-ljump\fR 4 .IX Item "-mno-ljump" .PD فعال/غیرفعال کردن تبدیل دستورالعمل‌های پرش کوتاه \&\f(CW\*(C`jbf\*(C'\fR، \&\f(CW\*(C`jbt\*(C'\fR و \&\f(CW\*(C`jbr\*(C'\fR به \&\f(CW\*(C`jmpi\*(C'\fR. این گزینه فقط برای پردازنده‌های V2 است. در مقصدهای CK801 و CK802 که از دستورالعمل \&\f(CW\*(C`jmpi\*(C'\fR پشتیبانی نمی‌کنند نادیده گرفته می‌شود، و به‌طور پیش‌فرض برای سایر پردازنده‌ها فعال است. .IP \fB\-mbranch\-stub\fR 4 .IX Item "-mbranch-stub" .PD 0 .IP \fB\-mno\-branch\-stub\fR 4 .IX Item "-mno-branch-stub" .PD ارسال مستقیم بازآرایی‌های (relocations) \f(CW\*(C`R_CKCORE_PCREL_IMM26BY2\*(C'\fR برای دستورالعمل‌های \f(CW\*(C`bsr\*(C'\fR به پیونددهنده. .Sp این گزینه تنها برای مقصدهای bare\-metal از نوع C\-SKY V2 ELF در دسترس است که در آنجا به‌طور پیش‌فرض فعال می‌باشد. این گزینه نمی‌تواند در کدهایی که به‌طور پویا به کتابخانه‌های اشتراکی پیوند داده می‌شوند استفاده شود. .IP \fB\-force2bsr\fR 4 .IX Item "-force2bsr" .PD 0 .IP \fB\-mforce2bsr\fR 4 .IX Item "-mforce2bsr" .IP \fB\-no\-force2bsr\fR 4 .IX Item "-no-force2bsr" .IP \fB\-mno\-force2bsr\fR 4 .IX Item "-mno-force2bsr" .PD فعال/غیرفعال کردن تبدیل دستورالعمل‌های \f(CW\*(C`jbsr\*(C'\fR به \f(CW\*(C`bsr\*(C'\fR. این گزینه برای مقصدهای CK801/CK802 همیشه فعال است (و \fB\-mno\-force2bsr\fR نادیده گرفته می‌شود). همچنین هنگامی که \&\fB\-mbranch\-stub\fR در حال اجرا باشد، همیشه فعال است. .IP \fB\-jsri2bsr\fR 4 .IX Item "-jsri2bsr" .PD 0 .IP \fB\-mjsri2bsr\fR 4 .IX Item "-mjsri2bsr" .IP \fB\-no\-jsri2bsr\fR 4 .IX Item "-no-jsri2bsr" .IP \fB\-mno\-jsri2bsr\fR 4 .IX Item "-mno-jsri2bsr" .PD فعال/غیرفعال کردن تبدیل دستورالعمل‌های \f(CW\*(C`jsri\*(C'\fR به \f(CW\*(C`bsr\*(C'\fR. این گزینه به‌طور پیش‌فرض فعال است. .IP \fB\-mnolrw\fR 4 .IX Item "-mnolrw" .PD 0 .IP \fB\-mno\-lrw\fR 4 .IX Item "-mno-lrw" .PD فعال/غیرفعال کردن تبدیل دستورالعمل‌های \f(CW\*(C`lrw\*(C'\fR به یک جفت \&\f(CW\*(C`movih\*(C'\fR/\f(CW\*(C`ori\*(C'\fR. .IP \fB\-melrw\fR 4 .IX Item "-melrw" .PD 0 .IP \fB\-mno\-elrw\fR 4 .IX Item "-mno-elrw" .PD فعال/غیرفعال کردن دستورالعمل‌های گسترش‌یافتهٔ \f(CW\*(C`lrw\*(C'\fR. این گزینه به‌طور پیش‌فرض برای پردازنده‌های سری CK800 فعال است. .IP \fB\-mlaf\fR 4 .IX Item "-mlaf" .PD 0 .IP \fB\-mliterals\-after\-func\fR 4 .IX Item "-mliterals-after-func" .IP \fB\-mno\-laf\fR 4 .IX Item "-mno-laf" .IP \fB\-mno\-literals\-after\-func\fR 4 .IX Item "-mno-literals-after-func" .PD فعال/غیرفعال کردن قرار دادن مخزن مقادیر صریح (literal pool) پس از هر تابع. .IP \fB\-mlabr\fR 4 .IX Item "-mlabr" .PD 0 .IP \fB\-mliterals\-after\-br\fR 4 .IX Item "-mliterals-after-br" .IP \fB\-mno\-labr\fR 4 .IX Item "-mno-labr" .IP \fB\-mnoliterals\-after\-br\fR 4 .IX Item "-mnoliterals-after-br" .PD فعال/غیرفعال کردن قرار دادن مخزن مقادیر صریح (literal pool) پس از انشعاب‌های غیرشرطی. این گزینه به‌طور پیش‌فرض فعال است. .IP \fB\-mistack\fR 4 .IX Item "-mistack" .PD 0 .IP \fB\-mno\-istack\fR 4 .IX Item "-mno-istack" .PD فعال/غیرفعال کردن دستورالعمل‌های پشتهٔ وقفه. این گزینه به‌طور پیش‌فرض در پردازنده‌های CK801، CK802 و CK802 فعال است. .PP گزینه‌های زیر صریحاً دستورالعمل‌های اختیاری معینی را فعال می‌کنند. این قابلیت‌ها همچنین با استفاده از \f(CW\*(C`\-mcpu=\*(C'\fR برای مشخص کردن پردازنده‌ای که از آن‌ها پشتیبانی می‌کند، به‌طور ضمنی فعال می‌شوند. .IP \fB\-mhard\-float\fR 4 .IX Item "-mhard-float" فعال کردن دستورالعمل‌های ممیز شناور سخت‌افزاری (hard float). .IP \fB\-mmp\fR 4 .IX Item "-mmp" فعال کردن دستورالعمل‌های چندپردازنده‌ای..IP \fB\-mcp\fR 4 .IX Item "-mcp" فعال کردن دستورالعمل‌های کمک‌پردازنده. .IP \fB\-mcache\fR 4 .IX Item "-mcache" فعال کردن دستورالعمل پیش‌واکشی حافظه نهان (cache prefetch). .IP \fB\-msecurity\fR 4 .IX Item "-msecurity" فعال کردن دستورالعمل‌های امنیتی C\-SKY. .IP \fB\-mtrust\fR 4 .IX Item "-mtrust" فعال کردن دستورالعمل‌های تراست (trust) در C\-SKY. .IP \fB\-mdsp\fR 4 .IX Item "-mdsp" فعال کردن دستورالعمل‌های DSP. .IP \fB\-medsp\fR 4 .IX Item "-medsp" فعال کردن دستورالعمل‌های بهبودیافتهٔ DSP. .IP \fB\-mvdsp\fR 4 .IX Item "-mvdsp" فعال کردن دستورالعمل‌های برداری DSP. .PP هنگامی که \f(CWas\fR برای یک پردازندهٔ Epiphany پیکربندی شده باشد، گزینه‌های زیر در دسترس هستند. .IP \fB\-mepiphany\fR 4 .IX Item "-mepiphany" مشخص می‌کند که هر دو دسته دستورالعمل‌های ۳۲ و ۱۶ بیتی مجاز هستند. این رفتار پیش‌فرض است. .IP \fB\-mepiphany16\fR 4 .IX Item "-mepiphany16" دستورالعمل‌های مجاز را فقط به مجموعهٔ ۱۶ بیتی محدود می‌کند. .PP هنگامی که \f(CWas\fR برای یک پردازندهٔ H8/300 پیکربندی شده باشد، گزینه‌های زیر در دسترس هستند. \&\f(CW@chapter\fR ویژگی‌های وابسته به H8/300 .SS "گزینه‌ها (Options)" .IX Subsection "Options" نسخهٔ Renesas H8/300 از \f(CW\*(C`as\*(C'\fR دارای یک گزینهٔ وابسته به ماشین است: .IP \fB\-h\-tick\-hex\fR 4 .IX Item "-h-tick-hex" پشتیبانی از ثابت‌های هگزادسیمال به سبک H\*(Aq00 علاوه بر سبک 0x00. .IP \fB\-mach=\fR\fIname\fR 4 .IX Item "-mach=name" گونهٔ ماشین H8300 را تعیین می‌کند. نام‌های ماشین زیر شناخته‌شده هستند: \&\f(CW\*(C`h8300h\*(C'\fR، \&\f(CW\*(C`h8300hn\*(C'\fR، \&\f(CW\*(C`h8300s\*(C'\fR، \&\f(CW\*(C`h8300sn\*(C'\fR، \&\f(CW\*(C`h8300sx\*(C'\fR و \&\f(CW\*(C`h8300sxn\*(C'\fR. .PP هنگامی که \f(CWas\fR برای یک پردازندهٔ i386 پیکربندی شده باشد، گزینه‌های زیر در دسترس هستند. .IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4 .IX Item "--32 | --x32 | --64" اندازهٔ کلمه را، چه ۳۲ بیت و چه ۶۴ بیت، انتخاب می‌کند. \fB\-\-32\fR به معماری Intel i386 اشاره دارد، در حالی که \fB\-\-x32\fR و \fB\-\-64\fR به‌ترتیب بیانگر معماری AMD x86\-64 با اندازه کلمهٔ ۳۲ بیتی یا ۶۴ بیتی هستند. .Sp این گزینه‌ها تنها در قالب فایل شیء ELF در دسترس هستند و نیازمند گنجانده شدن پشتیبانی لازم BFD می‌باشند (در یک پلتفرم ۳۲ بیتی باید \-\-enable\-64\-bit\-bfd را به configure اضافه کنید تا استفاده از ۶۴ بیت فعال شود و از x86\-64 به عنوان پلتفرم هدف استفاده گردد). .IP \fB\-n\fR 4 .IX Item "-n" به‌طور پیش‌فرض، x86 GAS چندین دستور nop را که برای ترازسازی درون بخش‌های کد به کار رفته‌اند با دستورالعمل‌های چندبایتی nop مانند leal 0(%esi,1),%esi جایگزین می‌کند. اگر یک nop تک‌بایتی (0x90) صراحتاً به عنوان بایت پرکننده برای ترازسازی مشخص شده باشد، این سوئیچ بهینه‌سازی مذکور را غیرفعال می‌نماید. .IP \fB\-\-divide\fR 4 .IX Item "--divide" در پلتفرم‌های برگرفته از SVR4، نویسهٔ \fB/\fR به عنوان نویسهٔ کامنت در نظر گرفته می‌شود، به این معنی که نمی‌توان آن را در عبارت‌ها به کار برد. گزینهٔ \fB\-\-divide\fR نویسهٔ \fB/\fR را به یک نویسهٔ معمولی تبدیل می‌کند. این گزینه مانع از شروع کامنت با \fB/\fR در ابتدای خط نمی‌شود و بر استفاده از \fB#\fR برای شروع کامنت نیز تأثیری نمی‌گذارد. .IP \fB\-march=\fR\fICPU\fR\fB[+\fR\fIEXTENSION\fR\fB...]\fR 4 .IX Item "-march=CPU[+EXTENSION...]" این گزینه پردازندهٔ هدف را مشخص می‌کند. در صورتی که تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی پردازندهٔ هدف اجرا نمی‌شود، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های پردازندهٔ زیر شناخته‌شده هستند: \&\f(CW\*(C`i8086\*(C'\fR، \&\f(CW\*(C`i186\*(C'\fR، \&\f(CW\*(C`i286\*(C'\fR، \&\f(CW\*(C`i386\*(C'\fR، \&\f(CW\*(C`i486\*(C'\fR، \&\f(CW\*(C`i586\*(C'\fR، \&\f(CW\*(C`i686\*(C'\fR، \&\f(CW\*(C`pentium\*(C'\fR، \&\f(CW\*(C`pentiumpro\*(C'\fR، \&\f(CW\*(C`pentiumii\*(C'\fR، \&\f(CW\*(C`pentiumiii\*(C'\fR، \&\f(CW\*(C`pentium4\*(C'\fR، \&\f(CW\*(C`prescott\*(C'\fR، \&\f(CW\*(C`nocona\*(C'\fR، \&\f(CW\*(C`core\*(C'\fR، \&\f(CW\*(C`core2\*(C'\fR، \&\f(CW\*(C`corei7\*(C'\fR، \&\f(CW\*(C`iamcu\*(C'\fR، \&\f(CW\*(C`k6\*(C'\fR، \&\f(CW\*(C`k6_2\*(C'\fR، \&\f(CW\*(C`athlon\*(C'\fR، \&\f(CW\*(C`opteron\*(C'\fR، \&\f(CW\*(C`k8\*(C'\fR، \&\f(CW\*(C`amdfam10\*(C'\fR، \&\f(CW\*(C`bdver1\*(C'\fR، \&\f(CW\*(C`bdver2\*(C'\fR، \&\f(CW\*(C`bdver3\*(C'\fR، \&\f(CW\*(C`bdver4\*(C'\fR، \&\f(CW\*(C`znver1\*(C'\fR، \&\f(CW\*(C`znver2\*(C'\fR، \&\f(CW\*(C`znver3\*(C'\fR، \&\f(CW\*(C`znver4\*(C'\fR، \&\f(CW\*(C`znver5\*(C'\fR، \&\f(CW\*(C`znver6\*(C'\fR، \&\f(CW\*(C`btver1\*(C'\fR، \&\f(CW\*(C`btver2\*(C'\fR، \&\f(CW\*(C`generic32\*(C'\fR و \&\f(CW\*(C`generic64\*(C'\fR. .Sp علاوه بر مجموعه دستورالعمل‌های پایه، می‌توان به اسمبلر دستور داد تا نمادهای یادافزای (mnemonics) افزونه‌های مختلف را بپذیرد. برای مثال، \&\f(CW\*(C`\-march=i686+sse4+vmx\*(C'\fR معماری \fIi686\fR را با \fIsse4\fR و \&\fIvmx\fR گسترش می‌دهد. در حال حاضر افزونه‌های زیر پشتیبانی می‌شوند: \&\f(CW8087\fR، \&\f(CW287\fR، \&\f(CW387\fR، \&\f(CW687\fR، \&\f(CW\*(C`cmov\*(C'\fR، \&\f(CW\*(C`fxsr\*(C'\fR، \&\f(CW\*(C`mmx\*(C'\fR، \&\f(CW\*(C`sse\*(C'\fR، \&\f(CW\*(C`sse2\*(C'\fR، \&\f(CW\*(C`sse3\*(C'\fR، \&\f(CW\*(C`sse4a\*(C'\fR، \&\f(CW\*(C`ssse3\*(C'\fR، \&\f(CW\*(C`sse4.1\*(C'\fR، \&\f(CW\*(C`sse4.2\*(C'\fR، \&\f(CW\*(C`sse4\*(C'\fR، \&\f(CW\*(C`avx\*(C'\fR، \&\f(CW\*(C`avx2\*(C'\fR، \&\f(CW\*(C`lahf_sahf\*(C'\fR، \&\f(CW\*(C`monitor\*(C'\fR، \&\f(CW\*(C`adx\*(C'\fR، \&\f(CW\*(C`rdseed\*(C'\fR، \&\f(CW\*(C`prfchw\*(C'\fR، \&\f(CW\*(C`smap\*(C'\fR، \&\f(CW\*(C`mpx\*(C'\fR، \&\f(CW\*(C`sha\*(C'\fR، \&\f(CW\*(C`rdpid\*(C'\fR، \&\f(CW\*(C`ptwrite\*(C'\fR، \&\f(CW\*(C`cet\*(C'\fR، \&\f(CW\*(C`gfni\*(C'\fR، \&\f(CW\*(C`vaes\*(C'\fR، \&\f(CW\*(C`vpclmulqdq\*(C'\fR، \&\f(CW\*(C`prefetchwt1\*(C'\fR، \&\f(CW\*(C`clflushopt\*(C'\fR، \&\f(CW\*(C`se1\*(C'\fR، \&\f(CW\*(C`clwb\*(C'\fR، \&\f(CW\*(C`movdiri\*(C'\fR، \&\f(CW\*(C`movdir64b\*(C'\fR، \&\f(CW\*(C`enqcmd\*(C'\fR، \&\f(CW\*(C`serialize\*(C'\fR، \&\f(CW\*(C`tsxldtrk\*(C'\fR، \&\f(CW\*(C`kl\*(C'\fR، \&\f(CW\*(C`widekl\*(C'\fR، \&\f(CW\*(C`hreset\*(C'\fR، \&\f(CW\*(C`avx512f\*(C'\fR، \&\f(CW\*(C`avx512cd\*(C'\fR، \&\f(CW\*(C`avx512er\*(C'\fR، \&\f(CW\*(C`avx512pf\*(C'\fR، \&\f(CW\*(C`avx512vl\*(C'\fR، \&\f(CW\*(C`avx512bw\*(C'\fR، \&\f(CW\*(C`avx512dq\*(C'\fR، \&\f(CW\*(C`avx512ifma\*(C'\fR، \&\f(CW\*(C`avx512vbmi\*(C'\fR، \&\f(CW\*(C`avx512_4fmaps\*(C'\fR، \&\f(CW\*(C`avx512_4vnniw\*(C'\fR، \&\f(CW\*(C`avx512_vpopcntdq\*(C'\fR، \&\f(CW\*(C`avx512_vbmi2\*(C'\fR، \&\f(CW\*(C`avx512_vnni\*(C'\fR، \&\f(CW\*(C`avx512_bitalg\*(C'\fR، \&\f(CW\*(C`avx512_vp2intersect\*(C'\fR، \&\f(CW\*(C`tdx\*(C'\fR، \&\f(CW\*(C`avx512_bf16\*(C'\fR، \&\f(CW\*(C`avx_vnni\*(C'\fR، \&\f(CW\*(C`avx512_fp16\*(C'\fR، \&\f(CW\*(C`avx512_bmm\*(C'\fR، \&\f(CW\*(C`prefetchi\*(C'\fR، \&\f(CW\*(C`avx_ifma\*(C'\fR، \&\f(CW\*(C`avx_vnni_int8\*(C'\fR، \&\f(CW\*(C`cmpccxadd\*(C'\fR، \&\f(CW\*(C`wrmsrns\*(C'\fR، \&\f(CW\*(C`msrlist\*(C'\fR، \&\f(CW\*(C`avx_ne_convert\*(C'\fR، \&\f(CW\*(C`rao_int\*(C'\fR، \&\f(CW\*(C`fred\*(C'\fR، \&\f(CW\*(C`lkgs\*(C'\fR، \&\f(CW\*(C`avx_vnni_int16\*(C'\fR، \&\f(CW\*(C`sha512\*(C'\fR، \&\f(CW\*(C`sm3\*(C'\fR، \&\f(CW\*(C`sm4\*(C'\fR، \&\f(CW\*(C`pbndkb\*(C'\fR، \&\f(CW\*(C`avx10.1\*(C'\fR، \&\f(CW\*(C`avx10.1/512\*(C'\fR، \&\f(CW\*(C`avx10.1/256\*(C'\fR، \&\f(CW\*(C`avx10.1/128\*(C'\fR، \&\f(CW\*(C`user_msr\*(C'\fR، \&\f(CW\*(C`msr_imm\*(C'\fR، \&\f(CW\*(C`apx_f\*(C'\fR، \&\f(CW\*(C`apx_nci\*(C'\fR، \&\f(CW\*(C`apx_ndd\*(C'\fR، \&\f(CW\*(C`apx_nf\*(C'\fR، \&\f(CW\*(C`apx_nci_ndd_nf\*(C'\fR، \&\f(CW\*(C`avx10.2\*(C'\fR، \&\f(CW\*(C`avx10.2/512\*(C'\fR، \&\f(CW\*(C`avx10.2/256\*(C'\fR، \&\f(CW\*(C`avx10.2/128\*(C'\fR، \&\f(CW\*(C`movrs\*(C'\fR، \&\f(CW\*(C`amx_int8\*(C'\fR، \&\f(CW\*(C`amx_bf16\*(C'\fR، \&\f(CW\*(C`amx_fp16\*(C'\fR، \&\f(CW\*(C`amx_complex\*(C'\fR، \&\f(CW\*(C`amx_transpose\*(C'\fR، \&\f(CW\*(C`amx_tf32\*(C'\fR، \&\f(CW\*(C`amx_fp8\*(C'\fR \&\f(CW\*(C`amx_movrs\*(C'\fR، \&\f(CW\*(C`amx_avx512\*(C'\fR، \&\f(CW\*(C`amx_tile\*(C'\fR، \&\f(CW\*(C`vmx\*(C'\fR، \&\f(CW\*(C`vmfunc\*(C'\fR، \&\f(CW\*(C`smx\*(C'\fR، \&\f(CW\*(C`xsave\*(C'\fR، \&\f(CW\*(C`xsaveopt\*(C'\fR، \&\f(CW\*(C`xsavec\*(C'\fR، \&\f(CW\*(C`xsaves\*(C'\fR، \&\f(CW\*(C`aes\*(C'\fR، \&\f(CW\*(C`pclmul\*(C'\fR، \&\f(CW\*(C`fsgsbase\*(C'\fR، \&\f(CW\*(C`rdrnd\*(C'\fR، \&\f(CW\*(C`f16c\*(C'\fR، \&\f(CW\*(C`bmi2\*(C'\fR، \&\f(CW\*(C`fma\*(C'\fR، \&\f(CW\*(C`movbe\*(C'\fR، \&\f(CW\*(C`ept\*(C'\fR، \&\f(CW\*(C`lzcnt\*(C'\fR، \&\f(CW\*(C`popcnt\*(C'\fR، \&\f(CW\*(C`hle\*(C'\fR، \&\f(CW\*(C`rtm\*(C'\fR، \&\f(CW\*(C`tsx\*(C'\fR، \&\f(CW\*(C`invpcid\*(C'\fR، \&\f(CW\*(C`clflush\*(C'\fR، \&\f(CW\*(C`mwaitx\*(C'\fR، \&\f(CW\*(C`clzero\*(C'\fR، \&\f(CW\*(C`wbnoinvd\*(C'\fR، \&\f(CW\*(C`pconfig\*(C'\fR، \&\f(CW\*(C`waitpkg\*(C'\fR، \&\f(CW\*(C`uintr\*(C'\fR، \&\f(CW\*(C`cldemote\*(C'\fR، \&\f(CW\*(C`rdpru\*(C'\fR، \&\f(CW\*(C`mcommit\*(C'\fR، \&\f(CW\*(C`sev_es\*(C'\fR، \&\f(CW\*(C`lwp\*(C'\fR، \&\f(CW\*(C`fma4\*(C'\fR، \&\f(CW\*(C`xop\*(C'\fR، \&\f(CW\*(C`cx16\*(C'\fR، \&\f(CW\*(C`syscall\*(C'\fR، \&\f(CW\*(C`rdtscp\*(C'\fR، \&\f(CW\*(C`3dnow\*(C'\fR، \&\f(CW\*(C`3dnowa\*(C'\fR، \&\f(CW\*(C`sse4a\*(C'\fR، \&\f(CW\*(C`sse5\*(C'\fR، \&\f(CW\*(C`snp\*(C'\fR، \&\f(CW\*(C`invlpgb\*(C'\fR، \&\f(CW\*(C`tlbsync\*(C'\fR، \&\f(CW\*(C`rmpquery\*(C'\fR، \&\f(CW\*(C`rmpread\*(C'\fR، \&\f(CW\*(C`svme\*(C'\fR، \&\f(CW\*(C`gmism2\*(C'\fR، \&\f(CW\*(C`gmiccs\*(C'\fR، \&\f(CW\*(C`padlockrng2\*(C'\fR، \&\f(CW\*(C`padlockphe2\*(C'\fR، \&\f(CW\*(C`padlockxmodx\*(C'\fR و \&\f(CW\*(C`padlock\*(C'\fR. توجه داشته باشید که می‌توان پیشوند \f(CW\*(C`no\*(C'\fR را به این نمادهای یادافزای افزونه افزود تا عملکرد مربوطه (و هر عملکرد وابسته) لغو شود. همچنین توجه داشته باشید که پسوندهای مجاز روی \f(CW\*(C`\-march=avx10.\*(C'\fR یک محدودیت طول بردار اعمال می‌کنند؛ به این معنی که علیرغم اینکه این گزینه‌ها در حالت عادی «فعال‌کننده» هستند، استفاده از این پسوندها تمام دستورالعمل‌های دارای عملوندهای برداری یا ثبات ماسک عریض‌تر را غیرفعال خواهد کرد..Sp هنگامی که دایرکتیو \f(CW\*(C`.arch\*(C'\fR همراه با \fB\-march\fR استفاده شود، دایرکتیو \&\f(CW\*(C`.arch\*(C'\fR اولویت خواهد داشت. .IP \fB\-mtune=\fR\fICPU\fR 4 .IX Item "-mtune=CPU" این گزینه پردازنده‌ای را برای بهینه‌سازی مشخص می‌کند. هنگامی که در ترکیب با گزینه \fB\-march\fR استفاده شود، تنها دستورالعمل‌های پردازنده مشخص‌شده توسط گزینه \fB\-march\fR تولید خواهند شد. .Sp مقادیر معتبر \fICPU\fR با فهرست پردازنده‌های \&\fB\-march=\fR\fICPU\fR یکسان هستند. .IP \fB\-moperand\-check=\fR\fInone\fR 4 .IX Item "-moperand-check=none" .PD 0 .IP \fB\-moperand\-check=\fR\fIwarning\fR 4 .IX Item "-moperand-check=warning" .IP \fB\-moperand\-check=\fR\fIerror\fR 4 .IX Item "-moperand-check=error" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید عملوندهای معینی از دستورالعمل یا ترکیب عملوندها را بررسی کند یا خیر. یک نمونه، دستورالعمل‌هایی هستند که اندازه عملوند در آن‌ها از روی عملوندها قابل استنتاج نبوده و همچنین از طریق پسوند دستورالعمل نیز مشخص نشده باشد. \&\fB\-moperand\-check=\fR\fInone\fR باعث می‌شود اسمبلر این بررسی‌ها را انجام ندهد. \fB\-moperand\-check=\fR\fIwarning\fR باعث می‌شود اسمبلر هنگام شکست هر یک از بررسی‌های مربوطه یک هشدار صادر کند، که حالت پیش‌فرض است. \&\fB\-moperand\-check=\fR\fIerror\fR باعث می‌شود اسمبلر در صورت شکست بررسی‌های مربوطه یک خطا صادر کند. .IP \fB\-msse2avx\fR 4 .IX Item "-msse2avx" این گزینه مشخص می‌کند که اسمبلر باید دستورالعمل‌های SSE را با پیشوند VEX کدگذاری کند، که نیازمند در دسترس بودن AVX است. دستورالعمل‌های SSE که از GPRهای گسترش‌یافته استفاده می‌کنند با پیشوند EVEX کدگذاری خواهند شد، که نیازمند در دسترس بودن AVX512 یا AVX10 است. .IP \fB\-muse\-unaligned\-vector\-move\fR 4 .IX Item "-muse-unaligned-vector-move" این گزینه مشخص می‌کند که اسمبلر باید انتقال برداری هم‌تراز را به صورت انتقال برداری ناهم‌تراز کدگذاری کند. .IP \fB\-msse\-check=\fR\fInone\fR 4 .IX Item "-msse-check=none" .PD 0 .IP \fB\-msse\-check=\fR\fIwarning\fR 4 .IX Item "-msse-check=warning" .IP \fB\-msse\-check=\fR\fIerror\fR 4 .IX Item "-msse-check=error" .PD این گزینه‌ها بررسی دستورالعمل‌های SSE توسط اسمبلر را کنترل می‌کنند. \&\fB\-msse\-check=\fR\fInone\fR باعث می‌شود اسمبلر دستورالعمل‌های SSE را بررسی نکند، که حالت پیش‌فرض است. \fB\-msse\-check=\fR\fIwarning\fR باعث می‌شود اسمبلر برای هر دستورالعمل SSE یک هشدار صادر کند. \&\fB\-msse\-check=\fR\fIerror\fR باعث می‌شود اسمبلر برای هر دستورالعمل SSE یک خطا صادر کند. .IP \fB\-mavxscalar=\fR\fI128\fR 4 .IX Item "-mavxscalar=128" .PD 0 .IP \fB\-mavxscalar=\fR\fI256\fR 4 .IX Item "-mavxscalar=256" .PD این گزینه‌ها نحوه کدگذاری دستورالعمل‌های اسکالر AVX توسط اسمبلر را کنترل می‌کنند. \fB\-mavxscalar=\fR\fI128\fR دستورالعمل‌های اسکالر AVX را با طول بردار ۱۲۸ بیتی کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mavxscalar=\fR\fI256\fR دستورالعمل‌های اسکالر AVX را با طول بردار ۲۵۶ بیتی کدگذاری خواهد کرد. .Sp هشدار: از این گزینه برای کدهای محیط عملیاتی استفاده نکنید \- به دلیل اشکالات پردازنده (CPU errata) کد حاصل ممکن است روی مدل‌های خاصی کار نکند. .IP \fB\-mvexwig=\fR\fI0\fR 4 .IX Item "-mvexwig=0" .PD 0 .IP \fB\-mvexwig=\fR\fI1\fR 4 .IX Item "-mvexwig=1" .PD این گزینه‌ها نحوه کدگذاری دستورالعمل‌های VEX با VEX.W نادیده‌گرفته‌شده (WIG) را توسط اسمبلر کنترل می‌کنند. \fB\-mvexwig=\fR\fI0\fR دستورالعمل‌های WIG VEX را با vex.w = 0 کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mvexwig=\fR\fI1\fR دستورالعمل‌های WIG EVEX را با vex.w = 1 کدگذاری خواهد کرد. .Sp هشدار: از این گزینه برای کدهای محیط عملیاتی استفاده نکنید \- به دلیل اشکالات پردازنده (CPU errata) کد حاصل ممکن است روی مدل‌های خاصی کار نکند. .IP \fB\-mevexlig=\fR\fI128\fR 4 .IX Item "-mevexlig=128" .PD 0 .IP \fB\-mevexlig=\fR\fI256\fR 4 .IX Item "-mevexlig=256" .IP \fB\-mevexlig=\fR\fI512\fR 4 .IX Item "-mevexlig=512" .PD این گزینه‌ها نحوه کدگذاری دستورالعمل‌های EVEX با طول نادیده‌گرفته‌شده (LIG) را توسط اسمبلر کنترل می‌کنند. \fB\-mevexlig=\fR\fI128\fR دستورالعمل‌های LIG EVEX را با طول بردار ۱۲۸ بیتی کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mevexlig=\fR\fI256\fR و \fB\-mevexlig=\fR\fI512\fR دستورالعمل‌های LIG EVEX را به ترتیب با طول بردار ۲۵۶ بیتی و ۵۱۲ بیتی کدگذاری خواهند کرد. .IP \fB\-mevexwig=\fR\fI0\fR 4 .IX Item "-mevexwig=0" .PD 0 .IP \fB\-mevexwig=\fR\fI1\fR 4 .IX Item "-mevexwig=1" .PD این گزینه‌ها نحوه کدگذاری دستورالعمل‌های EVEX با w نادیده‌گرفته‌شده (WIG) را توسط اسمبلر کنترل می‌کنند. \fB\-mevexwig=\fR\fI0\fR دستورالعمل‌های WIG EVEX را با evex.w = 0 کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mevexwig=\fR\fI1\fR دستورالعمل‌های WIG EVEX را با evex.w = 1 کدگذاری خواهد کرد. .IP \fB\-mmnemonic=\fR\fIatt\fR 4 .IX Item "-mmnemonic=att" .PD 0 .IP \fB\-mmnemonic=\fR\fIintel\fR 4 .IX Item "-mmnemonic=intel" .PD این گزینه یادافزای دستورالعمل را برای تطبیق دستورالعمل‌ها مشخص می‌کند. دایرکتیوهای \f(CW\*(C`.att_mnemonic\*(C'\fR و \f(CW\*(C`.intel_mnemonic\*(C'\fR اولویت خواهند داشت. .IP \fB\-msyntax=\fR\fIatt\fR 4 .IX Item "-msyntax=att" .PD 0 .IP \fB\-msyntax=\fR\fIintel\fR 4 .IX Item "-msyntax=intel" .PD این گزینه نحو دستورالعمل را هنگام پردازش دستورالعمل‌ها مشخص می‌کند. دایرکتیوهای \f(CW\*(C`.att_syntax\*(C'\fR و \f(CW\*(C`.intel_syntax\*(C'\fR اولویت خواهند داشت. .IP \fB\-mnaked\-reg\fR 4 .IX Item "-mnaked-reg" این گزینه مشخص می‌کند که ثبات‌ها نیازی به پیشوند \fB%\fR ندارند. دایرکتیوهای \f(CW\*(C`.att_syntax\*(C'\fR و \f(CW\*(C`.intel_syntax\*(C'\fR اولویت خواهند داشت. .IP \fB\-madd\-bnd\-prefix\fR 4 .IX Item "-madd-bnd-prefix" این گزینه اسمبلر را وادار می‌کند که پیشوند BND را به همه انشعاب‌ها بیفزاید، حتی اگر چنین پیشوندی صراحتاً در کد منبع مشخص نشده باشد. .IP \fB\-mno\-shared\fR 4 .IX Item "-mno-shared" روی هدف ELF، اسمبلر به‌طور معمول بازمکانی‌های غیر PLT را برای اهداف انشعاب سراسری غیرضعیفِ تعریف‌شده با نمایانی پیش‌فرض، با بهینه‌سازی حذف می‌کند. گزینه \fB\-mshared\fR به اسمبلر می‌گوید کدی تولید کند که ممکن است در یک کتابخانه مشترک قرار گیرد که در آن تمام اهداف انشعاب سراسری غیرضعیف با نمایانی پیش‌فرض بتوانند بازداشته (preempt) شوند. کد حاصل اندکی حجیم‌تر خواهد بود. این گزینه تنها بر نحوه مدیریت دستورالعمل‌های انشعاب تأثیر می‌گذارد. .IP \fB\-mbig\-obj\fR 4 .IX Item "-mbig-obj" روی هدف PE/COFF، این گزینه استفاده از قالب فایل شیء بزرگ را تحمیل می‌کند که بیش از ۳۲۷۶۸ بخش را مجاز می‌داند. .IP \fB\-momit\-lock\-prefix=\fR\fIno\fR 4 .IX Item "-momit-lock-prefix=no" .PD 0 .IP \fB\-momit\-lock\-prefix=\fR\fIyes\fR 4 .IX Item "-momit-lock-prefix=yes" .PD این گزینه‌ها نحوه کدگذاری پیشوند lock توسط اسمبلر را کنترل می‌کنند. این گزینه به عنوان راهکاری برای پردازنده‌هایی که روی پیشوند lock دچار خطا می‌شوند در نظر گرفته شده است. از این گزینه تنها می‌توان با اطمینان در رایانه‌های تک‌هسته‌ای و تک‌رشته‌ای استفاده کرد. \&\fB\-momit\-lock\-prefix=\fR\fIyes\fR تمام پیشوندهای lock را حذف خواهد کرد. \&\fB\-momit\-lock\-prefix=\fR\fIno\fR پیشوند lock را مطابق معمول کدگذاری می‌کند، که حالت پیش‌فرض است. .IP \fB\-mfence\-as\-lock\-add=\fR\fIno\fR 4 .IX Item "-mfence-as-lock-add=no" .PD 0 .IP \fB\-mfence\-as\-lock\-add=\fR\fIyes\fR 4 .IX Item "-mfence-as-lock-add=yes" .PD این گزینه‌ها نحوه کدگذاری lfence، mfence و sfence را توسط اسمبلر کنترل می‌کنند. \&\fB\-mfence\-as\-lock\-add=\fR\fIyes\fR دستورهای lfence، mfence و sfence را در حالت ۶۴ بیتی به صورت \fBlock addl \fR\f(CB$0x0\fR\fB, (%rsp)\fR و در حالت ۳۲ بیتی به صورت \&\fBlock addl \fR\f(CB$0x0\fR\fB, (%esp)\fR کدگذاری خواهد کرد. \&\fB\-mfence\-as\-lock\-add=\fR\fIno\fR دستورهای lfence، mfence و sfence را طبق معمول کدگذاری می‌کند، که حالت پیش‌فرض است. .IP \fB\-mrelax\-relocations=\fR\fIno\fR 4 .IX Item "-mrelax-relocations=no" .PD 0 .IP \fB\-mrelax\-relocations=\fR\fIyes\fR 4 .IX Item "-mrelax-relocations=yes" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر باید بازمکانی‌های منعطف (relax relocations) تولید کند یا خیر؛ R_386_GOT32X در حالت ۳۲ بیتی، یا R_X86_64_GOTPCRELX و R_X86_64_REX_GOTPCRELX در حالت ۶۴ بیتی. \&\fB\-mrelax\-relocations=\fR\fIyes\fR بازمکانی‌های منعطف را تولید خواهد کرد. \&\fB\-mrelax\-relocations=\fR\fIno\fR بازمکانی‌های منعطف را تولید نخواهد کرد..IP \fB\-mtls\-check=\fR\fIno\fR 4 .IX Item "-mtls-check=no" .PD 0 .IP \fB\-mtls\-check=\fR\fIyes\fR 4 .IX Item "-mtls-check=yes" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر بازنشانی‌های tls را بررسی کند یا خیر. \&\fB\-mtls\-check=\fR\fIyes\fR بازنشانی‌های tls را بررسی خواهد کرد. \&\fB\-mtls\-check=\fR\fIno\fR بازنشانی‌های tls را بررسی نخواهد کرد. حالت پیش‌فرض را می‌توان با گزینهٔ پیکربندی \&\fB\-\-enable\-x86\-tls\-check\fR کنترل کرد. .IP \fB\-malign\-branch\-boundary=\fR\fINUM\fR 4 .IX Item "-malign-branch-boundary=NUM" این گزینه کنترل می‌کند که اسمبلر چگونه باید شاخه‌ها را با پیشوندهای سگمنت یا NOP هم‌تراز کند. \fINUM\fR باید توانی از ۲ باشد. این مقدار باید ۰ یا نه‌کمتر از ۱۶ باشد. شاخه‌ها درون مرز \fINUM\fR بایتی هم‌تراز خواهند شد. گزینهٔ \fB\-malign\-branch\-boundary=0\fR که مقدار پیش‌فرض است، شاخه‌ها را هم‌تراز نمی‌کند. .IP \fB\-malign\-branch=\fR\fITYPE\fR\fB[+\fR\fITYPE\fR\fB...]\fR 4 .IX Item "-malign-branch=TYPE[+TYPE...]" این گزینه انواع شاخه‌ها را برای هم‌ترازی مشخص می‌کند. \fITYPE\fR ترکیبی از \fBjcc\fR (که پرش‌های شرطی را هم‌تراز می‌کند)، \&\fBfused\fR (که پرش‌های شرطی ادغام‌شده را هم‌تراز می‌کند)، \fBjmp\fR (که پرش‌های غیرشرطی را هم‌تراز می‌کند)، \fBcall\fR (که فراخوانی‌ها را هم‌تراز می‌کند)، \&\fBret\fR (که دستورهای ret را هم‌تراز می‌کند) و \fBindirect\fR (که پرش‌ها و فراخوانی‌های غیرمستقیم را هم‌تراز می‌کند) است. مقدار پیش‌فرض \fB\-malign\-branch=jcc+fused+jmp\fR است. .IP \fB\-malign\-branch\-prefix\-size=\fR\fINUM\fR 4 .IX Item "-malign-branch-prefix-size=NUM" این گزینه بیشینهٔ تعداد پیشوندها را روی یک دستورالعمل برای هم‌ترازی شاخه‌ها تعیین می‌کند. \fINUM\fR باید بین ۰ تا ۵ باشد. مقدار پیش‌فرض \fINUM\fR برابر با ۵ است. .IP \fB\-mbranches\-within\-32B\-boundaries\fR 4 .IX Item "-mbranches-within-32B-boundaries" این گزینه پرش‌های شرطی، پرش‌های شرطی ادغام‌شده و پرش‌های غیرشرطی را درون مرز ۳۲ بایتی با حداکثر ۵ پیشوند سگمنت روی یک دستورالعمل هم‌تراز می‌کند. این گزینه معادل موارد زیر است: \&\fB\-malign\-branch\-boundary=32\fR \&\fB\-malign\-branch=jcc+fused+jmp\fR \&\fB\-malign\-branch\-prefix\-size=5\fR. حالت پیش‌فرض شاخه‌ها را هم‌تراز نمی‌کند. .IP \fB\-mlfence\-after\-load=\fR\fIno\fR 4 .IX Item "-mlfence-after-load=no" .PD 0 .IP \fB\-mlfence\-after\-load=\fR\fIyes\fR 4 .IX Item "-mlfence-after-load=yes" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر پس از دستورالعمل‌های بارگذاری (load)، دستور lfence را تولید کند یا خیر. \fB\-mlfence\-after\-load=\fR\fIyes\fR دستور lfence را تولید خواهد کرد. \fB\-mlfence\-after\-load=\fR\fIno\fR دستور lfence را تولید نخواهد کرد، که حالت پیش‌فرض است. .IP \fB\-mlfence\-before\-indirect\-branch=\fR\fInone\fR 4 .IX Item "-mlfence-before-indirect-branch=none" .PD 0 .IP \fB\-mlfence\-before\-indirect\-branch=\fR\fIall\fR 4 .IX Item "-mlfence-before-indirect-branch=all" .IP \fB\-mlfence\-before\-indirect\-branch=\fR\fIregister\fR 4 .IX Item "-mlfence-before-indirect-branch=register" .IP \fB\-mlfence\-before\-indirect\-branch=\fR\fImemory\fR 4 .IX Item "-mlfence-before-indirect-branch=memory" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر قبل از دستورالعمل‌های شاخهٔ نزدیک غیرمستقیم (indirect near branch)، دستور lfence را تولید کند یا خیر. \&\fB\-mlfence\-before\-indirect\-branch=\fR\fIall\fR پیش از شاخهٔ نزدیک غیرمستقیم از طریق ثبات دستور lfence را تولید کرده و پیش از شاخهٔ نزدیک غیرمستقیم از طریق حافظه یک هشدار صادر می‌کند. همچنین هنگامی که مقدار صریحی برای \fB\-mlfence\-before\-ret=\fR تعیین نشده باشد، به‌طور ضمنی \fB\-mlfence\-before\-ret=\fR\fIshl\fR را تنظیم می‌کند. \&\fB\-mlfence\-before\-indirect\-branch=\fR\fIregister\fR پیش از شاخهٔ نزدیک غیرمستقیم از طریق ثبات، دستور lfence را تولید خواهد کرد. \&\fB\-mlfence\-before\-indirect\-branch=\fR\fImemory\fR پیش از شاخهٔ نزدیک غیرمستقیم از طریق حافظه، یک هشدار صادر خواهد کرد. \&\fB\-mlfence\-before\-indirect\-branch=\fR\fInone\fR نه دستور lfence را تولید می‌کند و نه هشداری صادر می‌کند، که حالت پیش‌فرض است. توجه داشته باشید که در صورت استفاده از \&\fB\-mlfence\-after\-load=\fR\fIyes\fR، دستور lfence پیش از شاخهٔ نزدیک غیرمستقیم از طریق ثبات تولید نخواهد شد، زیرا lfence پس از بارگذاری ثبات مقصدِ شاخه تولید می‌شود. .IP \fB\-mlfence\-before\-ret=\fR\fInone\fR 4 .IX Item "-mlfence-before-ret=none" .PD 0 .IP \fB\-mlfence\-before\-ret=\fR\fIshl\fR 4 .IX Item "-mlfence-before-ret=shl" .IP \fB\-mlfence\-before\-ret=\fR\fIor\fR 4 .IX Item "-mlfence-before-ret=or" .IP \fB\-mlfence\-before\-ret=\fR\fIyes\fR 4 .IX Item "-mlfence-before-ret=yes" .IP \fB\-mlfence\-before\-ret=\fR\fInot\fR 4 .IX Item "-mlfence-before-ret=not" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر پیش از ret دستور lfence را تولید کند یا خیر. \fB\-mlfence\-before\-ret=\fR\fIor\fR دستور or را به همراه lfence تولید خواهد کرد. \&\fB\-mlfence\-before\-ret=\fR\fIshl/yes\fR دستور shl را به همراه lfence تولید خواهد کرد. \fB\-mlfence\-before\-ret=\fR\fInot\fR دستور not را به همراه lfence تولید خواهد کرد. \fB\-mlfence\-before\-ret=\fR\fInone\fR دستور lfence را تولید نخواهد کرد، که حالت پیش‌فرض است. .IP \fB\-mx86\-used\-note=\fR\fIno\fR 4 .IX Item "-mx86-used-note=no" .PD 0 .IP \fB\-mx86\-used\-note=\fR\fIyes\fR 4 .IX Item "-mx86-used-note=yes" .PD این گزینه‌ها کنترل می‌کنند که آیا اسمبلر یادداشت‌های ویژگی گنو (GNU property notes) از نوع GNU_PROPERTY_X86_ISA_1_USED و GNU_PROPERTY_X86_FEATURE_2_USED را تولید کند یا خیر. حالت پیش‌فرض را می‌توان با گزینهٔ پیکربندی \&\fB\-\-enable\-x86\-used\-note\fR کنترل کرد. .IP \fB\-mevexrcig=\fR\fIrne\fR 4 .IX Item "-mevexrcig=rne" .PD 0 .IP \fB\-mevexrcig=\fR\fIrd\fR 4 .IX Item "-mevexrcig=rd" .IP \fB\-mevexrcig=\fR\fIru\fR 4 .IX Item "-mevexrcig=ru" .IP \fB\-mevexrcig=\fR\fIrz\fR 4 .IX Item "-mevexrcig=rz" .PD این گزینه‌ها نحوهٔ کدگذاری دستورالعمل‌های EVEX از نوع SAE\-only را توسط اسمبلر کنترل می‌کنند. \fB\-mevexrcig=\fR\fIrne\fR بیت‌های RC از دستورالعمل EVEX را با 00 کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mevexrcig=\fR\fIrd\fR، \fB\-mevexrcig=\fR\fIru\fR و \fB\-mevexrcig=\fR\fIrz\fR دستورالعمل‌های SAE\-only EVEX را به‌ترتیب با بیت‌های RC برابر با 01، 10 و 11 کدگذاری خواهند کرد. .IP \fB\-mamd64\fR 4 .IX Item "-mamd64" .PD 0 .IP \fB\-mintel64\fR 4 .IX Item "-mintel64" .PD این گزینه مشخص می‌کند که اسمبلر در حالت ۶۴ بیتی فقط باید معماری مجموعه دستورالعمل (ISA) از نوع AMD64 یا Intel64 را بپذیرد. حالت پیش‌فرض، پذیرش ISAهای مشترک، فقط Intel64 و AMD64 است. .IP "\fB\-O0 | \-O | \-O1 | \-O2 | \-Os\fR" 4 .IX Item "-O0 | -O | -O1 | -O2 | -Os" کدگذاری دستورالعمل‌ها را با اندازهٔ دستورالعمل کوچک‌تر بهینه‌سازی می‌کند. \fB\-O\fR و \fB\-O1\fR دستورالعمل‌های بارگذاری ثبات ۶۴ بیتی با مقدار بی‌درنگ (immediate) ۶۴ بیتی را به‌صورت دستورالعمل‌های بارگذاری ثبات ۳۲ بیتی با مقادیر بی‌درنگ ۳۱ یا ۳۲ بیتی کدگذاری می‌کنند، دستورالعمل‌های پاک‌سازی ثبات ۶۴ بیتی را با دستورالعمل‌های پاک‌سازی ثبات ۳۲ بیتی کدگذاری می‌کنند، دستورالعمل‌های پاک‌سازی ثبات برداری ۲۵۶ بیتی/۵۱۲ بیتی VEX/EVEX را با دستورالعمل‌های پاک‌سازی ثبات برداری ۱۲۸ بیتی VEX کدگذاری می‌کنند، دستورالعمل‌های بارگذاری/ذخیرهٔ ثبات برداری ۱۲۸ بیتی/۲۵۶ بیتی EVEX را با دستورالعمل‌های بارگذاری/ذخیرهٔ ثبات برداری VEX کدگذاری می‌کنند، و دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شدهٔ ۱۲۸ بیتی/۲۵۶ بیتی EVEX را با دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شدهٔ ۱۲۸ بیتی/۲۵۶ بیتی VEX کدگذاری می‌کنند. .Sp \&\fB\-O2\fR شامل بهینه‌سازی‌های \fB\-O1\fR به‌همراه کدگذاری دستورالعمل‌های پاک‌سازی ثبات برداری ۲۵۶ بیتی/۵۱۲ بیتی EVEX با دستورالعمل‌های پاک‌سازی ثبات برداری ۱۲۸ بیتی EVEX است. در حالت ۶۴ بیتی، دستورالعمل‌های کدگذاری‌شده با VEX که دارای عملوندهای مبدأ جابه‌جایی‌پذیر (commutative) هستند، در صورتی که امکان استفاده از فرم پیشوند VEX دو بایتی را به‌جای سه بایتی فراهم کند، عملوندهای مبدأشان جابه‌جا خواهد شد. شکل‌های خاصی از AND و همچنین OR با همان عملوند (ثبات) که دو بار مشخص شده باشد نیز به TEST تبدیل خواهند شد. .Sp \&\fB\-Os\fR شامل بهینه‌سازی‌های \fB\-O2\fR به‌همراه کدگذاری آزمون‌های ثبات‌های ۱۶ بیتی، ۳۲ بیتی و ۶۴ بیتی با مقدار بی‌درنگ به‌صورت آزمون ثبات ۸ بیتی با مقدار بی‌درنگ است. \fB\-O0\fR این بهینه‌سازی را غیرفعال می‌کند. .PP گزینه‌های زیر زمانی که as برای سری Ubicom IP2K پیکربندی شده باشد در دسترس هستند. .IP \fB\-mip2022ext\fR 4 .IX Item "-mip2022ext" مشخص می‌کند که دستورالعمل‌های گسترش‌یافتهٔ IP2022 مجاز هستند. .IP \fB\-mip2022\fR 4 .IX Item "-mip2022" رفتار پیش‌فرض را بازمی‌گرداند، که دستورالعمل‌های مجاز را تنها به دستورالعمل‌های پایهٔ IP2022 محدود می‌کند. .PP گزینه‌های زیر زمانی که as برای پردازنده‌های Renesas M32C و M16C پیکربندی شده باشد در دسترس هستند. .IP \fB\-m32c\fR 4 .IX Item "-m32c" اسِمبل کردن دستورالعمل‌های M32C. .IP \fB\-m16c\fR 4 .IX Item "-m16c" اسِمبل کردن دستورالعمل‌های M16C (پیش‌فرض). .IP \fB\-relax\fR 4 .IX Item "-relax" فعال‌سازی پشتیبانی از کاهش‌های زمان پیوند (link\-time relaxations). .IP \fB\-h\-tick\-hex\fR 4 .IX Item "-h-tick-hex" پشتیبانی از ثوابت هگزادسیمال به سبک H\*(Aq00 علاوه بر سبک 0x00. .PP گزینه‌های زیر زمانی که as برای سری Renesas M32R (که قبلاً با نام Mitsubishi M32R شناخته می‌شد) پیکربندی شده باشد در دسترس هستند..IP \fB\-\-m32rx\fR 4 .IX Item "--m32rx" مشخص می‌کند کدام پردازنده از خانوادهٔ M32R هدف است. پیش‌فرض به‌طور معمول M32R است، اما این گزینه آن را به M32RX تغییر می‌دهد. .IP "\fB\-\-warn\-explicit\-parallel\-conflicts or \-\-Wp\fR" 4 .IX Item "--warn-explicit-parallel-conflicts or --Wp" هنگام مواجهه با ساختارهای موازی مشکوک، پیام‌های هشدار تولید می‌کند. .IP "\fB\-\-no\-warn\-explicit\-parallel\-conflicts or \-\-Wnp\fR" 4 .IX Item "--no-warn-explicit-parallel-conflicts or --Wnp" هنگام مواجهه با ساختارهای موازی مشکوک، پیام‌های هشدار تولید نمی‌کند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای سری Motorola 68000 پیکربندی شده باشد. .IP \fB\-l\fR 4 .IX Item "-l" ارجاعات به نمادهای تعریف‌نشده را به جای دو کلمه (word)، به یک کلمه کوتاه می‌کند. .IP "\fB\-m68000 | \-m68008 | \-m68010 | \-m68020 | \-m68030\fR" 4 .IX Item "-m68000 | -m68008 | -m68010 | -m68020 | -m68030" .PD 0 .IP "\fB| \-m68040 | \-m68060 | \-m68302 | \-m68331 | \-m68332\fR" 4 .IX Item "| -m68040 | -m68060 | -m68302 | -m68331 | -m68332" .IP "\fB| \-m68333 | \-m68340 | \-mcpu32 | \-m5200\fR" 4 .IX Item "| -m68333 | -m68340 | -mcpu32 | -m5200" .PD مشخص می‌کند چه پردازنده‌ای از خانوادهٔ 68000 هدف است. پیش‌فرض به‌طور معمول 68020 است، اما این مقدار را می‌توان در زمان پیکربندی تغییر داد. .IP "\fB\-m68881 | \-m68882 | \-mno\-68881 | \-mno\-68882\fR" 4 .IX Item "-m68881 | -m68882 | -mno-68881 | -mno-68882" ماشین هدف پردازندهٔ کمکی ممیز شناور دارد (یا ندارد). پیش‌فرض بر این است که برای 68020، 68030 و cpu32 یک پردازندهٔ کمکی در نظر گرفته شود. با اینکه 68000 پایه با 68881 سازگار نیست، می‌توان ترکیبی از این دو را مشخص کرد، زیرا شبیه‌سازی دستورالعمل‌های پردازندهٔ کمکی با پردازندهٔ اصلی امکان‌پذیر است. .IP "\fB\-m68851 | \-mno\-68851\fR" 4 .IX Item "-m68851 | -mno-68851" ماشین هدف پردازندهٔ کمکی واحد مدیریت حافظه (MMU) دارد (یا ندارد). پیش‌فرض بر این است که برای 68020 و بالاتر یک MMU در نظر گرفته شود. .PP برای جزئیات دربارهٔ گزینه‌های ویژگی‌های وابسته به ماشین PDP\-11، به \fBPDP\-11\-Options\fR مراجعه کنید. .IP "\fB\-mpic | \-mno\-pic\fR" 4 .IX Item "-mpic | -mno-pic" کد مستقل از موقعیت (یا وابسته به موقعیت) تولید می‌کند. پیش‌فرض \fB\-mpic\fR است. .IP \fB\-mall\fR 4 .IX Item "-mall" .PD 0 .IP \fB\-mall\-extensions\fR 4 .IX Item "-mall-extensions" .PD همهٔ افزونه‌های مجموعه دستورالعمل را فعال می‌کند. این حالت پیش‌فرض است. .IP \fB\-mno\-extensions\fR 4 .IX Item "-mno-extensions" همهٔ افزونه‌های مجموعه دستورالعمل را غیرفعال می‌کند. .IP "\fB\-m\fR\fIextension\fR \fB| \-mno\-\fR\fIextension\fR" 4 .IX Item "-mextension | -mno-extension" یک افزونهٔ خاص از مجموعه دستورالعمل را فعال (یا غیرفعال) می‌کند. .IP \fB\-m\fR\fIcpu\fR 4 .IX Item "-mcpu" افزونه‌های مجموعه دستورالعمل پشتیبانی‌شده توسط یک CPU خاص را فعال، و سایر افزونه‌ها را غیرفعال می‌کند. .IP \fB\-m\fR\fImachine\fR 4 .IX Item "-mmachine" افزونه‌های مجموعه دستورالعمل پشتیبانی‌شده توسط یک مدل ماشین خاص را فعال، و سایر افزونه‌ها را غیرفعال می‌کند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ picoJava پیکربندی شده باشد. .IP \fB\-mb\fR 4 .IX Item "-mb" خروجی با قالب «big endian» تولید می‌کند. .IP \fB\-ml\fR 4 .IX Item "-ml" خروجی با قالب «little endian» تولید می‌کند. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ PRU پیکربندی شده باشد. .IP \fB\-mlink\-relax\fR 4 .IX Item "-mlink-relax" فرض می‌کند که LD با بررسی ۱۶ بیت بالایی \fIexpression\fR، دستورالعمل‌های LDI32 را بهینه‌سازی خواهد کرد. اگر همهٔ آن‌ها صفر باشند، LD دستورالعمل LDI32 را به یک LDI واحد کوتاه می‌کند. در چنین حالتی \f(CW\*(C`as\*(C'\fR برای عبارت‌های diff، بازنشانی‌های DIFF را در خروجی درج می‌کند. .IP \fB\-mno\-link\-relax\fR 4 .IX Item "-mno-link-relax" فرض می‌کند که LD دستورالعمل‌های LDI32 را بهینه‌سازی نخواهد کرد. در نتیجه، بازنشانی‌های DIFF صادر نخواهند شد. .IP \fB\-mno\-warn\-regname\-label\fR 4 .IX Item "-mno-warn-regname-label" اگر نام یک برچسب با نام یک ثبات مطابقت داشته باشد، هشدار نمی‌دهد. معمولاً برنامه‌نویسان اسمبلی مایلند این هشدار صادر شود. کامپایلرهای C ممکن است بخواهند این گزینه را غیرفعال کنند. .IP \fB\-mcore\-revision=\fR\fIrevision\fR 4 .IX Item "-mcore-revision=revision" این گزینه نسخهٔ بازنگری (revision) هستهٔ PRU را برای اسمبل کردن مشخص می‌کند. بازنگری‌های زیر شناسایی می‌شوند: \&\f(CW\*(C`V1\*(C'\fR، \&\f(CW\*(C`V2\*(C'\fR، \&\f(CW\*(C`V3\*(C'\fR و \&\f(CW\*(C`V4\*(C'\fR. پیش‌فرض اسمبلر \f(CW\*(C`V3\*(C'\fR است. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ MIPS پیکربندی شده باشد. .IP "\fB\-G\fR \fInum\fR" 4 .IX Item "-G num" این گزینه بیشترین اندازهٔ شیئی را تعیین می‌کند که می‌تواند به‌طور ضمنی با ثبات \f(CW\*(C`gp\*(C'\fR مورد ارجاع قرار گیرد. این گزینه تنها برای مقاصدی پذیرفته می‌شود که از قالب ECOFF استفاده می‌کنند، مانند DECstation که Ultrix را اجرا می‌کند. مقدار پیش‌فرض ۸ است. .IP \fB\-EB\fR 4 .IX Item "-EB" خروجی با قالب «big endian» تولید می‌کند. .IP \fB\-EL\fR 4 .IX Item "-EL" خروجی با قالب «little endian» تولید می‌کند. .IP \fB\-mips1\fR 4 .IX Item "-mips1" .PD 0 .IP \fB\-mips2\fR 4 .IX Item "-mips2" .IP \fB\-mips3\fR 4 .IX Item "-mips3" .IP \fB\-mips4\fR 4 .IX Item "-mips4" .IP \fB\-mips5\fR 4 .IX Item "-mips5" .IP \fB\-mips32\fR 4 .IX Item "-mips32" .IP \fB\-mips32r2\fR 4 .IX Item "-mips32r2" .IP \fB\-mips32r3\fR 4 .IX Item "-mips32r3" .IP \fB\-mips32r5\fR 4 .IX Item "-mips32r5" .IP \fB\-mips32r6\fR 4 .IX Item "-mips32r6" .IP \fB\-mips64\fR 4 .IX Item "-mips64" .IP \fB\-mips64r2\fR 4 .IX Item "-mips64r2" .IP \fB\-mips64r3\fR 4 .IX Item "-mips64r3" .IP \fB\-mips64r5\fR 4 .IX Item "-mips64r5" .IP \fB\-mips64r6\fR 4 .IX Item "-mips64r6" .PD برای یک سطح خاص از معماری مجموعه دستورالعمل MIPS کد تولید می‌کند. \&\fB\-mips1\fR یک نام مستعار برای \fB\-march=r3000\fR، \fB\-mips2\fR یک نام مستعار برای \fB\-march=r6000\fR، \fB\-mips3\fR یک نام مستعار برای \&\fB\-march=r4000\fR و \fB\-mips4\fR یک نام مستعار برای \fB\-march=r8000\fR است. \&\fB\-mips5\fR، \fB\-mips32\fR، \fB\-mips32r2\fR، \fB\-mips32r3\fR، \&\fB\-mips32r5\fR، \fB\-mips32r6\fR، \fB\-mips64\fR، \fB\-mips64r2\fR، \&\fB\-mips64r3\fR، \fB\-mips64r5\fR و \fB\-mips64r6\fR به‌ترتیب با پردازنده‌های عمومی ISA از نوع 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 مطابقت دارند. .IP \fB\-march=\fR\fIcpu\fR 4 .IX Item "-march=cpu" برای یک CPU خاص MIPS کد تولید می‌کند. .IP \fB\-mtune=\fR\fIcpu\fR 4 .IX Item "-mtune=cpu" زمان‌بندی و بهینه‌سازی را برای یک CPU خاص MIPS انجام می‌دهد. .IP \fB\-mfix7000\fR 4 .IX Item "-mfix7000" .PD 0 .IP \fB\-mno\-fix7000\fR 4 .IX Item "-mno-fix7000" .PD اگر خواندن ثبات مقصدِ یک دستورالعمل mfhi یا mflo در دو دستورالعمل بعدی رخ دهد، باعث درج nopها می‌شود. .IP \fB\-mfix\-rm7000\fR 4 .IX Item "-mfix-rm7000" .PD 0 .IP \fB\-mno\-fix\-rm7000\fR 4 .IX Item "-mno-fix-rm7000" .PD اگر یک دستورالعمل dmult یا dmultu با یک دستورالعمل load دنبال شود، باعث درج nopها می‌شود..IP \fB\-mfix\-r5900\fR 4 .IX Item "-mfix-r5900" .PD 0 .IP \fB\-mno\-fix\-r5900\fR 4 .IX Item "-mno-fix-r5900" .PD تلاشی برای زمان‌بندی دستور پیشین در شکاف تأخیر (delay slot) دستور انشعابی که در انتهای یک حلقهٔ کوتاه متشکل از شش دستور یا کمتر قرار دارد انجام نمی‌دهد و در عوض همواره یک دستور \f(CW\*(C`nop\*(C'\fR را در آنجا زمان‌بندی می‌کند. باگ حلقهٔ کوتاه تحت شرایط خاصی به‌دلیل وجود یک نقص سخت‌افزاری در تراشهٔ R5900، باعث می‌شود حلقه‌ها تنها یک یا دو بار اجرا شوند. .IP \fB\-mdebug\fR 4 .IX Item "-mdebug" .PD 0 .IP \fB\-no\-mdebug\fR 4 .IX Item "-no-mdebug" .PD باعث می‌شود خروجی اشکال‌زدایی به سبک stabs به جای بخش‌های استاندارد ELF .stabs، در یک بخش .mdebug با سبک ECOFF قرار گیرد. .IP \fB\-mpdr\fR 4 .IX Item "-mpdr" .PD 0 .IP \fB\-mno\-pdr\fR 4 .IX Item "-mno-pdr" .PD تولید بخش‌های \f(CW\*(C`.pdr\*(C'\fR را کنترل می‌کند. .IP \fB\-mgp32\fR 4 .IX Item "-mgp32" .PD 0 .IP \fB\-mfp32\fR 4 .IX Item "-mfp32" .PD اندازهٔ ثبات‌ها معمولاً از روی ISA و ABI استنباط می‌شود، اما این پرچم‌ها گروه مشخصی از ثبات‌ها را وادار می‌کنند که در همه حال با عرض ۳۲ بیت در نظر گرفته شوند. \fB\-mgp32\fR اندازهٔ ثبات‌های همه‌منظوره و \fB\-mfp32\fR اندازهٔ ثبات‌های ممیز شناور را کنترل می‌کند. .IP \fB\-mgp64\fR 4 .IX Item "-mgp64" .PD 0 .IP \fB\-mfp64\fR 4 .IX Item "-mfp64" .PD اندازهٔ ثبات‌ها معمولاً از روی ISA و ABI استنباط می‌شود، اما این پرچم‌ها گروه مشخصی از ثبات‌ها را وادار می‌کنند که در همه حال با عرض ۶۴ بیت در نظر گرفته شوند. \fB\-mgp64\fR اندازهٔ ثبات‌های همه‌منظوره و \fB\-mfp64\fR اندازهٔ ثبات‌های ممیز شناور را کنترل می‌کند. .IP \fB\-mfpxx\fR 4 .IX Item "-mfpxx" اندازهٔ ثبات‌ها معمولاً از روی ISA و ABI استنباط می‌شود، اما استفاده از این پرچم در ترکیب با \fB\-mabi=32\fR گونه‌ای از ABI را فعال می‌کند که با ثبات‌های ممیز شناورِ با پهنای ۳۲ یا ۶۴ بیت به‌درستی کار خواهد کرد. .IP \fB\-modd\-spreg\fR 4 .IX Item "-modd-spreg" .PD 0 .IP \fB\-mno\-odd\-spreg\fR 4 .IX Item "-mno-odd-spreg" .PD استفاده از عملیات ممیز شناور را روی ثبات‌های تک‌دقتی با شمارهٔ فرد، در صورت پشتیبانی توسط ISA، فعال می‌کند. گزینهٔ \fB\-mfpxx\fR مستلزم \fB\-mno\-odd\-spreg\fR است، در غیر این صورت مقدار پیش‌فرض \fB\-modd\-spreg\fR است. .IP \fB\-mips16\fR 4 .IX Item "-mips16" .PD 0 .IP \fB\-no\-mips16\fR 4 .IX Item "-no-mips16" .PD تولید کد برای پردازندهٔ MIPS 16. این معادل قرار دادن \&\f(CW\*(C`.module mips16\*(C'\fR در ابتدای فایل اسمبلی است. \fB\-no\-mips16\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mmips16e2\fR 4 .IX Item "-mmips16e2" .PD 0 .IP \fB\-mno\-mips16e2\fR 4 .IX Item "-mno-mips16e2" .PD استفاده از دستورالعمل‌های MIPS16e2 را در حالت MIPS16 فعال می‌کند. این معادل قرار دادن \f(CW\*(C`.module mips16e2\*(C'\fR در ابتدای فایل اسمبلی است. \&\fB\-mno\-mips16e2\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mmicromips\fR 4 .IX Item "-mmicromips" .PD 0 .IP \fB\-mno\-micromips\fR 4 .IX Item "-mno-micromips" .PD تولید کد برای پردازندهٔ microMIPS. این معادل قرار دادن \&\f(CW\*(C`.module micromips\*(C'\fR در ابتدای فایل اسمبلی است. \&\fB\-mno\-micromips\fR این گزینه را غیرفعال می‌کند. این عمل معادل قرار دادن \&\f(CW\*(C`.module nomicromips\*(C'\fR در ابتدای فایل اسمبلی است. .IP \fB\-msmartmips\fR 4 .IX Item "-msmartmips" .PD 0 .IP \fB\-mno\-smartmips\fR 4 .IX Item "-mno-smartmips" .PD افزونهٔ SmartMIPS را برای مجموعه دستورالعمل‌های MIPS32 فعال می‌کند. این معادل قرار دادن \f(CW\*(C`.module smartmips\*(C'\fR در ابتدای فایل اسمبلی است. \fB\-mno\-smartmips\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mips3d\fR 4 .IX Item "-mips3d" .PD 0 .IP \fB\-no\-mips3d\fR 4 .IX Item "-no-mips3d" .PD تولید کد برای افزونهٔ کاربرد-خاص MIPS\-3D (Application Specific Extension). این گزینه به اسمبلر می‌گوید دستورالعمل‌های MIPS\-3D را بپذیرد. \&\fB\-no\-mips3d\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mdmx\fR 4 .IX Item "-mdmx" .PD 0 .IP \fB\-no\-mdmx\fR 4 .IX Item "-no-mdmx" .PD تولید کد برای افزونهٔ کاربرد-خاص MDMX. این گزینه به اسمبلر می‌گوید دستورالعمل‌های MDMX را بپذیرد. \&\fB\-no\-mdmx\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mdsp\fR 4 .IX Item "-mdsp" .PD 0 .IP \fB\-mno\-dsp\fR 4 .IX Item "-mno-dsp" .PD تولید کد برای افزونهٔ کاربرد-خاص DSP Release 1. این گزینه به اسمبلر می‌گوید دستورالعمل‌های DSP Release 1 را بپذیرد. \&\fB\-mno\-dsp\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mdspr2\fR 4 .IX Item "-mdspr2" .PD 0 .IP \fB\-mno\-dspr2\fR 4 .IX Item "-mno-dspr2" .PD تولید کد برای افزونهٔ کاربرد-خاص DSP Release 2. این گزینه مستلزم \fB\-mdsp\fR است. این به اسمبلر می‌گوید دستورالعمل‌های DSP Release 2 را بپذیرد. \&\fB\-mno\-dspr2\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mdspr3\fR 4 .IX Item "-mdspr3" .PD 0 .IP \fB\-mno\-dspr3\fR 4 .IX Item "-mno-dspr3" .PD تولید کد برای افزونهٔ کاربرد-خاص DSP Release 3. این گزینه مستلزم \fB\-mdsp\fR و \fB\-mdspr2\fR است. این به اسمبلر می‌گوید دستورالعمل‌های DSP Release 3 را بپذیرد. \&\fB\-mno\-dspr3\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mmsa\fR 4 .IX Item "-mmsa" .PD 0 .IP \fB\-mno\-msa\fR 4 .IX Item "-mno-msa" .PD تولید کد برای افزونهٔ معماری MIPS SIMD. این گزینه به اسمبلر می‌گوید دستورالعمل‌های MSA را بپذیرد. \&\fB\-mno\-msa\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mxpa\fR 4 .IX Item "-mxpa" .PD 0 .IP \fB\-mno\-xpa\fR 4 .IX Item "-mno-xpa" .PD تولید کد برای افزونهٔ MIPS eXtended Physical Address (XPA). این گزینه به اسمبلر می‌گوید دستورالعمل‌های XPA را بپذیرد. \&\fB\-mno\-xpa\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mmt\fR 4 .IX Item "-mmt" .PD 0 .IP \fB\-mno\-mt\fR 4 .IX Item "-mno-mt" .PD تولید کد برای افزونهٔ کاربرد-خاص MT. این گزینه به اسمبلر می‌گوید دستورالعمل‌های MT را بپذیرد. \&\fB\-mno\-mt\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mmcu\fR 4 .IX Item "-mmcu" .PD 0 .IP \fB\-mno\-mcu\fR 4 .IX Item "-mno-mcu" .PD تولید کد برای افزونهٔ کاربرد-خاص MCU. این گزینه به اسمبلر می‌گوید دستورالعمل‌های MCU را بپذیرد. \&\fB\-mno\-mcu\fR این گزینه را غیرفعال می‌کند..IP \fB\-mcrc\fR 4 .IX Item "-mcrc" .PD 0 .IP \fB\-mno\-crc\fR 4 .IX Item "-mno-crc" .PD تولید کد برای افزونهٔ کاربرد\-خاص (ASE) بررسی افزونگی چرخه‌ای (CRC) در MIPS. این گزینه به اسمبلر می‌گوید که دستورالعمل‌های CRC را بپذیرد. \&\fB\-mno\-crc\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mginv\fR 4 .IX Item "-mginv" .PD 0 .IP \fB\-mno\-ginv\fR 4 .IX Item "-mno-ginv" .PD تولید کد برای افزونهٔ کاربرد\-خاص باطل‌سازی سراسری (GINV). این گزینه به اسمبلر می‌گوید دستورالعمل‌های GINV را بپذیرد. \&\fB\-mno\-ginv\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mloongson\-mmi\fR 4 .IX Item "-mloongson-mmi" .PD 0 .IP \fB\-mno\-loongson\-mmi\fR 4 .IX Item "-mno-loongson-mmi" .PD تولید کد برای افزونهٔ کاربرد\-خاص دستورالعمل‌های چندرسانه‌ای Loongson (MMI). این گزینه به اسمبلر می‌گوید دستورالعمل‌های MMI را بپذیرد. \&\fB\-mno\-loongson\-mmi\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mloongson\-cam\fR 4 .IX Item "-mloongson-cam" .PD 0 .IP \fB\-mno\-loongson\-cam\fR 4 .IX Item "-mno-loongson-cam" .PD تولید کد برای دستورالعمل‌های حافظه با آدرس‌دهی محتوا (CAM) در Loongson. این گزینه به اسمبلر می‌گوید دستورالعمل‌های Loongson CAM را بپذیرد. \&\fB\-mno\-loongson\-cam\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mloongson\-ext\fR 4 .IX Item "-mloongson-ext" .PD 0 .IP \fB\-mno\-loongson\-ext\fR 4 .IX Item "-mno-loongson-ext" .PD تولید کد برای دستورالعمل‌های افزونه‌های Loongson (EXT). این گزینه به اسمبلر می‌گوید دستورالعمل‌های Loongson EXT را بپذیرد. \&\fB\-mno\-loongson\-ext\fR این گزینه را غیرفعال می‌کند. .IP \fB\-mloongson\-ext2\fR 4 .IX Item "-mloongson-ext2" .PD 0 .IP \fB\-mno\-loongson\-ext2\fR 4 .IX Item "-mno-loongson-ext2" .PD تولید کد برای دستورالعمل‌های افزونه‌های نگارش ۲ Loongson (EXT2). این گزینه متضمن \fB\-mloongson\-ext\fR است. این گزینه به اسمبلر می‌گوید دستورالعمل‌های Loongson EXT2 را بپذیرد. \&\fB\-mno\-loongson\-ext2\fR این گزینه را غیرفعال می‌کند. .IP \fB\-minsn32\fR 4 .IX Item "-minsn32" .PD 0 .IP \fB\-mno\-insn32\fR 4 .IX Item "-mno-insn32" .PD هنگام تولید کد برای پردازندهٔ microMIPS، فقط از کدگذاری‌های دستورالعمل ۳۲\-بیتی استفاده می‌کند. این گزینه مانع از به‌کارگیری هرگونه دستورالعمل ۱۶\-بیتی می‌شود. این عمل معادل قرار دادن \f(CW\*(C`.set insn32\*(C'\fR در ابتدای فایل اسمبلی است. \fB\-mno\-insn32\fR این گزینه را غیرفعال می‌کند، که معادل قرار دادن \f(CW\*(C`.set noinsn32\*(C'\fR در ابتدای فایل اسمبلی است. به‌طور پیش‌فرض \fB\-mno\-insn32\fR انتخاب شده است، که امکان استفاده از همهٔ دستورالعمل‌ها را فراهم می‌کند. .IP \fB\-\-construct\-floats\fR 4 .IX Item "--construct-floats" .PD 0 .IP \fB\-\-no\-construct\-floats\fR 4 .IX Item "--no-construct-floats" .PD گزینهٔ \fB\-\-no\-construct\-floats\fR ساخت مقادیر ثابت ممیز شناور با عرض دوگانه را با بارگذاری دو نیمهٔ مقدار در دو ثبات ممیز شناور با عرض تک‌گانه که ثبات با عرض دوگانه را تشکیل می‌دهند، غیرفعال می‌کند. به‌طور پیش‌فرض \fB\-\-construct\-floats\fR انتخاب شده است، که اجازهٔ ساخت این مقادیر ثابت ممیز شناور را می‌دهد. .IP \fB\-\-relax\-branch\fR 4 .IX Item "--relax-branch" .PD 0 .IP \fB\-\-no\-relax\-branch\fR 4 .IX Item "--no-relax-branch" .PD گزینهٔ \fB\-\-relax\-branch\fR تعدیل (relaxation) پرش‌های خارج از محدوده را فعال می‌کند. به‌طور پیش‌فرض \fB\-\-no\-relax\-branch\fR انتخاب شده است، که باعث می‌شود هرگونه پرش خارج از محدوده منجر به ایجاد خطا شود. .IP \fB\-mignore\-branch\-isa\fR 4 .IX Item "-mignore-branch-isa" .PD 0 .IP \fB\-mno\-ignore\-branch\-isa\fR 4 .IX Item "-mno-ignore-branch-isa" .PD نادیده گرفتن بررسی‌های پرش برای گذارهای نامعتبر میان حالت‌های ISA. معناشناسی پرش‌ها امکان تغییر حالت ISA را فراهم نمی‌کند، بنابراین در بیشتر موارد حالت ISA که پرش برای آن کدگذاری شده است باید با حالت ISA برچسب مقصد پرش یکسان باشد. به همین دلیل GAS بررسی‌هایی را پیاده‌سازی کرده است که در زمان اسمبلی پرش، تطابق دو حالت ISA را اعتبارسنجی می‌کند. \fB\-mignore\-branch\-isa\fR این بررسی‌ها را غیرفعال می‌کند. به‌طور پیش‌فرض \fB\-mno\-ignore\-branch\-isa\fR انتخاب شده است، که باعث می‌شود هرگونه پرش نامعتبر نیازمند گذار بین حالت‌های ISA منجر به بروز خطا شود. .IP \fB\-mnan=\fR\fIencoding\fR 4 .IX Item "-mnan=encoding" انتخاب میان قالب کدگذاری NaN بر اساس IEEE 754\-2008 (\fB\-mnan=2008\fR) یا شیوهٔ موروثی (\fB\-mnan=legacy\fR). مورد دوم حالت پیش‌فرض است. .IP \fB\-\-emulation=\fR\fIname\fR 4 .IX Item "--emulation=name" این گزینه پیش‌تر برای جابه‌جایی میان خروجی‌های ELF و ECOFF در مقصدهایی مانند IRIX 5 که از هر دو پشتیبانی می‌کردند به کار می‌رفت. پشتیبانی از MIPS ECOFF در GAS 2.24 حذف شد، بنابراین این گزینه اکنون کاربرد چندانی ندارد. این گزینه صرفاً برای سازگاری با نسخه‌های پیشین حفظ شده است. .Sp نام‌های پیکربندی دردسترس عبارتند از: \fBmipself\fR، \fBmipslelf\fR و \&\fBmipsbelf\fR. انتخاب \fBmipself\fR اکنون هیچ اثری ندارد، زیرا خروجی همواره ELF است. \fBmipslelf\fR و \fBmipsbelf\fR به ترتیب خروجی little\-endian و big\-endian را انتخاب می‌کنند، اما اکنون گزینه‌های ترجیحی به جای آن‌ها \fB\-EL\fR و \fB\-EB\fR هستند. .IP \fB\-nocpp\fR 4 .IX Item "-nocpp" \&\fBas\fR این گزینه را نادیده می‌گیرد. این گزینه برای سازگاری با ابزارهای بومی پذیرفته می‌شود. .IP \fB\-\-trap\fR 4 .IX Item "--trap" .PD 0 .IP \fB\-\-no\-trap\fR 4 .IX Item "--no-trap" .IP \fB\-\-break\fR 4 .IX Item "--break" .IP \fB\-\-no\-break\fR 4 .IX Item "--no-break" .PD کنترل نحوهٔ مدیریت سرریز ضرب و تقسیم بر صفر. \&\fB\-\-trap\fR یا \fB\-\-no\-break\fR (که مترادف هستند) یک استثنای trap ایجاد می‌کنند (و تنها برای معماری مجموعه دستورالعمل‌های سطح ۲ و بالاتر کار می‌کنند)؛ \&\fB\-\-break\fR یا \fB\-\-no\-trap\fR (نیز مترادف بوده و حالت پیش‌فرض هستند) یک استثنای break ایجاد می‌کنند. .IP \fB\-n\fR 4 .IX Item "-n" هنگامی که از این گزینه استفاده شود، \fBas\fR هر بار که یک دستور nop را از یک ماکرو تولید کند، یک هشدار صادر خواهد کرد. .PP گزینه‌های زیر زمانی در دسترس هستند که as برای پردازندهٔ LoongArch پیکربندی شده باشد. .IP \fB\-fpic\fR 4 .IX Item "-fpic" .PD 0 .IP \fB\-fPIC\fR 4 .IX Item "-fPIC" .PD تولید کد مستقل از موقعیت (Position\-Independent Code) .IP \fB\-fno\-pic\fR 4 .IX Item "-fno-pic" کد مستقل از موقعیت تولید نشود (پیش‌فرض) .PP گزینه‌های زیر زمانی در دسترس هستند که as برای پردازندهٔ Meta پیکربندی شده باشد. .ie n .IP """\-mcpu=metac11""" 4 .el .IP \f(CW\-mcpu=metac11\fR 4 .IX Item "-mcpu=metac11" تولید کد برای Meta 1.1. .ie n .IP """\-mcpu=metac12""" 4 .el .IP \f(CW\-mcpu=metac12\fR 4 .IX Item "-mcpu=metac12" تولید کد برای Meta 1.2. .ie n .IP """\-mcpu=metac21""" 4 .el .IP \f(CW\-mcpu=metac21\fR 4 .IX Item "-mcpu=metac21" تولید کد برای Meta 2.1. .ie n .IP """\-mfpu=metac21""" 4 .el .IP \f(CW\-mfpu=metac21\fR 4 .IX Item "-mfpu=metac21" اجازه به کد برای استفاده از سخت‌افزار FPU پردازندهٔ Meta 2.1. .PP برای مستندات گزینه‌های ویژهٔ MMIX به صفحات info مراجعه کنید. .PP گزینه‌های زیر زمانی در دسترس هستند که as برای پردازندهٔ NDS32 پیکربندی شده باشد. .ie n .IP """\-O1""" 4 .el .IP \f(CW\-O1\fR 4 .IX Item "-O1" بهینه‌سازی برای کارایی (عملکرد). .ie n .IP """\-Os""" 4 .el .IP \f(CW\-Os\fR 4 .IX Item "-Os" بهینه‌سازی برای فضا (اندازه). .ie n .IP """\-EL""" 4 .el .IP \f(CW\-EL\fR 4 .IX Item "-EL" تولید خروجی داده با ترتیب بایت little endian. .ie n .IP """\-EB""" 4 .el .IP \f(CW\-EB\fR 4 .IX Item "-EB" تولید خروجی داده با ترتیب بایت little endian. .ie n .IP """\-mpic""" 4 .el .IP \f(CW\-mpic\fR 4 .IX Item "-mpic" تولید PIC. .ie n .IP """\-mno\-fp\-as\-gp\-relax""" 4 .el .IP \f(CW\-mno\-fp\-as\-gp\-relax\fR 4 .IX Item "-mno-fp-as-gp-relax" لغو تعدیل fp\-as\-gp برای این فایل. .ie n .IP """\-mb2bb\-relax""" 4 .el .IP \f(CW\-mb2bb\-relax\fR 4 .IX Item "-mb2bb-relax" بهینه‌سازی پرش‌های پشت سر هم (Back\-to\-back). .ie n .IP """\-mno\-all\-relax""" 4 .el .IP \f(CW\-mno\-all\-relax\fR 4 .IX Item "-mno-all-relax" لغو تمام تعدیل‌ها برای این فایل. .ie n .IP """\-march=""" 4 .el .IP "\f(CW\-march=\fR" 4 .IX Item "-march=" اسمبل کردن برای معماری که می‌تواند v3، v3j، v3m، v3f، v3s، v2، v2j، v2f یا v2s باشد. .ie n .IP """\-mbaseline=""" 4 .el .IP \f(CW\-mbaseline=\fR 4 .IX Item "-mbaseline=" اسمبل کردن برای خط مبنای که می‌تواند v2، v3 یا v3m باشد. .ie n .IP """\-mfpu\-freg=\fIFREG\fR""" 4 .el .IP \f(CW\-mfpu\-freg=\fR\f(CIFREG\fR\f(CW\fR 4 .IX Item "-mfpu-freg=FREG" تعیین یک پیکربندی FPU. .RS 4 .ie n .IP """0 8 SP / 4 DP registers""" 4 .el .IP "\f(CW0 8 SP / 4 DP registers\fR" 4 .IX Item "0 8 SP / 4 DP registers".PD 0 .ie n .IP """1 16 SP / 8 DP registers""" 4 .el .IP "\f(CW1 16 SP / 8 DP registers\fR" 4 .IX Item "1 16 SP / 8 DP registers" .ie n .IP """2 32 SP / 16 DP registers""" 4 .el .IP "\f(CW2 32 SP / 16 DP registers\fR" 4 .IX Item "2 32 SP / 16 DP registers" .ie n .IP """3 32 SP / 32 DP registers""" 4 .el .IP "\f(CW3 32 SP / 32 DP registers\fR" 4 .IX Item "3 32 SP / 32 DP registers" .PD .RE .RS 4 .RE .ie n .IP """\-mabi=\fIabi\fR""" 4 .el .IP \f(CW\-mabi=\fR\f(CIabi\fR\f(CW\fR 4 .IX Item "-mabi=abi" مشخص کردن نسخهٔ abi؛ مقدار می‌تواند v1، v2، v2fp یا v2fpp باشد. .ie n .IP """\-m[no\-]mac""" 4 .el .IP \f(CW\-m[no\-]mac\fR 4 .IX Item "-m[no-]mac" فعال/غیرفعال‌سازی پشتیبانی از دستورالعمل‌های ضرب (Multiply). .ie n .IP """\-m[no\-]div""" 4 .el .IP \f(CW\-m[no\-]div\fR 4 .IX Item "-m[no-]div" فعال/غیرفعال‌سازی پشتیبانی از دستورالعمل‌های تقسیم (Divide). .ie n .IP """\-m[no\-]16bit\-ext""" 4 .el .IP \f(CW\-m[no\-]16bit\-ext\fR 4 .IX Item "-m[no-]16bit-ext" فعال/غیرفعال‌سازی افزونهٔ ۱۶ بیتی (16\-bit extension). .ie n .IP """\-m[no\-]dx\-regs""" 4 .el .IP \f(CW\-m[no\-]dx\-regs\fR 4 .IX Item "-m[no-]dx-regs" فعال/غیرفعال‌سازی ثبات‌های d0/d1. .ie n .IP """\-m[no\-]perf\-ext""" 4 .el .IP \f(CW\-m[no\-]perf\-ext\fR 4 .IX Item "-m[no-]perf-ext" فعال/غیرفعال‌سازی افزونهٔ کارایی (Performance extension). .ie n .IP """\-m[no\-]perf2\-ext""" 4 .el .IP \f(CW\-m[no\-]perf2\-ext\fR 4 .IX Item "-m[no-]perf2-ext" فعال/غیرفعال‌سازی افزونهٔ کارایی ۲ (Performance extension 2). .ie n .IP """\-m[no\-]string\-ext""" 4 .el .IP \f(CW\-m[no\-]string\-ext\fR 4 .IX Item "-m[no-]string-ext" فعال/غیرفعال‌سازی افزونهٔ رشته (String extension). .ie n .IP """\-m[no\-]reduced\-regs""" 4 .el .IP \f(CW\-m[no\-]reduced\-regs\fR 4 .IX Item "-m[no-]reduced-regs" فعال/غیرفعال‌سازی گزینهٔ پیکربندی ثبات‌های تقلیل‌یافته (GPR16). .ie n .IP """\-m[no\-]audio\-isa\-ext""" 4 .el .IP \f(CW\-m[no\-]audio\-isa\-ext\fR 4 .IX Item "-m[no-]audio-isa-ext" فعال/غیرفعال‌سازی افزونهٔ معماری صوتی AUDIO ISA. .ie n .IP """\-m[no\-]fpu\-sp\-ext""" 4 .el .IP \f(CW\-m[no\-]fpu\-sp\-ext\fR 4 .IX Item "-m[no-]fpu-sp-ext" فعال/غیرفعال‌سازی افزونهٔ FPU SP (دقت یگانه). .ie n .IP """\-m[no\-]fpu\-dp\-ext""" 4 .el .IP \f(CW\-m[no\-]fpu\-dp\-ext\fR 4 .IX Item "-m[no-]fpu-dp-ext" فعال/غیرفعال‌سازی افزونهٔ FPU DP (دقت مضاعف). .ie n .IP """\-m[no\-]fpu\-fma""" 4 .el .IP \f(CW\-m[no\-]fpu\-fma\fR 4 .IX Item "-m[no-]fpu-fma" فعال/غیرفعال‌سازی دستورالعمل‌های ضرب-جمع ادغام‌شدهٔ FPU (fused\-multiply\-add). .ie n .IP """\-mall\-ext""" 4 .el .IP \f(CW\-mall\-ext\fR 4 .IX Item "-mall-ext" فعال‌سازی پشتیبانی از تمامی افزونه‌ها و دستورالعمل‌ها. .PP گزینه‌های زیر هنگامی که as برای یک پردازندهٔ PowerPC پیکربندی شده باشد، در دسترس هستند. .IP \fB\-a32\fR 4 .IX Item "-a32" تولید ELF32 یا XCOFF32. .IP \fB\-a64\fR 4 .IX Item "-a64" تولید ELF64 یا XCOFF64. .IP "\fB\-K PIC\fR" 4 .IX Item "-K PIC" تنظیم پرچم EF_PPC_RELOCATABLE_LIB در پرچم‌های ELF. .IP "\fB\-mpwrx | \-mpwr2\fR" 4 .IX Item "-mpwrx | -mpwr2" تولید کد برای POWER/2 (RIOS2). .IP \fB\-mpwr\fR 4 .IX Item "-mpwr" تولید کد برای POWER (RIOS1). .IP \fB\-m601\fR 4 .IX Item "-m601" تولید کد برای PowerPC 601. .IP "\fB\-mppc, \-mppc32, \-m603, \-m604\fR" 4 .IX Item "-mppc, -mppc32, -m603, -m604" تولید کد برای PowerPC 603/604. .IP "\fB\-m403, \-m405\fR" 4 .IX Item "-m403, -m405" تولید کد برای PowerPC 403/405. .IP \fB\-m440\fR 4 .IX Item "-m440" تولید کد برای PowerPC 440. دستورالعمل‌های BookE و برخی از دستورالعمل‌های 405. .IP \fB\-m464\fR 4 .IX Item "-m464" تولید کد برای PowerPC 464. .IP \fB\-m476\fR 4 .IX Item "-m476" تولید کد برای PowerPC 476. .IP "\fB\-m7400, \-m7410, \-m7450, \-m7455\fR" 4 .IX Item "-m7400, -m7410, -m7450, -m7455" تولید کد برای PowerPC 7400/7410/7450/7455. .IP "\fB\-m750cl, \-mgekko, \-mbroadway\fR" 4 .IX Item "-m750cl, -mgekko, -mbroadway" تولید کد برای PowerPC 750CL/Gekko/Broadway. .IP "\fB\-m821, \-m850, \-m860\fR" 4 .IX Item "-m821, -m850, -m860" تولید کد برای PowerPC 821/850/860. .IP "\fB\-mppc64, \-m620\fR" 4 .IX Item "-mppc64, -m620" تولید کد برای PowerPC 620/625/630. .IP "\fB\-me200z2, \-me200z4\fR" 4 .IX Item "-me200z2, -me200z4" تولید کد برای گونه‌های e200؛ e200z2 با LSP و e200z4 با SPE. .IP \fB\-me300\fR 4 .IX Item "-me300" تولید کد برای خانوادهٔ PowerPC e300. .IP "\fB\-me500, \-me500x2\fR" 4 .IX Item "-me500, -me500x2" تولید کد برای مجموعه هستهٔ Motorola e500. .IP \fB\-me500mc\fR 4 .IX Item "-me500mc" تولید کد برای مجموعه هستهٔ Freescale e500mc. .IP \fB\-me500mc64\fR 4 .IX Item "-me500mc64" تولید کد برای مجموعه هستهٔ Freescale e500mc64. .IP \fB\-me5500\fR 4 .IX Item "-me5500" تولید کد برای مجموعه هستهٔ Freescale e5500. .IP \fB\-me6500\fR 4 .IX Item "-me6500" تولید کد برای مجموعه هستهٔ Freescale e6500. .IP \fB\-mlsp\fR 4 .IX Item "-mlsp" فعال‌سازی دستورالعمل‌های LSP. (SPE و SPE2 را غیرفعال می‌کند.) .IP \fB\-mspe\fR 4 .IX Item "-mspe" تولید کد برای دستورالعمل‌های Motorola SPE. (LSP را غیرفعال می‌کند.) .IP \fB\-mspe2\fR 4 .IX Item "-mspe2" تولید کد برای دستورالعمل‌های Freescale SPE2. (LSP را غیرفعال می‌کند.) .IP \fB\-mtitan\fR 4 .IX Item "-mtitan" تولید کد برای مجموعه هستهٔ AppliedMicro Titan. .IP \fB\-mppc64bridge\fR 4 .IX Item "-mppc64bridge" تولید کد برای PowerPC 64، شامل دستورالعمل‌های bridge. .IP \fB\-mbooke\fR 4 .IX Item "-mbooke" تولید کد برای BookE ۳۲ بیتی. .IP \fB\-ma2\fR 4 .IX Item "-ma2" تولید کد برای معماری A2. .IP \fB\-maltivec\fR 4 .IX Item "-maltivec" تولید کد برای پردازنده‌های دارای دستورالعمل‌های AltiVec. .IP \fB\-mvle\fR 4 .IX Item "-mvle" تولید کد برای دستورالعمل‌های Freescale PowerPC VLE. .IP \fB\-mvsx\fR 4 .IX Item "-mvsx" تولید کد برای پردازنده‌های دارای دستورالعمل‌های Vector\-Scalar (VSX). .IP \fB\-mhtm\fR 4 .IX Item "-mhtm" تولید کد برای پردازنده‌های دارای دستورالعمل‌های حافظهٔ تراکنشی سخت‌افزاری (Hardware Transactional Memory). .IP "\fB\-mpower4, \-mpwr4\fR" 4 .IX Item "-mpower4, -mpwr4" تولید کد برای معماری Power4. .IP "\fB\-mpower5, \-mpwr5, \-mpwr5x\fR" 4 .IX Item "-mpower5, -mpwr5, -mpwr5x" تولید کد برای معماری Power5. .IP "\fB\-mpower6, \-mpwr6\fR" 4 .IX Item "-mpower6, -mpwr6" تولید کد برای معماری Power6..IP "\fB\-mpower7, \-mpwr7\fR" 4 .IX Item "-mpower7, -mpwr7" تولید کد برای معماری Power7. .IP "\fB\-mpower8, \-mpwr8\fR" 4 .IX Item "-mpower8, -mpwr8" تولید کد برای معماری Power8. .IP "\fB\-mpower9, \-mpwr9\fR" 4 .IX Item "-mpower9, -mpwr9" تولید کد برای معماری Power9. .IP "\fB\-mpower10, \-mpwr10\fR" 4 .IX Item "-mpower10, -mpwr10" تولید کد برای معماری Power10. .IP "\fB\-mpower11, \-mpwr11\fR" 4 .IX Item "-mpower11, -mpwr11" تولید کد برای معماری Power11. .IP \fB\-mfuture\fR 4 .IX Item "-mfuture" تولید کد برای معماری \*(Aqfuture\*(Aq. .IP \fB\-mcell\fR 4 .IX Item "-mcell" .PD 0 .IP \fB\-mcell\fR 4 .IX Item "-mcell" .PD تولید کد برای معماری Cell Broadband Engine. .IP \fB\-mcom\fR 4 .IX Item "-mcom" تولید کد برای دستورالعمل‌های مشترک Power/PowerPC. .IP \fB\-many\fR 4 .IX Item "-many" تولید کد برای هر نوع معماری (PWR/PWRX/PPC). .IP \fB\-mregnames\fR 4 .IX Item "-mregnames" مجاز دانستن نام‌های نمادین برای ثبات‌ها. .IP \fB\-mno\-regnames\fR 4 .IX Item "-mno-regnames" غیرمجاز دانستن نام‌های نمادین برای ثبات‌ها. .IP \fB\-mrelocatable\fR 4 .IX Item "-mrelocatable" پشتیبانی از گزینهٔ \-mrelocatable در GCC. .IP \fB\-mrelocatable\-lib\fR 4 .IX Item "-mrelocatable-lib" پشتیبانی از گزینهٔ \-mrelocatable\-lib در GCC. .IP \fB\-memb\fR 4 .IX Item "-memb" تنظیم بیت PPC_EMB در پرچم‌های ELF. .IP "\fB\-mlittle, \-mlittle\-endian, \-le\fR" 4 .IX Item "-mlittle, -mlittle-endian, -le" تولید کد برای یک ماشین little endian. .IP "\fB\-mbig, \-mbig\-endian, \-be\fR" 4 .IX Item "-mbig, -mbig-endian, -be" تولید کد برای یک ماشین big endian. .IP \fB\-nops=\fR\fIcount\fR 4 .IX Item "-nops=count" اگر یک دستور هم‌ترازی بیش از \fIcount\fR دستور nop درج کند، یک انشعاب (branch) در ابتدا قرار می‌دهد تا از اجرای nopها صرف‌نظر شود. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای یک پردازندهٔ RISC\-V پیکربندی شده باشد. .IP \fB\-fpic\fR 4 .IX Item "-fpic" .PD 0 .IP \fB\-fPIC\fR 4 .IX Item "-fPIC" .PD تولید کد مستقل از موقعیت (position\-independent code). .IP \fB\-fno\-pic\fR 4 .IX Item "-fno-pic" عدم تولید کد مستقل از موقعیت (پیش‌فرض). .IP \fB\-march=ISA|Profiles|Profiles_ISA\fR 4 .IX Item "-march=ISA|Profiles|Profiles_ISA" انتخاب ISA پایه، همان‌طور که توسط ISA یا Profiles یا Profiles_ISA مشخص شده است. برای نمونه \fB\-march=rv32ima\fR، \fB\-march=RVI20U64\fR و \&\fB\-march=RVI20U64_d\fR. اگر این گزینه و مشخصه‌های معماری تنظیم نشده باشند، اسمبلر تنظیم پیش‌فرض پیکربندی \-\-with\-arch=ISA را بررسی خواهد کرد. .IP \fB\-misa\-spec=ISAspec\fR 4 .IX Item "-misa-spec=ISAspec" انتخاب نسخهٔ پیش‌فرض مشخصات ISA. اگر نسخهٔ ISA توسط \-march مشخص نشده باشد، اسمبلر به تنظیم نسخه بر اساس مشخصات انتخابی پیش‌فرض کمک می‌کند. اگر این گزینه تنظیم نشده باشد، اسمبلر تنظیم پیش‌فرض پیکربندی \-\-with\-isa\-spec=ISAspec را بررسی خواهد کرد. .IP \fB\-mpriv\-spec=PRIVspec\fR 4 .IX Item "-mpriv-spec=PRIVspec" انتخاب نسخهٔ مشخصات سطح دسترسی (privileged spec). می‌توان با توجه به مشخصات انتخاب‌شده تعیین کرد که آیا CSR معتبر است یا خیر. اگر این گزینه و مشخصه‌های سطح دسترسی تنظیم نشده باشند، اسمبلر تنظیم پیش‌فرض پیکربندی \&\-\-with\-priv\-spec=PRIVspec را بررسی خواهد کرد. .IP \fB\-mabi=ABI\fR 4 .IX Item "-mabi=ABI" انتخاب ABI، که می‌تواند «ilp32» یا «lp64» باشد و به‌صورت اختیاری با «f»، «d» یا «q» دنبال می‌شود تا قرارداد فراخوانی ممیز شناور با دقت یگانه، دقت دوگانه یا دقت چهارگانه را مشخص کند؛ یا بدون پسوند یا با «e» برای مشخص کردن قرارداد فراخوانی ممیز شناور نرم‌افزاری (soft\-float) (که «e» نشان‌دهندهٔ ABI از نوع RVE با soft\-float است). .IP \fB\-mrelax\fR 4 .IX Item "-mrelax" بهره‌گیری از بهینه‌سازی‌های پیونددهنده (linker relaxations) برای کاهش تعداد دستورالعمل‌های مورد نیاز جهت تعیین نشانی نمادها. (پیش‌فرض) .IP \fB\-mno\-relax\fR 4 .IX Item "-mno-relax" عدم انجام بهینه‌سازی‌های پیونددهنده. .IP \fB\-march\-attr\fR 4 .IX Item "-march-attr" تولید محتوای پیش‌فرض برای بخش مشخصه‌های riscv elf در صورتی که دستورالعمل‌های \&.attribute تنظیم نشده باشند. این بخش برای ثبت اطلاعاتی به کار می‌رود که پیونددهنده یا بارگذار زمان اجرا برای بررسی سازگاری به آن نیاز دارند. این اطلاعات شامل رشتهٔ ISA، نیازمندی هم‌ترازی پشته، دسترسی‌های ناهم‌تراز به حافظه، و شمارهٔ نسخهٔ اصلی، فرعی و بازبینی مشخصات سطح دسترسی است. .IP \fB\-mno\-arch\-attr\fR 4 .IX Item "-mno-arch-attr" عدم تولید بخش مشخصه‌های پیش‌فرض riscv elf در صورتی که دستورالعمل‌های \&.attribute تنظیم نشده باشند. .IP \fB\-mcsr\-check\fR 4 .IX Item "-mcsr-check" فعال کردن بررسی CSR برای CSRهای وابسته به ISA و CSRهای فقط‌خواندنی. CSRهای وابسته به ISA تنها هنگامی معتبر هستند که ISA مشخص‌شده تنظیم شده باشد. دستورالعمل‌های CSR نمی‌توانند بر روی CSRهای فقط‌خواندنی بنویسند. .IP \fB\-mno\-csr\-check\fR 4 .IX Item "-mno-csr-check" عدم انجام بررسی CSR. .IP \fB\-mlittle\-endian\fR 4 .IX Item "-mlittle-endian" تولید کد برای یک ماشین little endian. .IP \fB\-mbig\-endian\fR 4 .IX Item "-mbig-endian" تولید کد برای یک ماشین big endian. .PP برای مستندات گزینه‌های مربوط به RX، صفحات info را ببینید. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای خانوادهٔ پردازنده‌های s390 پیکربندی شده باشد. .IP \fB\-m31\fR 4 .IX Item "-m31" .PD 0 .IP \fB\-m64\fR 4 .IX Item "-m64" .PD انتخاب اندازهٔ کلمه، یا ۳۱/۳۲ بیت یا ۶۴ بیت. .IP \fB\-mesa\fR 4 .IX Item "-mesa" .PD 0 .IP \fB\-mzarch\fR 4 .IX Item "-mzarch" .PD انتخاب حالت معماری، یا Enterprise System Architecture (esa) یا حالت z/Architecture (zarch). .IP \fB\-march=\fR\fIprocessor\fR 4 .IX Item "-march=processor" مشخص کردن این‌که کدام گونه از پردازنده‌های s390 هدف است: \fBg5\fR (یا \&\fBarch3\fR)، \fBg6\fR، \fBz900\fR (یا \fBarch5\fR)، \fBz990\fR (یا \&\fBarch6\fR)، \fBz9\-109\fR، \fBz9\-ec\fR (یا \fBarch7\fR)، \fBz10\fR (یا \&\fBarch8\fR)، \fBz196\fR (یا \fBarch9\fR)، \fBzEC12\fR (یا \fBarch10\fR)، \&\fBz13\fR (یا \fBarch11\fR)، \fBz14\fR (یا \fBarch12\fR)، \fBz15\fR (یا \fBarch13\fR)، \fBz16\fR (یا \fBarch14\fR)، یا \fBz17\fR (یا \&\fBarch15\fR). .IP \fB\-mregnames\fR 4 .IX Item "-mregnames" .PD 0 .IP \fB\-mno\-regnames\fR 4 .IX Item "-mno-regnames" .PD مجاز یا غیرمجاز کردن نام‌های نمادین برای ثبات‌ها. .IP \fB\-mwarn\-areg\-zero\fR 4 .IX Item "-mwarn-areg-zero" هشدار دادن هر زمان که عملوند یک ثبات پایه یا شاخص مشخص شده باشد اما مقدار آن صفر ارزیابی شود. .IP \fB\-mwarn\-regtype\-mismatch=strict\fR 4 .IX Item "-mwarn-regtype-mismatch=strict" .PD 0 .IP \fB\-mwarn\-regtype\-mismatch=relaxed\fR 4 .IX Item "-mwarn-regtype-mismatch=relaxed" .IP \fB\-mwarn\-regtype\-mismatch=no\fR 4 .IX Item "-mwarn-regtype-mismatch=no" .IP \fB\-mno\-warn\-regtype\-mismatch\fR 4 .IX Item "-mno-warn-regtype-mismatch" .PD کنترل می‌کند که آیا اسمبلر بررسی نوع نام ثبات را انجام داده و در صورت عدم تطابق با نوع ثبات عملوند، یک پیام هشدار تولید کند یا خیر. حالت پیش‌فرض (که با استفاده از آرگومان \fBrelaxed\fR قابل بازگردانی است) انجام بررسی‌های آسان‌گیرانه برای نوع نام ثبات است، که به نام‌های ثبات ممیز شناور (FPR) از \f(CW%f0\fR تا \f(CW%f15\fR اجازه می‌دهد به‌عنوان آرگومان برای عملوندهای ثبات برداری (VR) مشخص شوند و نام‌های ثبات برداری (VR) از \f(CW%v0\fR تا \f(CW%v15\fR به‌عنوان آرگومان برای عملوندهای ثبات ممیز شناور (FPR) مشخص گردند. این کار پذیرفتنی است زیرا FPRها در نیمهٔ پایینی VR تعبیه شده‌اند. با استفاده از آرگومان \fBstrict\fR، بررسی‌های سخت‌گیرانه برای نوع نام ثبات انجام می‌شود. آرگومان \fBno\fR، که معادل \fB\-mno\-warn\-regtype\-mismatch\fR است، هرگونه بررسی نوع نام ثبات را غیرفعال می‌کند..PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازنده TMS320C6000 پیکربندی شده باشد. .IP \fB\-march=\fR\fIarch\fR 4 .IX Item "-march=arch" (تنها) دستورالعمل‌های معماری \fIarch\fR را فعال می‌کند. به‌طور پیش‌فرض، تمام دستورالعمل‌ها مجاز هستند. .Sp مقدارهای زیر برای \fIarch\fR پذیرفته می‌شوند: \f(CW\*(C`c62x\*(C'\fR، \&\f(CW\*(C`c64x\*(C'\fR، \f(CW\*(C`c64x+\*(C'\fR، \f(CW\*(C`c67x\*(C'\fR، \f(CW\*(C`c67x+\*(C'\fR، \f(CW\*(C`c674x\*(C'\fR. .IP \fB\-mdsbt\fR 4 .IX Item "-mdsbt" .PD 0 .IP \fB\-mno\-dsbt\fR 4 .IX Item "-mno-dsbt" .PD گزینه \fB\-mdsbt\fR باعث می‌شود اسمبلر مشخصه \&\f(CW\*(C`Tag_ABI_DSBT\*(C'\fR را با مقدار 1 تولید کند که نشان می‌دهد کد از آدرس‌دهی DSBT استفاده می‌کند. گزینه \fB\-mno\-dsbt\fR که پیش‌فرض است، باعث می‌شود این برچسب دارای مقدار 0 باشد که نشان می‌دهد کد از آدرس‌دهی DSBT استفاده نمی‌کند. اگر فایل‌های شیء با نوع متفاوت (DSBT و غیر DSBT) با یکدیگر پیوند داده شوند، پیونددهنده یک هشدار صادر خواهد کرد. .IP \fB\-mpid=no\fR 4 .IX Item "-mpid=no" .PD 0 .IP \fB\-mpid=near\fR 4 .IX Item "-mpid=near" .IP \fB\-mpid=far\fR 4 .IX Item "-mpid=far" .PD گزینه \fB\-mpid=\fR باعث می‌شود اسمبلر مشخصه \&\f(CW\*(C`Tag_ABI_PID\*(C'\fR را با مقداری که نشان‌دهنده شکل آدرس‌دهی داده مورد استفاده در کد است تولید کند. گزینه \fB\-mpid=no\fR که پیش‌فرض است، نشان‌دهنده آدرس‌دهی داده وابسته به موقعیت است؛ \fB\-mpid=near\fR نشان‌دهنده آدرس‌دهی مستقل از موقعیت با دسترسی‌های GOT با استفاده از آدرس‌دهی نزدیک DP است؛ و \fB\-mpid=far\fR نشان‌دهنده آدرس‌دهی مستقل از موقعیت با دسترسی‌های GOT با استفاده از آدرس‌دهی دور DP است. اگر فایل‌های شیء ساخته‌شده با تنظیمات مختلف این گزینه با یکدیگر پیوند داده شوند، پیونددهنده یک هشدار صادر خواهد کرد. .IP \fB\-mpic\fR 4 .IX Item "-mpic" .PD 0 .IP \fB\-mno\-pic\fR 4 .IX Item "-mno-pic" .PD گزینه \fB\-mpic\fR باعث می‌شود اسمبلر مشخصه \&\f(CW\*(C`Tag_ABI_PIC\*(C'\fR را با مقدار 1 تولید کند که نشان می‌دهد کد از آدرس‌دهی کد مستقل از موقعیت استفاده می‌کند. گزینه \&\f(CW\*(C`\-mno\-pic\*(C'\fR که پیش‌فرض است، باعث می‌شود برچسب دارای مقدار 0 باشد که نشان‌دهنده آدرس‌دهی کد وابسته به موقعیت است. اگر فایل‌های شیء با نوع متفاوت (وابسته به موقعیت و مستقل از موقعیت) با یکدیگر پیوند داده شوند، پیونددهنده یک هشدار صادر خواهد کرد. .IP \fB\-mbig\-endian\fR 4 .IX Item "-mbig-endian" .PD 0 .IP \fB\-mlittle\-endian\fR 4 .IX Item "-mlittle-endian" .PD تولید کد برای ترتیب بایت (endianness) مشخص‌شده. پیش‌فرض little\-endian است. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازنده TILE\-Gx پیکربندی شده باشد. .IP "\fB\-m32 | \-m64\fR" 4 .IX Item "-m32 | -m64" انتخاب اندازه کلمه (word size)، ۳۲ بیتی یا ۶۴ بیتی. .IP "\fB\-EB | \-EL\fR" 4 .IX Item "-EB | -EL" انتخاب ترتیب بایت، big\-endian (\-EB) یا little\-endian (\-EL). .PP گزینه زیر هنگامی در دسترس است که as برای پردازنده Visium پیکربندی شده باشد. .IP \fB\-mtune=\fR\fIarch\fR 4 .IX Item "-mtune=arch" این گزینه معماری مقصد را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی صورت گیرد که روی معماری مقصد اجرا نمی‌شود، اسمبلر یک پیام خطا صادر خواهد کرد. .Sp نام‌های زیر شناسایی می‌شوند: \&\f(CW\*(C`mcm24\*(C'\fR \&\f(CW\*(C`mcm\*(C'\fR \&\f(CW\*(C`gr5\*(C'\fR \&\f(CW\*(C`gr6\*(C'\fR .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازنده Xtensa پیکربندی شده باشد. .IP "\fB\-\-text\-section\-literals | \-\-no\-text\-section\-literals\fR" 4 .IX Item "--text-section-literals | --no-text-section-literals" کنترل نحوه مدیریت مخازن لیترال (literal pools). پیش‌فرض \&\fB\-\-no\-text\-section\-literals\fR است که لیترال‌ها را در بخش‌های جداگانه‌ای در فایل خروجی قرار می‌دهد. این کار اجازه می‌دهد مخزن لیترال در RAM/ROM داده قرار گیرد. با \fB\-\-text\-section\-literals\fR، لیترال‌ها در میان بخش text پراکنده می‌شوند تا در نزدیک‌ترین حالت ممکن به مراجع خود نگه داشته شوند. این ممکن است برای فایل‌های اسمبلی بزرگ لازم باشد، جایی که در غیر این صورت لیترال‌ها خارج از دسترس دستورالعمل‌های \&\f(CW\*(C`L32R\*(C'\fR در بخش text خواهند بود. لیترال‌ها پس از دستورهای مستقیم \f(CW\*(C`.literal_position\*(C'\fR یا پیش از دستورالعمل‌های \&\f(CW\*(C`ENTRY\*(C'\fR در مخازن گروه‌بندی می‌شوند. این گزینه‌ها تنها بر لیترال‌هایی اثر می‌گذارند که از طریق دستورالعمل‌های \f(CW\*(C`L32R\*(C'\fR وابسته به PC ارجاع داده شده‌اند؛ لیترال‌های مربوط به دستورالعمل‌های \&\f(CW\*(C`L32R\*(C'\fR در حالت مطلق به‌طور جداگانه مدیریت می‌شوند. .IP "\fB\-\-auto\-litpools | \-\-no\-auto\-litpools\fR" 4 .IX Item "--auto-litpools | --no-auto-litpools" کنترل نحوه مدیریت مخازن لیترال. پیش‌فرض \&\fB\-\-no\-auto\-litpools\fR است که در صورت نبود \&\fB\-\-text\-section\-literals\fR، لیترال‌ها را در بخش‌های جداگانه‌ای در فایل خروجی قرار می‌دهد. این امر اجازه می‌دهد مخزن لیترال در RAM/ROM داده قرار گیرد. با \fB\-\-auto\-litpools\fR، لیترال‌ها در میان بخش text پراکنده می‌شوند تا تا حد امکان نزدیک به مراجع خود باشند، و نیازی به دستورهای مستقیم صریح \f(CW\*(C`.literal_position\*(C'\fR نخواهد بود. این امر ممکن است برای توابع بسیار بزرگ ضروری باشد، جایی که ممکن است یک مخزن لیترال تکی در ابتدای تابع، برای دستورالعمل‌های \&\f(CW\*(C`L32R\*(C'\fR در انتهای تابع قابل دسترسی نباشد. این گزینه‌ها تنها بر لیترال‌هایی اثر می‌گذارند که از طریق دستورالعمل‌های \f(CW\*(C`L32R\*(C'\fR وابسته به PC ارجاع داده شده‌اند؛ لیترال‌های مربوط به دستورالعمل‌های \f(CW\*(C`L32R\*(C'\fR در حالت مطلق به‌طور جداگانه مدیریت می‌شوند. در صورت استفاده هم‌زمان با \fB\-\-text\-section\-literals\fR، اولویت با \&\fB\-\-auto\-litpools\fR است. .IP "\fB\-\-absolute\-literals | \-\-no\-absolute\-literals\fR" 4 .IX Item "--absolute-literals | --no-absolute-literals" به اسمبلر مشخص می‌کند که آیا دستورالعمل‌های \f(CW\*(C`L32R\*(C'\fR از آدرس‌دهی مطلق استفاده می‌کنند یا وابسته به PC. اگر پردازنده شامل گزینه آدرس‌دهی مطلق باشد، پیش‌فرض استفاده از بازآرایی‌های (relocations) مطلق \f(CW\*(C`L32R\*(C'\fR است. در غیر این صورت، تنها بازآرایی‌های وابسته به PC برای \f(CW\*(C`L32R\*(C'\fR قابل استفاده هستند. .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4 .IX Item "--target-align | --no-target-align" فعال یا غیرفعال کردن هم‌ترازی خودکار به منظور کاهش جریمه انشعاب‌ها به بهای افزایش اندک در اندازه کد. این بهینه‌سازی به‌طور پیش‌فرض فعال است. توجه داشته باشید که اسمبلر همواره دستورالعمل‌هایی مانند \f(CW\*(C`LOOP\*(C'\fR را که دارای نیازمندی‌های هم‌ترازی ثابت هستند، تراز می‌کند. .IP "\fB\-\-longcalls | \-\-no\-longcalls\fR" 4 .IX Item "--longcalls | --no-longcalls" فعال یا غیرفعال کردن تبدیل دستورالعمل‌های فراخوانی (call) برای مجاز کردن فراخوانی‌ها در محدوده بزرگ‌تری از آدرس‌ها. این گزینه زمانی باید استفاده شود که اهداف فراخوانی ممکن است خارج از محدوده باشند. این ممکن است باعث افت اندازه کد و کارایی شود، اما پیونددهنده عموماً می‌تواند در صورتی که فراخوانی در محدوده قرار گیرد، بار اضافی غیرضروری را حذف کند. پیش‌فرض \&\fB\-\-no\-longcalls\fR است. .IP "\fB\-\-transform | \-\-no\-transform\fR" 4 .IX Item "--transform | --no-transform" فعال یا غیرفعال کردن تمام تبدیل‌های اسمبلر برای دستورالعمل‌های Xtensa، شامل هر دوی تسهیل (relaxation) و بهینه‌سازی. پیش‌فرض \&\fB\-\-transform\fR است؛ \fB\-\-no\-transform\fR تنها باید در موارد نادری استفاده شود که دستورالعمل‌ها باید دقیقاً مطابق با آنچه در منبع اسمبلی مشخص شده است باشند. استفاده از \fB\-\-no\-transform\fR باعث می‌شود عملوندهای خارج از محدوده دستورالعمل به عنوان خطا در نظر گرفته شوند. .IP "\fB\-\-rename\-section\fR \fIoldname\fR\fB=\fR\fInewname\fR" 4 .IX Item "--rename-section oldname=newname" تغییر نام بخش \fIoldname\fR به \fInewname\fR. این گزینه می‌تواند چندین بار برای تغییر نام چند بخش استفاده شود. .IP "\fB\-\-trampolines | \-\-no\-trampolines\fR" 4 .IX Item "--trampolines | --no-trampolines" فعال یا غیرفعال کردن تبدیل دستورالعمل‌های پرش (jump) برای امکان‌پذیر ساختن پرش‌ها در محدوده بزرگ‌تری از آدرس‌ها. این گزینه زمانی باید استفاده شود که مقصدهای پرش احتمالاً خارج از محدوده هستند. در نبود چنین پرش‌هایی، این گزینه تأثیری بر اندازه کد یا کارایی ندارد. پیش‌فرض \&\fB\-\-trampolines\fR است. .IP "\fB\-\-abi\-windowed | \-\-abi\-call0\fR" 4 .IX Item "--abi-windowed | --abi-call0" انتخاب برچسب ABI که در بخش \f(CW\*(C`.xtensa.info\*(C'\fR نوشته می‌شود. برچسب ABI نشان‌دهنده ABI کد اسمبلی است. در صورت تلاش برای پیوند فایل‌های شیء با برچسب‌های ناسازگار ABI، هشداری توسط پیونددهنده صادر می‌شود. ABI پیش‌فرض توسط پیکربندی هسته Xtensa تعیین می‌شود. .PP گزینه‌های زیر هنگامی در دسترس هستند که as برای پردازنده Z80 پیکربندی شده باشد. .PP \&\f(CW@chapter\fR ویژگی‌های وابسته به Z80.SS "گزینه‌های خط فرمان (Command\-line Options)" .IX Subsection "Command-line Options" .IP \fB\-march=\fR\fICPU\fR\fB[\-\fR\fIEXT\fR\fB...][+\fR\fIEXT\fR\fB...]\fR 4 .IX Item "-march=CPU[-EXT...][+EXT...]" این گزینه پردازندهٔ هدف را مشخص می‌کند. اگر تلاشی برای اسمبل کردن دستورالعملی که روی پردازندهٔ هدف اجرا نمی‌شود صورت گیرد، اسمبلر یک پیام خطا صادر خواهد کرد. نام‌های پردازنده‌های زیر شناخته‌شده هستند: \&\f(CW\*(C`z80\*(C'\fR، \&\f(CW\*(C`z180\*(C'\fR، \&\f(CW\*(C`ez80\*(C'\fR، \&\f(CW\*(C`gbz80\*(C'\fR، \&\f(CW\*(C`z80n\*(C'\fR، \&\f(CW\*(C`r800\*(C'\fR. علاوه بر مجموعه دستورالعمل پایه، می‌توان به اسمبلر اعلام کرد که نمادهای یادافزای برخی افزونه‌ها را نیز بپذیرد. برای نمونه، \&\f(CW\*(C`\-march=z180+sli+infc\*(C'\fR پردازندهٔ \fIz180\fR را با دستورالعمل‌های \fISLI\fR و \&\fIIN F,(C)\fR گسترش می‌دهد. افزونه‌های زیر در حال حاضر پشتیبانی می‌شوند: \&\f(CW\*(C`full\*(C'\fR (تمامی دستورالعمل‌های شناخته‌شده)، \&\f(CW\*(C`adl\*(C'\fR (حالت پیش‌فرض ADL CPU، فقط برای eZ80)، \&\f(CW\*(C`sli\*(C'\fR (دستورالعمل شناخته‌شده به عنوان \fISLI\fR، \fISLL\fR یا \fISL1\fR)، \&\f(CW\*(C`xyhl\*(C'\fR (دستورالعمل‌ها با نیمه‌های ثبات‌های اندیس: \fIIXL\fR، \fIIXH\fR، \&\fIIYL\fR، \fIIYH\fR)، \&\f(CW\*(C`xdcb\*(C'\fR (دستورالعمل‌هایی مانند \fIRotOp (II+d),R\fR و \fIBitOp n,(II+d),R\fR)، \&\f(CW\*(C`infc\*(C'\fR (دستورالعمل \fIIN F,(C)\fR یا \fIIN (C)\fR)، \&\f(CW\*(C`outc0\*(C'\fR (دستورالعمل \fIOUT (C),0\fR). توجه داشته باشید که به‌جای گسترش مجموعه دستورالعمل پایه، نمادهای یادافزای افزونه که با \f(CW\*(C`\-\*(C'\fR آغاز می‌شوند قابلیت مربوطه را لغو می‌کنند: \&\f(CW\*(C`\-march=z80\-full+xyhl\*(C'\fR ابتدا تمام افزونه‌های پیش‌فرض را حذف کرده و فقط پشتیبانی از نیمه‌های ثبات‌های اندیس را اضافه می‌کند. .Sp اگر این گزینه مشخص نشود، \f(CW\*(C`\-march=z80+xyhl+infc\*(C'\fR در نظر گرفته می‌شود. .IP \fB\-local\-prefix=\fR\fIprefix\fR 4 .IX Item "-local-prefix=prefix" تمام برچسب‌های دارای پیشوند مشخص‌شده را به عنوان محلی (local) علامت‌گذاری می‌کند. با این حال می‌توان چنین برچسبی را صراحتاً در کد به عنوان سراسری (global) علامت‌گذاری کرد. این گزینه پیشوند پیش‌فرض برچسب محلی \f(CW\*(C`.L\*(C'\fR را تغییر نمی‌دهد، بلکه صرفاً پیشوند جدیدی اضافه می‌کند. .IP \fB\-colonless\fR 4 .IX Item "-colonless" برچسب‌های بدون دو‌نقطه را می‌پذیرد. تمام نمادهای ابتدای خط به عنوان برچسب در نظر گرفته می‌شوند. .IP \fB\-sdcc\fR 4 .IX Item "-sdcc" کد اسمبلی تولیدشده توسط SDCC را می‌پذیرد. .IP \fB\-fp\-s=\fR\fIFORMAT\fR 4 .IX Item "-fp-s=FORMAT" قالب اعداد ممیز شناور با دقت یگانه (Single precision). پیش‌فرض: ieee754 (۳۲ بیت). .IP \fB\-fp\-d=\fR\fIFORMAT\fR 4 .IX Item "-fp-d=FORMAT" قالب اعداد ممیز شناور با دقت مضاعف (Double precision). پیش‌فرض: ieee754 (۶۴ بیت). .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" \&\fBgcc\fR\|(1)، \fBld\fR\|(1) و مدخل‌های Info برای \fIbinutils\fR و \fIld\fR. .SH "کپی‌رایت و تکثیر (COPYRIGHT)" .IX Header "COPYRIGHT" حق نشر (c) ۱۹۹۱\-۲۰۲۶ Free Software Foundation, Inc. .PP اجازهٔ کپی، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ بعدی منتشرشده توسط بنیاد نرم‌افزار آزاد اعطا می‌شود؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های روی جلد و بدون متن‌های پشت جلد. نسخه‌ای از این مجوز در بخشی با عنوان \(lqGNU Free Documentation License\(rq گنجانده شده است.