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