.\" -*- 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-01-23 binutils-2.45.1 "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\-\-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\-\-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\-msolaris\fR|\fB\-mno\-solaris\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 در واقع خانواده‌ای از اسمبلرها است. اگر از اسمبلر GNU در یک معماری استفاده می‌کنید (یا استفاده کرده‌اید)، هنگام استفاده از آن در معماری دیگر با محیطی نسبتاً مشابه روبه‌رو خواهید شد. هر نسخه با سایر نسخه‌ها مشترکات فراوانی دارد؛ از جمله قالب‌های فایل شیء (object file)، اکثر دستورالعمل‌های اسمبلر (که اغلب \&\fIpseudo\-ops\fR نامیده می‌شوند) و نحو (syntax) اسمبلر. .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 داشته باشید. .PP اگر نیاز دارید که صراحتاً فایل ورودی استاندارد را در خط فرمان خود مشخص کنید، از \fB\-\-\fR استفاده کنید. .PP اگر منبع خالی باشد، \fBas\fR یک فایل شیء کوچک و خالی تولید می‌کند. .PP ممکن است \&\fBas\fR هشدارها و پیام‌های خطا را در فایل خطای استاندارد (معمولاً ترمینال شما) بنویسد. زمانی که یک کامپایلر \fBas\fR را به‌طور خودکار اجرا می‌کند، نباید چنین اتفاقی بیفتد. هشدارها فرضیاتی را گزارش می‌دهند که باعث شده \fBas\fR بتواند به اسمبل کردن یک برنامهٔ دارای اشکال ادامه دهد؛ خطاها مشکلی جدی را گزارش می‌کنند که فرایند اسمبل را متوقف می‌سازد. .PP اگر \fBas\fR را از طریق کامپایلر GNU C فراخوانی می‌کنید، می‌توانید از گزینهٔ \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 ندارید، زیرا بسیاری از گزینه‌های خط فرمان کامپایلر به‌طور خودکار توسط کامپایلر به اسمبلر منتقل می‌شوند. (می‌توانید راه‌انداز کامپایلر GNU را با گزینهٔ \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]" فعال‌سازی فهرست‌نویسی (listings) به روش‌های گوناگون: .RS 4 .IP \fB\-ac\fR 4 .IX Item "-ac" نادیده گرفتن شرط‌های نادرست (false) .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" شروع در حالت ماکروی جایگزین (alternate macro mode). .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 پیش‌فرض است، اما می‌توان از یک گزینه در زمان پیکربندی (configure time) برای تغییر این رفتار استفاده کرد. .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 نشان‌دهندهٔ مقدار مبنای ۱۶ (hexadecimal) و یک پیشوند \fB0\fR نشان‌دهندهٔ مقدار مبنای ۸ (octal) است. مقدار نماد را می‌توان در داخل فایل منبع با استفاده از شبه‌دستور \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" «سریع» (fast)\-\-\-از پیش‌پردازش فاصله‌های خالی و توضیحات صرف‌نظر می‌کند (فرض می‌شود منبع، خروجی کامپایلر است). .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 غیرفعال شود. .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" در مورد سرریز علامت‌دار هشداری صادر نمی‌کند. .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" حداکثر عرض ستون داده‌های خروجی برای سیاههٔ اسمبلر را بر حسب word روی \fInumber\fR تنظیم می‌کند. .IP \fB\-\-listing\-lhs\-width2=\fR\fInumber\fR 4 .IX Item "--listing-lhs-width2=number" حداکثر عرض ستون داده‌های خروجی برای خطوط ادامه در سیاههٔ اسمبلر را بر حسب word روی \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" اسمبلر را از پدگذاری (فاصله‌گذاری) انتهای بخش‌های خروجی تا رسیدن به تراز آن بخش متوقف می‌کند. حالت پیش‌فرض پدگذاری بخش‌ها است، اما این کار می‌تواند فضایی را که ممکن است در سیستم‌های هدف با محدودیت حافظه مورد نیاز باشد تلف کند. .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\-\-scfi=experimental\fR 4 .IX Item "--scfi=experimental" این گزینه مشخص می‌کند که آیا اسمبلر باید CFI را برای ورودی‌های دست‌نویس ترکیب (synthesize) کند یا خیر. اگر ورودی از پیش حاوی برخی دستورالعمل‌های قابل ترکیب 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" توالی‌های جایگزینی (substitution sequences) را در نام بخش‌ها رعایت می‌کند. .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 گزینه‌های زیر هنگامی در دسترس هستند که \fBas\fR برای حالت ۶۴ بیتی معماری 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\-mverbose\-error\fR 4 .IX Item "-mverbose-error" این گزینه پیام‌های خطای مشروح (verbose) را برای 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" این گزینه پیام‌های خطایی را فعال می‌کند که در صورت تلاش برای اسمبل کردن دسترسی به ثبات سیستمی صادر می‌شوند که روی معماری مقصد اجرا نخواهد شد. .PP گزینه‌های زیر هنگامی در دسترس هستند که \fBas\fR برای یک پردازندهٔ 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 (بوت‌لودر 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 را ببینید. .IP \fB\-g\fR 4 .IX Item "-g" این گزینه زمانی استفاده می‌شود که کامپایلر اطلاعات اشکال‌زدایی تولید می‌کند. وقتی \&\fBgcc\fR از \fBmips\-tfile\fR برای تولید اطلاعات اشکال‌زدایی برای ECOFF استفاده می‌کند، برچسب‌های محلی باید به فایل شیء منتقل شوند. در غیر این صورت، این گزینه تأثیری ندارد. .IP \fB\-G\fR\fIsize\fR 4 .IX Item "-Gsize" نماد مشترک محلی بزرگ‌تر از \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" خروجی big\-endian (\-EB) یا little\-endian (\-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" معماری ممیز شناور (Floating Point) مقصد را انتخاب می‌کند. .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" قرارداد فراخوانی رویه (procedure calling convention) مورد استفاده را انتخاب می‌کند. .IP "\fB\-EB | \-EL\fR" 4 .IX Item "-EB | -EL" خروجی big\-endian (\-EB) یا little\-endian (\-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" این گزینه گویش زبان اسمبلی را برای شناسایی در هنگام اسمبل کردن مشخص می‌کند. اسمبلر از \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 توجه داشته باشید که اگر هیچ گزینهٔ ترتیب بایتی در خط فرمان مشخص نشده باشد، ترتیب بایت‌های میزبان استفاده می‌شود. برای مستندات گزینه‌های مختص 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) تولید می‌کند. .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 بازنشانی‌های \f(CW\*(C`R_CKCORE_PCREL_IMM26BY2\*(C'\fR را برای دستورالعمل‌های \f(CW\*(C`bsr\*(C'\fR به پیونددهنده ارسال می‌کند. .Sp این گزینه تنها برای مقصدهای ELF سخت‌افزار خام (bare\-metal) در C\-SKY V2 در دسترس است، جایی که به‌طور پیش‌فرض فعال است. نمی‌توان از آن در کدی که قرار است به‌طور پویا با کتابخانه‌های اشتراکی پیوند داده شود استفاده کرد. .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 pools) پس از هر تابع. .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 فعال/غیرفعال کردن قرار دادن مخازن مقادیر لیتِرال پس از پرش‌های نامشروط. این گزینه به‌طور پیش‌فرض فعال است. .IP \fB\-mistack\fR 4 .IX Item "-mistack" .PD 0 .IP \fB\-mno\-istack\fR 4 .IX Item "-mno-istack" .PD فعال/غیرفعال کردن دستورالعمل‌های پشتهٔ وقفه (interrupt stack). این گزینه به‌طور پیش‌فرض در پردازنده‌های CK801، CK802 و CK802 فعال است. .PP گزینه‌های زیر صراحتاً برخی دستورالعمل‌های اختیاری را فعال می‌کنند. این ویژگی‌ها همچنین با استفاده از \f(CW\*(C`\-mcpu=\*(C'\fR برای مشخص کردن پردازنده‌ای که از آن پشتیبانی می‌کند، به‌طور ضمنی فعال می‌شوند. .IP \fB\-mhard\-float\fR 4 .IX Item "-mhard-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(CW\*(C`as\*(C'\fR برای یک پردازندهٔ Epiphany پیکربندی شده باشد. .IP \fB\-mepiphany\fR 4 .IX Item "-mepiphany" مشخص می‌کند که هر دو دسته دستورالعمل‌های ۳۲ و ۱۶ بیتی مجاز هستند. این رفتار پیش‌فرض است. .IP \fB\-mepiphany16\fR 4 .IX Item "-mepiphany16" دستورالعمل‌های مجاز را تنها به مجموعهٔ ۱۶ بیتی محدود می‌کند. .PP گزینه‌های زیر زمانی در دسترس هستند که \f(CW\*(C`as\*(C'\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(CW\*(C`as\*(C'\fR برای یک پردازندهٔ i386 پیکربندی شده باشد. .IP "\fB\-\-32 | \-\-x32 | \-\-64\fR" 4 .IX Item "--32 | --x32 | --64" اندازهٔ کلمه (word size) را مشخص می‌کند که می‌تواند ۳۲ بیت یا ۶۴ بیت باشد. گزینهٔ \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`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`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`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 را با طول بردار 128 بیتی کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mavxscalar=\fR\fI256\fR دستورالعمل‌های اسکالر AVX را با طول بردار 256 بیتی کدگذاری خواهد کرد. .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 را با طول بردار 128 بیتی کدگذاری می‌کند، که حالت پیش‌فرض است. \&\fB\-mevexlig=\fR\fI256\fR و \fB\-mevexlig=\fR\fI512\fR دستورالعمل‌های LIG EVEX را به ترتیب با طول بردار 256 بیتی و 512 بیتی کدگذاری خواهند کرد. .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 این گزینه نام نمادین دستورالعمل (mnemonic) را برای تطبیق دستورالعمل‌ها مشخص می‌کند. رهنمودهای \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 این گزینه نحو (syntax) دستورالعمل را هنگام پردازش دستورالعمل‌ها مشخص می‌کند. رهنمودهای \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، این گزینه استفاده از قالب فایل شیء بزرگ را اجباری می‌کند، که امکان وجود بیش از 32768 بخش (section) را فراهم می‌سازد. .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 در حالت 64 بیتی و \&\fBlock addl \fR\f(CB$0x0\fR\fB, (%esp)\fR در حالت 32 بیتی کدگذاری خواهد کرد. \&\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 در حالت 32 بیتی، یا R_X86_64_GOTPCRELX و R_X86_64_REX_GOTPCRELX در حالت 64 بیتی را تولید کند یا خیر. \&\fB\-mrelax\-relocations=\fR\fIyes\fR بازمکانی‌های کاهشی را تولید خواهد کرد. \&\fB\-mrelax\-relocations=\fR\fIno\fR بازمکانی‌های کاهشی را تولید نخواهد کرد. حالت پیش‌فرض را می‌توان از طریق یک گزینهٔ پیکربندی \&\fB\-\-enable\-x86\-relax\-relocations\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، که بازگشت‌ها را هم‌تراز می‌کند، و \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_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 (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 دستورالعمل‌های EVEX تنها با SAE را به‌ترتیب با بیت‌های 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 دستورالعمل‌های بارگذاری ثبات ۶۴ بیتی با مقدار بی‌درنگ ۶۴ بیتی را به صورت دستورالعمل‌های بارگذاری ثبات ۳۲ بیتی با مقادیر بی‌درنگ ۳۱ بیتی یا ۳۲ بیتی کدگذاری می‌کنند، دستورالعمل‌های پاکسازی ثبات ۶۴ بیتی را با دستورالعمل‌های پاکسازی ثبات ۳۲ بیتی کدگذاری می‌کنند، دستورالعمل‌های پاکسازی ثبات برداری VEX/EVEX برابر ۲۵۶ بیتی/۵۱۲ بیتی را با دستورالعمل‌های پاکسازی ثبات برداری VEX برابر ۱۲۸ بیتی کدگذاری می‌کنند، دستورالعمل‌های بارگذاری/ذخیره ثبات برداری EVEX برابر ۱۲۸ بیتی/۲۵۶ بیتی را با دستورالعمل‌های بارگذاری/ذخیره ثبات برداری VEX کدگذاری می‌کنند، و دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شدهٔ EVEX برابر ۱۲۸ بیتی/۲۵۶ بیتی را با دستورالعمل‌های منطقی اعداد صحیح بسته‌بندی‌شدهٔ VEX برابر ۱۲۸ بیتی/۲۵۶ بیتی کدگذاری می‌کنند. .Sp \&\fB\-O2\fR شامل بهینه‌سازی‌های \fB\-O1\fR است، به‌علاوه کدگذاری دستورالعمل‌های پاکسازی ثبات برداری EVEX برابر ۲۵۶ بیتی/۵۱۲ بیتی به صورت دستورالعمل‌های پاکسازی ثبات برداری EVEX برابر ۱۲۸ بیتی. در حالت ۶۴ بیتی، در دستورالعمل‌های کدگذاری‌شده با VEX که دارای عملوندهای مبدأ جابه‌جایی‌پذیر هستند نیز چنانچه جابه‌جایی عملوندها اجازه دهد از قالب پیشوند ۲ بایتی 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" ارجاعات به نمادهای تعریف‌نشده را به جای دو کلمه، به یک کلمه کوتاه می‌کند. .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) هست (یا نیست). حالت پیش‌فرض، در نظر گرفتن یک MMU برای 68020 و بالاتر است. .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 دستورالعمل‌های LDI32 را با بررسی ۱۶ بیت بالایی \fIexpression\fR بهینه‌سازی می‌کند. اگر همه آن‌ها صفر باشند، آن‌گاه 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 ممکن است بخواهند این گزینه را خاموش کنند. .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 به جای بخش‌های استاندارد .stabs در ELF، در یک بخش .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 استفاده از عملیات‌های ممیز شناور را روی ثبات‌های فردِ دقت‌تکی (single\-precision)، در صورت پشتیبانی توسط 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 Architecture. این گزینه به اسمبلر می‌گوید دستورالعمل‌های 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 تولید کد برای افزونه کاربرد خاص بررسی افزونگی چرخه‌ای (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 تولید کد برای افزونهٔ مختص به کاربرد (ASE) اعتبارسنجی سراسری (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 تولید کد برای افزونهٔ مختص به کاربرد دستورالعمل‌های چندرسانه‌ای لونگ‌سان (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) لونگ‌سان. این گزینه به اسمبلر می‌گوید دستورالعمل‌های 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 تولید کد برای دستورالعمل‌های افزونه‌های لونگ‌سان (EXT). این گزینه به اسمبلر می‌گوید دستورالعمل‌های 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 تولید کد برای دستورالعمل‌های افزونه‌های نسخه ۲ لونگ‌سان (EXT2). این گزینه به طور ضمنی \fB\-mloongson\-ext\fR را نیز فعال می‌کند. این گزینه به اسمبلر می‌گوید دستورالعمل‌های 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 در نسخهٔ 2.24 از GAS حذف شد، بنابراین این گزینه اکنون کاربرد چندانی ندارد. این گزینه برای سازگاری عقبرو حفظ شده است. .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" غیرفعال کردن تمام تعدیل‌ها (relaxation) برای این فایل. .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=" اسمبل کردن برای خط‌پایه (baseline) که می‌تواند 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" فعال/غیرفعال کردن پشتیبانی از دستورالعمل‌های ضرب. .ie n .IP """\-m[no\-]div""" 4 .el .IP \f(CW\-m[no\-]div\fR 4 .IX Item "-m[no-]div" فعال/غیرفعال کردن پشتیبانی از دستورالعمل‌های تقسیم. .ie n .IP """\-m[no\-]16bit\-ext""" 4 .el .IP \f(CW\-m[no\-]16bit\-ext\fR 4 .IX Item "-m[no-]16bit-ext" فعال/غیرفعال کردن افزونهٔ ۱۶ بیتی. .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). .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 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). .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" تولید کد برای پردازنده‌های دارای دستورالعمل‌های برداری\-اسکالر (VSX). .IP \fB\-mhtm\fR 4 .IX Item "-mhtm" تولید کد برای پردازنده‌های دارای دستورالعمل‌های حافظهٔ تراکنشی سخت‌افزاری (HTM). .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\-msolaris\fR 4 .IX Item "-msolaris" تولید کد برای Solaris. .IP \fB\-mno\-solaris\fR 4 .IX Item "-mno-solaris" عدم تولید کد برای Solaris. .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 از نوع soft\-float RVE است). .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" تولید محتوای پیش‌فرض برای بخش صفت‌های ELF در riscv اگر رهنمودهای \&.attribute تنظیم نشده باشند. این بخش برای ثبت اطلاعاتی به کار می‌رود که پیونددهنده یا بارگذار زمان اجرا برای بررسی سازگاری به آن نیاز دارند. این اطلاعات شامل رشتهٔ ISA، ملزومات هم‌ترازی پشته، دسترسی‌های ناتراز به حافظه، و نسخهٔ اصلی، فرعی و بازنگری مشخصات سطح دسترسی (privileged specification) است. .IP \fB\-mno\-arch\-attr\fR 4 .IX Item "-mno-arch-attr" عدم تولید بخش صفت‌های پیش‌فرض ELF در riscv اگر رهنمودهای .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 انتخاب حالت معماری؛ یا معماری سامانه سازمانی (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 را با مقدار ۱ تولید کند، که نشان می‌دهد کد از آدرس‌دهی DSBT استفاده می‌کند. گزینه \fB\-mno\-dsbt\fR که حالت پیش‌فرض است، باعث می‌شود این برچسب مقدار ۰ داشته باشد و نشان دهد که کد از آدرس‌دهی DSBT استفاده نمی‌کند. پیونددهنده (linker) در صورتی که شیءهایی از انواع مختلف (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، که پیش‌فرض است، نشان‌دهنده آدرس‌دهی داده وابسته به موقعیت (position\-dependent) است، \fB\-mpid=near\fR نشان‌دهنده آدرس‌دهی مستقل از موقعیت با دسترسی‌های GOT با استفاده از آدرس‌دهی DP نزدیک (near DP addressing) است، و \fB\-mpid=far\fR نشان‌دهنده آدرس‌دهی مستقل از موقعیت با دسترسی‌های GOT با استفاده از آدرس‌دهی DP دور (far DP addressing) است. پیونددهنده در صورتی که شیءهای ساخته‌شده با تنظیمات مختلف این گزینه به یکدیگر پیوند داده شوند، هشداری صادر خواهد کرد. .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 را با مقدار ۱ تولید کند، که نشان می‌دهد کد از آدرس‌دهی کد مستقل از موقعیت استفاده می‌کند. گزینه \&\f(CW\*(C`\-mno\-pic\*(C'\fR، که حالت پیش‌فرض است، باعث می‌شود این برچسب دارای مقدار ۰ باشد که نشان‌دهنده آدرس‌دهی کد وابسته به موقعیت است. پیونددهنده در صورتی که شیءهایی از انواع مختلف (وابسته به موقعیت و مستقل از موقعیت) با یکدیگر پیوند داده شوند، هشداری صادر خواهد کرد. .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" ترتیب بایت (endianness) را انتخاب می‌کند، خواه 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 در استخرهایی گروه‌بندی می‌شوند. این گزینه‌ها فقط بر مقادیر صریحی که از طریق دستورالعمل‌های PC\-relative \f(CW\*(C`L32R\*(C'\fR ارجاع داده شده‌اند اثر می‌گذارد؛ مقادیر صریح برای دستورالعمل‌های \&\f(CW\*(C`L32R\*(C'\fR در حالت مطلق (absolute mode) به طور جداگانه مدیریت می‌شوند. .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 در انتهای آن قابل دسترسی نباشد. این گزینه‌ها فقط بر لیترال‌هایی که از طریق دستورالعمل‌های PC\-relative \f(CW\*(C`L32R\*(C'\fR ارجاع داده شده‌اند اثر می‌گذارد؛ مقادیر صریح برای دستورالعمل‌های \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\-relative استفاده کنند. اگر پردازنده شامل گزینه آدرس‌دهی مطلق باشد، حالت پیش‌فرض استفاده از بازنشانی‌های (relocations) مطلق \f(CW\*(C`L32R\*(C'\fR است. در غیر این صورت، تنها بازنشانی‌های PC\-relative دستور \f(CW\*(C`L32R\*(C'\fR قابل استفاده هستند. .IP "\fB\-\-target\-align | \-\-no\-target\-align\fR" 4 .IX Item "--target-align | --no-target-align" ترازسازی خودکار (automatic alignment) را به منظور کاهش جریمه‌های انشعاب (branch penalties) با صرف هزینه‌ای اندک در افزایش اندازه کد، فعال یا غیرفعال می‌کند. این بهینه‌سازی به طور پیش‌فرض فعال است. توجه داشته باشید که اسمبلر همواره دستورالعمل‌هایی مانند \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. علاوه بر مجموعه دستورالعمل‌های پایه، می‌توان به اسمبلر اعلام کرد که برخی کدهای یادافزار (mnemonics) افزونه را نیز بپذیرد. برای مثال، \&\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 به‌طور پیش‌فرض، فقط برای 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" Copyright (c) 1991\-2025 Free Software Foundation, Inc. .PP اجازهٔ نسخه‌برداری، توزیع و/یا تغییر این سند تحت شرایط مجوز مستندات آزاد گنو (GNU Free Documentation License)، نسخهٔ ۱.۳ یا هر نسخهٔ بعدی منتشرشده توسط بنیاد نرم‌افزارهای آزاد (Free Software Foundation)؛ بدون بخش‌های تغییرناپذیر، بدون متن‌های روی جلد و بدون متن‌های پشت جلد، داده می‌شود. یک نسخه از این مجوز در بخشی تحت عنوان «GNU Free Documentation License» گنجانده شده است.