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