이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 제공자에서 실행할 수 있는 i686-linux-gnu-as 명령입니다.
프로그램:
이름
AS - 휴대용 GNU 어셈블러.
개요
같이 [-a[cdghln][=파일]] [--번갈아 하는] [-D]
[--압축-디버그-섹션] [--nocompress-디버그-섹션]
[--debug-접두사-맵 낡은= ]
[--defsym SYM=파] [-f] [-g] [--gstabs]
[--gstabs+] [--gdwarf-2] [--gdwarf-섹션]
[--도움] [-I DIR] [-J]
[-K] [-L] [--목록-lhs-폭=NUM]
[--목록-lhs-너비2=NUM] [--목록-rhs-폭=NUM]
[--목록-계속-라인=NUM] [--현지인 유지]
[-o 개체 파일] [-R]
[--해시 크기=NUM] [--메모리 오버헤드 감소]
[--통계]
[-v] [-번역] [--번역]
[-W] [--경고하다] [--치명적인 경고] [-w] [-x]
[-Z] [@FILE]
[--섹트이름-서브스트] [--size-check=[오류|경고]]
[-타겟 홀프] [대상 옵션]
[--|파일 ...]
목표 AAArch64 옵션 :
[-EB|-엘자]
[-마비=ABI]
목표 알파 옵션 :
[-mCPU]
[-m디버그 | -mdebug 없음]
[-바꾸다 | - 대체할 곳이 없다]
[-편하게 하다] [-g] [-G크기]
[-F] [-32주소]
목표 ARC 옵션 :
[-mcpu =CPU]
[-mA6|-mARC600|-mARC601|-mA7|-mARC700|-mEM|-mHS]
[-mcode 밀도]
[-EB|-엘자]
목표 ARM 옵션 :
[-mcpu=프로세서[+확장자...]]
[-XNUMX 월=아키텍처[+확장자...]]
[-mfpu=부동 소수점 형식]
[-mfloat-abi=ABI]
[-메이비=버전]
[-엄지손가락]
[-EB|-엘자]
[-mapcs-32|-mapcs-26|-mapcs-플로트|
-mapcs-재진입]
[-mthumb-연동] [-k]
목표 블랙 핀 옵션 :
[-mcpu=프로세서[-후견]]
[-mfdpic]
[-mno-fdpic]
[-mnopic]
목표 CRIS 옵션 :
[--밑줄 | --밑줄 없음]
[--그림] [-N]
[--에뮬레이션=범죄 | --에뮬레이션=위기]
[--행진=v0_v10 | --10월=vXNUMX | --32월=vXNUMX |
---carch = common_v10_v32]
목표 D10V 옵션 :
[-O]
목표 D30V 옵션 :
[-O|-n|-N]
목표 출현 옵션 :
[-메피파니|-메피파니16]
목표 H8 / 300 옵션 :
[-h-틱-헥스]
목표 i386 옵션 :
[- 32|--x32|- 64] [-n]
[-XNUMX 월=CPU[+신장...]] [-mtune=CPU]
목표 i960 옵션 :
[-ACA|-ACA_A|-ACB|-ACC|-일명|-AKB|
-AKC|-AMC]
[-b] [- 쉬지 않고]
목표 IA-64 옵션 :
[-m상수-gp|-자동 사진]
[-milp32.|-milp64.|-mlp64|- mp64]
[- 믈레|mbe]
[-mtune=이타늄1|-mtune=이타늄2]
[-munwind-check=경고|-munwind-check=오류]
[-mhint.b=확인|-mhint.b=경고|-mhint.b=오류]
[-x|-x명시적] [-xauto] [-x디버그]
목표 IP2K 옵션 :
[-mip2022|-mip2022ext]
목표 M32C 옵션 :
[-m32c|-m16c] [-relax] [-h-틱-헥스]
목표 M32R 옵션 :
[--m32rx|--[no-]경고-명시적-병렬-충돌|
--W[n]p]
목표 M680X0 옵션 :
[-l] [-m68000|-m68010|-m68020|...]
목표 M68HC11 옵션 :
[-m68hc11|-m68hc12|-m68hcs12|-mm9s12x|-mm9s12xg]
[-m짧은|-mlong]
[-mshort-double|-mlong-더블]
[--force-long-branches] [--짧은 가지]
[--엄격한 직접 모드] [--print-insn-구문]
[-Print-opcodes] [--예제 생성]
목표 엠코어 옵션 :
[-jsri2bsr] [-시필터] [-편하게 하다]
[-mcpu=[210|340]]
목표 메타 옵션 :
[-mcpu =CPU] [-mfpu=CPU] [-mdsp=CPU] 목표 마이크로블레이즈 옵션 :
목표 MIPS 옵션 :
[-nocpp] [-엘자] [-EB] [-O[최적화 수평]]
[-g[디버그 수평]] [-G NUM] [- 대한유화] [-통화_공유]
[-비공유] [-xgot [-mvxworks-pic]
[-마비=ABI] [-32] [-n32] [-64] [-mfp32] [-mgp32]
[-mfp64] [-mgp64] [-mfpxx]
[-modd-spreg] [-mno-홀수-spreg]
[-XNUMX 월=CPU] [-mtune=CPU] [-밉스1] [-밉스2]
[-밉스3] [-밉스4] [-밉스5] [-밉스32] [-mips32r2]
[-mips32r3] [-mips32r5] [-mips32r6] [-밉스64] [-mips64r2]
[-mips64r3] [-mips64r5] [-mips64r6]
[-construct-float] [-no-construct-float]
[-므난=부호화]
[-덫] [-휴식 없음] [-단절] [- 노 트랩]
[-밉스16] [-no-mips16]
[-mmmicromips] [-mno-micromip]
[-msmartmips] [-mno-smartmips]
[-mips3d] [-no-mips3d]
[-mdmx] [-no-mdmx]
[-mdsp] [-mno-dsp]
[-MDSPR2] [-mno-dspr2]
[-mmsa] [-MNO-MSA]
[-mxpa] [-mno-xpa]
[-mmt] [-mno-mt]
[-mmcu] [-mno-mcu]
[-minsn32] [-mno-insn32]
[-mfix7000] [-mno-fix7000]
[-mfix-rm7000] [-mno-fix-rm7000]
[-mfix-vr4120] [-mno-fix-vr4120]
[-mfix-vr4130] [-mno-fix-vr4130]
[-m디버그] [-mdebug 없음]
[-mpdr] [-mno-pdr]
목표 엠믹스 옵션 :
[--고정 특수 레지스터 이름] [--글로벌화-기호]
[--gnu-구문] [--안심하다] [--미리 정의된 기호 없음]
[--확장하지 않음] [--no-merge-gregs] [-x]
[--링커-할당-gregs]
목표 니오스 II 옵션 :
[-완전히 쉬다] [-휴식 섹션] [- 쉬지 않고]
[-EB] [-엘자]
목표 NDS32 옵션 :
[-엘자] [-EB] [-O] [- 오스] [-mcpu =CPU]
[-미사=ISA] [-마비=ABI] [- 쇼핑몰 내선]
[-m[no-]16비트] [-m[no-]perf-ext] [-m[no-]perf2-ext]
[-m[no-]문자열 확장] [-m[no-]dsp-ext] [-m[no-]맥] [-m[no-]div]
[-m[no-]audio-isa-ext] [-m[no-]fpu-sp-ext] [-m[no-]fpu-dp-ext]
[-m[no-]fpu-fma] [-mfpu-freg=프레그] [-mreduced-regs]
[-mfull-regs] [-m[no-]dx-regs] [-mpic] [-mno-휴식]
[-mb2bb]
목표 PDP11 옵션 :
[-mpic|-mno-그림] [-쇼핑 센터] [-mno 확장]
[-m확장자|-아뇨-확장자]
[-mCPU] [-m기계]
목표 피코자바 옵션 :
[-mb|-나를]
목표 PowerPC 옵션 :
[.A32|.A64]
[-mpwrx|-mpwr2|-mpwr|-m601|-mppc|-mppc32|-m603|-m604|-m403|-m405|
-m440|-m464|-m476|-m7400|-m7410|-m7450|-m7455|-m750cl|-mppc64|
-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500|-me6500|-mppc64브리지|
-엠북|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|-mpower6|-mpwr6|
-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
-mcell|-mspe|-엠티탄|-me300|-엠컴]
[-많은] [-말티벡|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[-m 재배치 가능|-mrelocateable-lib|-K PIC] [-멤버]
[-조금|-미리틀 엔디안|그들|-mbig|-mbig-엔디안|-있다]
[-msolaris|-mno-solaris]
[-놉=계산]
목표 RL78 옵션 :
[-mg10]
[-m32bit-더블|-m64bit-더블]
목표 RX 옵션 :
[-미리틀 엔디안|-mbig-엔디안]
[-m32bit-더블|-m64bit-더블]
[-muse-기존-섹션-이름]
[-m작은 데이터 제한]
[-mpid]
[-mrelax]
[-민트 레지스터=번호]
[-mgcc-아비|-mrx-아비]
목표 s390 옵션 :
[-m31|-m64] [-메사|-mzarch] [-XNUMX 월=CPU]
[-mregnames|-mno-regnames]
[-mwarn-areg-Zero]
목표 SCORE 옵션 :
[-EB][-엘자][-수정][-N경고]
[-스코어5][-스코어5U][-스코어7][-스코어3]
[-7월=점수 XNUMX][-3월=점수 XNUMX]
[-USE_R1][- 대한유화][-O0][-G NUM][-V]
목표 SPARC 옵션 :
[- 평균 6|- 평균 7|- 평균 8|-아스파클렛|-아스파클라이트
-Av8plus|-Av8plusa|- 평균 9|-Av9a]
[-xarch=v8plus|-xarch=v8plusa] [-충돌]
[-32|-64]
목표 TIC54X 옵션 :
[-mcpu=54[123589]|-mcpu=54[56]lp] [-mfar 모드|-mf]
[-파일에 대한 오류 |-나를 ]
목표 TIC6X 옵션 :
[-행진=아치] [-mbig-엔디안|-미리틀 엔디안]
[-mdsbt|-mno-dsbt] [-mpid=아니요|-mpid=근처|-mpid=멀리]
[-mpic|-mno-그림]
목표 타일-Gx 옵션 :
[-m32|-m64][-EB][-엘자]
목표 비전 옵션 :
[-mtune=아치]
목표 엑스텐사 옵션 :
[--[no-]텍스트 섹션 리터럴] [--[no-]자동 리트풀]
[--[no-]절대 리터럴]
[--[no-]타겟 정렬] [--[no-]롱콜]
[--[no-]변환]
[--이름 바꾸기-섹션 옛 이름=새 이름]
[--[no-] 트램폴린]
목표 Z80 옵션 :
[-z80] [-r800]
[ -문서화되지 않은 지시 무시] [-누드]
[ -무시할 수 없는 지시] [-Wnup]
[ -경고 - 문서화되지 않은 지침] [- 우드]
[ -warn-portable-instructions] [- 웁]
[ -문서화되지 않은 지침 금지] [-후드]
[ -금지 - 휴대 할 수없는 지침] [-훗]
기술
GNU as 실제로는 어셈블러 계열입니다. 어셈블러를 사용하거나 사용한 적이 있는 경우
한 아키텍처의 GNU 어셈블러에서는 상당히 유사한 것을 찾을 수 있습니다.
다른 아키텍처에서 사용할 때 환경이 달라집니다. 각 버전에는
다른 파일 형식과 많은 공통점이 있습니다.
어셈블러 지시어(종종 유사 작전) 및 어셈블러 구문.
as 주로 GNU C 컴파일러의 출력을 조립하는 데 사용됩니다.
링커 "ld"에서 사용할 수 있도록 "gcc"를 만들었습니다. 그럼에도 불구하고, as
다른 어셈블러가 동일한 모든 것을 올바르게 어셈블합니다.
기계가 조립될 것입니다. 모든 예외는 명시적으로 문서화되어 있습니다.
이것은 의미하지 않는다 as 항상 다른 어셈블러와 동일한 구문을 사용합니다.
동일한 아키텍처의 경우, 예를 들어 우리는 여러 가지 호환되지 않는 아키텍처를 알고 있습니다.
680x0 어셈블리 언어 구문의 버전입니다.
실행할 때마다 as 정확히 하나의 소스 프로그램을 조립합니다.
소스 프로그램은 하나 이상의 파일로 구성됩니다. (표준 입력은
(또한 파일입니다.)
당신은 줄 as 0개 이상의 입력 파일 이름을 갖는 명령줄입니다.
입력 파일을 읽습니다(왼쪽 파일 이름에서 오른쪽으로). 명령줄
특별한 의미가 없는 주장(어떤 입장이든)은 다음과 같이 간주됩니다.
입력 파일 이름.
당신이주는 경우 as 파일 이름이 없습니다. 하나의 입력 파일에서 읽으려고 시도합니다.
전에, as 표준 입력(일반적으로 터미널)이 있습니다.
입력하려면 Ctrl-D 말하다 as 더 이상 조립할 프로그램이 없습니다.
-- 표준 입력 파일의 이름을 명시적으로 지정해야 하는 경우
명령 행.
소스가 비어 있으면 as 작고 빈 개체 파일을 생성합니다.
as 표준 오류 파일에 경고 및 오류 메시지를 쓸 수 있습니다.
(일반적으로 터미널). 컴파일러가 실행될 때 이런 일이 일어나서는 안 됩니다.
as 자동으로. 경고는 가정을 보고합니다. as 수
결함이 있는 프로그램을 계속 조립하다; 오류는 심각한 문제를 보고합니다.
조립을 중지합니다.
당신이 호출하는 경우 as GNU C 컴파일러를 통해 다음을 사용할 수 있습니다. -와
어셈블러에 인수를 전달하는 옵션입니다. 어셈블러
인수는 서로 분리되어야 합니다. -와)을 쉼표로 구분합니다.
예 :
gcc -c -g -O -Wa,-alh,-L 파일.c
이것은 두 가지 옵션을 어셈블러에 전달합니다. -알 (목록을 내보내다
고급 및 어셈블리 소스가 포함된 표준 출력 및 -L (유지하다
(심볼 테이블의 로컬 심볼).
일반적으로 이것을 사용할 필요가 없습니다 -와 많은 컴파일러가 메커니즘을 사용하므로
명령줄 옵션은 자동으로 어셈블러에 전달됩니다.
컴파일러. (GNU 컴파일러 드라이버를 호출할 수 있습니다. -v ~에 대한 옵션
각 컴파일 패스에 어떤 옵션이 전달되는지 정확히 확인하세요.
(어셈블러 포함)
옵션
@파일
다음에서 명령줄 옵션 읽기 파일. 읽은 옵션이 삽입됩니다.
원래 @ 대신파일 옵션. 만약에 파일 존재하지 않거나
읽을 수 없는 경우 옵션은 문자 그대로 처리되며
제거되었습니다.
옵션 파일 공백으로 구분됩니다. 공백
문자는 전체를 둘러싸서 옵션에 포함될 수 있습니다.
작은따옴표나 큰따옴표로 묶인 옵션입니다. 모든 문자(포함
백슬래시)는 문자를 접두사로 추가하여 포함할 수 있습니다.
백슬래시와 함께 포함됩니다. NS 파일 자체적으로 추가 포함할 수 있습니다
@파일 옵션; 이러한 옵션은 재귀적으로 처리됩니다.
-a[cdghlmns]
다양한 방법으로 목록을 켭니다.
맥 거짓 조건문 생략
-기원 후 디버깅 지시문 생략
-ag 전달된 버전 및 옵션과 같은 일반 정보 포함
-아 상위 수준 소스 포함
-알 어셈블리를 포함
-오전 매크로 확장 포함
-안 양식 처리 생략
-같이 기호 포함
=파일
목록 파일의 이름 설정
이러한 옵션을 결합할 수 있습니다. 예를 들어, 사용 -알른 조립용
양식 처리 없이 목록화합니다. =파일 옵션을 사용하는 경우 반드시
마지막이 되어야 한다. 그 자체로, -a 기본값은 -알.
--번갈아 하는
대체 매크로 모드에서 시작합니다.
--압축-디버그-섹션
SHF_COMPRESSED를 사용하여 zlib을 사용하여 DWARF 디버그 섹션을 압축합니다.
ELF ABI. 결과 개체 파일은 다음과 호환되지 않을 수 있습니다.
이전 링커 및 개체 파일 유틸리티. 압축이
주어진 섹션을 만들다 큰 그러면 압축되지 않은 것입니다.
--compress-debug-sections=없음
--압축-디버그-섹션=zlib
--압축-디버그-섹션=zlib-gnu
--압축-디버그-섹션=zlib-gabi
이 옵션은 DWARF 디버그 섹션이 압축되는 방식을 제어합니다.
--compress-debug-sections=없음 에 해당하는
--nocompress-디버그-섹션. --압축-디버그-섹션=zlib 그리고
--압축-디버그-섹션=zlib-gabi 와 동등하다
--압축-디버그-섹션. --압축-디버그-섹션=zlib-gnu
zlib을 사용하여 DWARF 디버그 섹션을 압축합니다. 디버그 섹션은 다음과 같습니다.
처음부터 이름이 바뀌었습니다 .z디버그압축이 만들어지는지 확인하십시오.
주어진 섹션 큰 그러면 압축되지도 않고 이름도 바뀌지 않습니다.
--nocompress-디버그-섹션
DWARF 디버그 섹션을 압축하지 마세요. 이는 일반적으로 기본값입니다.
x86/x86_64를 제외한 모든 대상에 대해 구성 시간 옵션이 있습니다.
이를 재정의하는 데 사용할 수 있습니다.
-D 무시됨. 이 옵션은 스크립트 호환성을 위해 허용됩니다.
다른 어셈블러에 대한 호출.
--debug-접두사-맵 낡은=
디렉토리에 파일을 어셈블할 때 낡은, 디버깅 기록
이를 설명하는 정보 대신.
--defsym SYM=가치
기호 정의 SYM 될 가치 입력 파일을 조립하기 전에.
가치 정수 상수여야 합니다. C에서와 같이 선행 0x 표시
16진수 값과 선행 0 8진수 값을 나타냅니다.
소스 파일 내부에서 심볼의 값을 재정의할 수 있습니다.
".set" 의사 연산을 사용합니다.
-f "빠름"---공백 및 주석 전처리 건너뛰기(소스 가정)
(컴파일러 출력입니다).
-g
--gen-디버그
다음을 사용하여 각 어셈블러 소스 라인에 대한 디버깅 정보를 생성합니다.
타겟에서 선호하는 디버그 형식입니다. 현재
STABS, ECOFF 또는 DWARF2를 의미합니다.
--gstabs
각 어셈블러 라인에 대한 stabs 디버깅 정보를 생성합니다.
디버거가 처리할 수 있다면 어셈블리 코드 디버깅에 도움이 될 수 있습니다.
--gstabs+
각 어셈블러 라인에 대한 stabs 디버깅 정보를 생성합니다.
아마도 gdb만이 처리할 수 있는 GNU 확장 기능
다른 디버거가 충돌하거나 프로그램을 읽지 못하게 합니다.
어셈블리 코드 디버깅에 도움이 될 수 있습니다. 현재 유일한 GNU
확장자는 현재 작업 디렉토리의 위치입니다.
조립 시간.
--gdwarf-2
각 어셈블러 라인에 대한 DWARF2 디버깅 정보를 생성합니다.
디버거가 처리할 수 있는 경우 이것은 어셈블러 코드 디버깅에 도움이 될 수 있습니다.
참고---이 옵션은 일부 대상에서만 지원되며 모든 대상에서는 지원되지 않습니다.
그들의.
--gdwarf-섹션
.debug_line 섹션을 만드는 대신 일련의 섹션을 만듭니다.
.디버그_라인.푸 섹션 푸 는 해당되는 이름입니다
코드 섹션. 예를 들어, 다음과 같은 코드 섹션이 있습니다. .text.func 결제 게이트웨이,
드워프 라인 번호 정보를 섹션이라고 하는 곳에 배치합니다.
.debug_line.text.func. 코드 섹션이 방금 호출되는 경우 텍스트
그러면 디버그 라인 섹션은 여전히 호출됩니다. .debug_line
어떤 접미사도 없이.
--크기 검사=오류
--size-check=경고
유효하지 않은 ELF .size 지시문에 대해 오류 또는 경고를 발행하십시오.
--도움
명령줄 옵션의 요약을 인쇄하고 종료합니다.
-타겟 홀프
모든 대상 특정 옵션의 요약을 인쇄하고 종료합니다.
-I DIR
디렉토리 추가 DIR ".include" 지시문에 대한 검색 목록으로 이동합니다.
-J 서명된 오버플로에 대해 경고하지 마십시오.
-K 차이 테이블이 오랫동안 변경되면 경고를 발행합니다.
변위.
-L
--현지인 유지
(기호 표에) 로컬 기호를 유지하세요. 이 기호들은 다음으로 시작합니다.
일반적으로 시스템별 로컬 레이블 접두사 .L ELF 시스템용
or L 전통적인.out 시스템의 경우.
--목록-lhs-폭=번호
출력 데이터 열의 최대 너비를 단어 단위로 설정합니다.
어셈블러 목록 번호.
--목록-lhs-width2=번호
출력 데이터 열의 최대 너비를 단어 단위로 설정합니다.
어셈블러 목록의 연속 줄 번호.
--목록-rhs-폭=번호
입력 소스 줄의 최대 너비를 다음과 같이 설정합니다.
목록, 에 번호 바이트.
--목록-계속-라인=번호
단일 목록에 인쇄되는 최대 줄 수를 설정합니다.
입력 라인 번호 + 1.
-o 개체 파일
개체 파일 출력의 이름을 지정합니다. as 개체 파일.
-R 데이터 섹션을 텍스트 섹션으로 접습니다.
--해시 크기=번호
GAS 해시 테이블의 기본 크기를 소수로 설정합니다.
에 번호. 이 값을 늘리면 시간이 단축될 수 있습니다.
어셈블러가 작업을 수행하도록 합니다.
어셈블러의 메모리 요구 사항을 증가시킵니다. 마찬가지로
이 값은 메모리 요구 사항을 희생하여 줄일 수 있습니다.
속도.
--메모리 오버헤드 감소
이 옵션은 GAS의 메모리 요구 사항을 줄여줍니다.
조립 프로세스를 더 느리게 만듭니다. 현재 이 스위치는
동의어 --해시 크기=4051, 하지만 미래에는 다른 것이 있을 수도 있습니다
효과도 마찬가지다.
--섹트이름-서브스트
섹션 이름의 대체 시퀀스를 존중합니다.
--통계
사용된 최대 공간(바이트)과 총 시간(초)을 인쇄합니다.
조립으로.
--스트립-로컬-절대
나가는 기호 테이블에서 로컬 절대 기호를 제거합니다.
-v
-번역
인쇄 as 번역.
--번역
인쇄 as 버전 및 종료.
-W
--경고 없음
경고 메시지를 억제합니다.
--치명적인 경고
경고를 오류로 처리하십시오.
--경고하다
경고 메시지를 표시하지 않거나 오류로 처리하지 마십시오.
-w 무시됨.
-x 무시됨.
-Z 오류가 발생한 후에도 개체 파일을 생성합니다.
-- | 파일 ...
표준 입력 또는 어셈블할 소스 파일.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
ARM 아키텍처의 64비트 모드(AArch64).
-EB 이 옵션은 어셈블러에서 생성된 출력을 지정합니다.
빅 엔디안 프로세서에 맞게 인코딩되었다고 표시되어야 합니다.
-엘자 이 옵션은 어셈블러에서 생성된 출력을 지정합니다.
리틀 엔디안 프로세서용으로 인코딩되었다고 표시되어야 합니다.
-마비=ABI
소스 코드에서 사용하는 ABI를 지정합니다. 인식되는 인수는 다음과 같습니다.
"ilp32" 및 "lp64"는 생성된 개체 파일을 결정합니다.
각각 ELF32와 ELF64 형식입니다. 기본값은 "lp64"입니다.
-mcpu =프로세서[+확장자...]
이 옵션은 대상 프로세서를 지정합니다. 어셈블러는
조립을 시도하면 오류 메시지가 표시됩니다.
대상 프로세서에서 실행되지 않는 명령어입니다.
다음 프로세서 이름이 인식됩니다: "cortex-a35",
"cortex-a53", "cortex-a57", "cortex-a72", "exynos-m1", "qdf24xx",
"thunderx", "xgene1", "xgene2". 특수 이름 "all"은 다음과 같을 수 있습니다.
어셈블러가 모든 유효한 명령어를 수락할 수 있도록 사용됩니다.
모든 옵션 확장을 포함한 지원 프로세서입니다.
기본 명령어 세트 외에도 어셈블러에 다음과 같은 내용을 알릴 수 있습니다.
다양한 확장 니모닉을 허용하거나 제한하여 확장합니다.
프로세서.
특정 프로세서의 일부 구현이 다음을 가질 수 있는 경우
확장자를 추가하면 해당 확장자가 자동으로 활성화됩니다.
따라서 일반적으로 추가 사항을 지정할 필요가 없습니다.
확장.
-행진=아키텍처[+확장자...]
이 옵션은 대상 아키텍처를 지정합니다. 어셈블러는
조립을 시도하면 오류 메시지가 표시됩니다.
대상 아키텍처에서 실행되지 않는 명령어입니다.
다음 아키텍처 이름이 인식됩니다: "armv8-a", "armv8.1-a"
그리고 "armv8.2-a".
둘 다 -mcpu 그리고 -XNUMX 월 지정되면 어셈블러는 다음을 사용합니다.
에 대한 설정 -mcpu. 둘 다 지정되지 않으면 어셈블러가 다음을 수행합니다.
기본값은 -mcpu=모두.
동일한 명령어로 아키텍처 옵션을 확장할 수 있습니다.
확장 옵션을 다음과 같이 설정하세요. -mcpu 옵션. 같지 않은 -mcpu,
확장 기능은 항상 기본적으로 활성화되어 있지 않습니다.
-mverbose-오류
이 옵션은 AArch64 가스에 대한 자세한 오류 메시지를 활성화합니다.
옵션은 기본적으로 활성화되어 있습니다.
-mno-verbose-오류
이 옵션은 AArch64 가스에서 자세한 오류 메시지를 비활성화합니다.
Alpha에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
-mCPU
이 옵션은 대상 프로세서를 지정합니다. 시도가 이루어지면
타겟에서 실행되지 않는 명령어를 조립하다
프로세서, 어셈블러는 명령어를 다음과 같이 확장할 수 있습니다.
매크로를 사용하거나 오류 메시지를 표시합니다. 이 옵션은
".arch" 지시어.
다음 프로세서 이름이 인식됩니다: 21064, "21064a",
21066, 21068, 21164, "21164a", "21164pc", 21264, "21264a",
"21264b", "ev4", "ev5", "lca45", "ev5", "ev56", "pca56", "ev6",
"ev67", "ev68". 특수 이름 "all"을 사용하여 다음을 허용할 수 있습니다.
모든 Alpha 프로세서에 유효한 명령을 수락하는 어셈블러.
OSF/1의 기존 관행을 지원하기 위해
".arch" 및 기존 관행 밀로 (리눅스 ARC
부트로더), 번호가 매겨진 프로세서 이름(예: 21064)을 사용하면
프로세서별 PAL코드 명령어, "전기적"
이름(예: "ev4")은 그렇지 않습니다.
-m디버그
-mdebug 없음
".mdebug" 캡슐화 생성을 활성화하거나 비활성화합니다.
stabs 지시어 및 프로시저 설명자. 기본값은 다음과 같습니다.
첫 번째 stabs 지시어가 실행되면 ".mdebug"를 자동으로 활성화합니다.
본.
-편하게 하다
이 옵션은 모든 재배치가 개체 파일에 들어가도록 강제합니다.
조립 시 공간을 절약하고 일부 재배치를 해결하는 대신
시간. 이 옵션은 모든 심볼을 전파하지 않습니다.
모든 기호 산술이 객체 파일에 포함되지는 않기 때문에
표현할 수 있습니다. 그러나 이 옵션은 여전히 유용할 수 있습니다.
특정 응용 프로그램.
-바꾸다
- 대체할 곳이 없다
프로시저 호출의 최적화를 활성화하거나 비활성화합니다.
조립 및 링크 시간에만 사용할 수 있습니다. 이러한 옵션은
VMS 대상이며 "-replace"가 기본값입니다. 1.4.1절을 참조하세요.
OpenVMS 링커 유틸리티 매뉴얼.
-g 이 옵션은 컴파일러가 디버그 정보를 생성할 때 사용됩니다.
인셀덤 공식 판매점인 GCC 사용 중 mips-tfile 디버그 정보를 생성하려면
ECOFF, 로컬 레이블은 개체 파일에 전달되어야 합니다.
그렇지 않으면 이 옵션은 효과가 없습니다.
-G크기
보다 큰 지역 공통 기호 크기 ".bss"에 배치되는 반면
더 작은 기호는 ".sbss"에 배치됩니다.
-F
-32주소
이러한 옵션은 이전 버전과의 호환성을 위해 무시됩니다.
ARC에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
-mcpu =CPU
이 옵션은 코어 프로세서 변형을 선택합니다.
-EB | -엘자
빅 엔디안(-EB) 또는 리틀 엔디안(-EL) 출력을 선택합니다.
-mcode 밀도
코드 밀도 확장 지침을 활성화합니다.
ARM에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서 제품군.
-mcpu =프로세서[+확장자...]
타겟이 되는 ARM 프로세서 변형을 지정합니다.
-행진=아키텍처[+확장자...]
대상에서 사용하는 ARM 아키텍처 변형을 지정합니다.
-mfpu=부동 소수점 형식
대상이 될 부동 소수점 아키텍처를 선택하십시오.
-mfloat-abi=ABI
사용 중인 부동 소수점 ABI를 선택하십시오.
-엄지손가락
Thumb 전용 명령어 디코딩을 활성화합니다.
-mapcs-32 | -mapcs-26 | -mapcs-플로트 | -mapcs-재진입
사용 중인 프로시저 호출 규칙을 선택하십시오.
-EB | -엘자
빅 엔디안(-EB) 또는 리틀 엔디안(-EL) 출력을 선택합니다.
-mthumb-연동
코드가 상호 연동되어 생성되었음을 지정합니다.
Thumb 및 ARM 코드를 염두에 두고 있습니다.
-mccs
CodeComposer Studio 어셈블리 구문 호환성 모드를 켭니다.
-k PIC 코드가 생성되었음을 지정합니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
Blackfin 프로세서 제품군.
-mcpu =프로세서[-후견]
이 옵션은 대상 프로세서를 지정합니다. 선택 사항
후견 어셈블러에서는 사용되지 않습니다. GCC가 사용할 수 있도록 여기에 있습니다.
"-mcpu=" 옵션을 쉽게 전달합니다. 어셈블러는 다음을 실행합니다.
명령어를 조립하려고 시도하면 오류 메시지가 표시됩니다.
대상 프로세서에서는 실행되지 않습니다. 다음
프로세서 이름은 "bf504", "bf506", "bf512", "bf514"로 인식됩니다.
"bf516", "bf518", "bf522", "bf523", "bf524", "bf525", "bf526",
"bf527", "bf531", "bf532", "bf533", "bf534", "bf535"(아님
아직 구현되지 않음), "bf536", "bf537", "bf538", "bf539", "bf542",
"bf542m", "bf544", "bf544m", "bf547", "bf547m", "bf548", "bf548m",
"bf549", "bf549m", "bf561", 및 "bf592".
-mfdpic
FDPIC ABI를 위해 조립합니다.
-mno-fdpic
-mnopic
-mfdpic을 비활성화합니다.
CRIS 관련 옵션에 대한 문서는 정보 페이지를 참조하십시오.
D10V에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
-O 명령을 병렬화하여 출력을 최적화합니다.
D30V에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
-O 명령을 병렬화하여 출력을 최적화합니다.
-n nop가 생성될 때 경고합니다.
-N 32비트 곱하기 명령어 이후에 nop가 생성되면 경고합니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
에피파니 프로세서.
-메피파니
32비트와 16비트 명령어가 모두 허용됨을 지정합니다.
이것이 기본 동작입니다.
-메피파니16
허용된 명령어를 16비트 세트로만 제한합니다.
H8/300에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서. @chapter H8/300 종속 기능
옵션
"as"의 Renesas H8/300 버전에는 하나의 시스템 종속 옵션이 있습니다.
-h-틱-헥스
00x0 스타일 외에도 H'00 스타일의 XNUMX진수 상수를 지원합니다.
-마하=name
H8300 기계 변형을 설정합니다. 다음 기계 이름은 다음과 같습니다.
인식됨: "h8300h", "h8300hn", "h8300s", "h8300sn", "h8300sx" 및
"h8300sxn".
i386에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
- 32 | --x32 | - 64
32비트 또는 64비트 중에서 워드 크기를 선택합니다. - 32 의미하다
Intel i386 아키텍처는 --x32 그리고 - 64 AMD x86-64를 의미합니다
각각 32비트 또는 64비트 워드 크기를 갖는 아키텍처입니다.
이러한 옵션은 ELF 개체 파일 형식에서만 사용할 수 있습니다.
그리고 필요한 BFD 지원이 포함되어야 합니다(
32비트 플랫폼의 경우 --enable-64-bit-bfd를 추가하여 구성해야 합니다.
64비트 사용을 활성화하고 x86-64를 대상 플랫폼으로 사용합니다.
-n 기본적으로 x86 GAS는 여러 nop 명령어를 대체합니다.
다중 바이트 nop 명령어를 사용한 코드 섹션 내 정렬
예: leal 0(%esi,1),%esi. 이 스위치는 다음을 비활성화합니다.
최적화.
--나누기
SVR4 파생 플랫폼에서 캐릭터는 / 주석으로 처리됩니다
문자이므로 표현식에 사용할 수 없습니다.
--나누기 옵션 회전 / 일반 문자로 변환합니다. 이것은 아닙니다
비활성화 / 주석을 시작하거나 영향을 미치는 줄의 시작 부분에서
사용 # 댓글을 시작합니다.
-행진=CPU[+신장...]
이 옵션은 대상 프로세서를 지정합니다. 어셈블러는
조립을 시도하면 오류 메시지가 표시됩니다.
대상 프로세서에서 실행되지 않는 명령어입니다.
다음 프로세서 이름이 인식됩니다: "i8086", "i186", "i286",
"i386", "i486", "i586", "i686", "펜티엄", "펜티엄프로",
"펜티엄ii", "펜티엄iii", "펜티엄4", "프레스코트", "노코나",
"코어", "코어2", "코어i7", "l1om", "k1om", "iamcu", "k6", "k6_2",
"athlon", "opteron", "k8", "amdfam10", "bdver1", "bdver2",
"bdver3", "bdver4", "znver1", "btver1", "btver2", "generic32" 및
"generic64".
기본 명령어 세트 외에도 어셈블러에 다음과 같은 내용을 알릴 수 있습니다.
다양한 확장 니모닉을 수용합니다. 예를 들어,
"-march=i686+sse4+vmx"는 확장됩니다. i686 과 세4 그리고 VMX. 그만큼
현재 지원되는 확장자는 다음과 같습니다: 8087, 287, 387,
"no87", "mmx", "nommx", "sse", "sse2", "sse3", "ssse3", "sse4.1",
"sse4.2", "sse4", "nosse", "avx", "avx2", "adx", "rdseed",
"prfchw", "smap", "mpx", "sha", "prefetchwt1", "clflushopt", "se1",
"clwb", "pcommit", "avx512f", "avx512cd", "avx512er", "avx512pf",
"avx512vl", "avx512bw", "avx512dq", "avx512ifma", "avx512vbmi",
"noavx", "vmx", "vmfunc", "smx", "xsave", "xsaveopt", "xsavec",
"xsaves", "aes", "pclmul", "fsgsbase", "rdrnd", "f16c", "bmi2",
"fma", "movbe", "ept", "lzcnt", "hle", "rtm", "invpcid", "clflush",
"mwaitx", "clzero", "lwp", "fma4", "xop", "cx16", "syscall",
"rdtscp", "3dnow", "3dnowa", "sse4a", "sse5", "svme", "abm" 및
"자물쇠". 기본 명령어를 확장하는 것보다
설정, "no"로 시작하는 확장 니모닉은 취소합니다.
각각의 기능.
".arch" 지시문이 다음과 함께 사용될 때 -XNUMX 월, ".arch"
지시가 우선합니다.
-mtune=CPU
이 옵션은 최적화할 프로세서를 지정합니다.
와 함께 -XNUMX 월 옵션, 지시사항만
프로세서가 지정한 -XNUMX 월 옵션이 생성됩니다.
유효한 CPU 값은 의 프로세서 목록과 동일합니다. -행진=CPU.
-msse2avx
이 옵션은 어셈블러가 SSE를 인코딩해야 함을 지정합니다.
VEX 접두사가 붙은 지침입니다.
-msse-체크=없음
-msse-체크=경고
-msse-체크=오류
이러한 옵션은 어셈블러가 SSE를 확인해야 하는지 여부를 제어합니다.
도움말을 참조하십시오. -msse-체크=없음 어셈블러가 작동하지 않게 됩니다.
기본값인 SSE 지침을 확인하세요. -msse-체크=경고
어셈블러가 모든 SSE 명령어에 대해 경고를 발행하게 됩니다.
-msse-체크=오류 어셈블러가 모든 항목에 대해 오류를 발생시킵니다.
SSE 지침.
-mavxscalar =128
-mavxscalar =256
이러한 옵션은 어셈블러가 스칼라 AVX를 인코딩하는 방법을 제어합니다.
도움말을 참조하십시오. -mavxscalar =128 스칼라 AVX 명령어를 인코딩합니다
기본값은 128비트 벡터 길이입니다. -mavxscalar =256
256비트 벡터 길이로 스칼라 AVX 명령어를 인코딩합니다.
-메벡스리그=128
-메벡스리그=256
-메벡스리그=512
이러한 옵션은 어셈블러가 길이를 인코딩하는 방법을 제어합니다.
(LIG) EVEX 지침을 무시했습니다. -메벡스리그=128 LIG를 인코딩합니다
기본값인 128비트 벡터 길이를 사용하는 EVEX 명령어입니다.
-메벡스리그=256 그리고 -메벡스리그=512 LIG EVEX 명령어를 인코딩합니다
각각 256비트와 512비트 벡터 길이를 갖습니다.
-메벡스위그=0
-메벡스위그=1
이러한 옵션은 어셈블러가 w-ignored를 인코딩하는 방법을 제어합니다.
(WIG) EVEX 지침. -메벡스위그=0 WIG EVEX를 인코딩합니다
기본값인 evex.w = 0인 명령어입니다. -메벡스위그=1
evex.w = 1로 WIG EVEX 명령어를 인코딩합니다.
-mmnemonic=에
-mmnemonic=정보
이 옵션은 일치를 위한 명령어 니모닉을 지정합니다.
지침. ".att_mnemonic" 및 ".intel_mnemonic" 지침
우선권을 갖습니다.
-ms구문=에
-ms구문=정보
이 옵션은 처리할 때 명령어 구문을 지정합니다.
지침. ".att_syntax" 및 ".intel_syntax" 지침
우선권을 갖습니다.
-mnaked-reg
이 옵션은 레지스터가 % 접두사.
".att_syntax" 및 ".intel_syntax" 지시어는 다음을 수행합니다.
전례.
-madd-bnd-접두사
이 옵션은 어셈블러가 모든 분기에 BND 접두사를 추가하도록 강제합니다.
이러한 접두사가 소스에 명시적으로 지정되지 않았더라도
암호.
-mno 공유
ELF 타겟에서 어셈블러는 일반적으로 PLT가 아닌 항목을 최적화합니다.
정의된 비약점 글로벌 지점 대상에 대한 재배치
기본 가시성. -m공유 옵션은 어셈블러에게 다음을 알려줍니다.
모든 비약한 코드가 공유 라이브러리에 들어갈 수 있는 코드를 생성합니다.
기본 가시성이 있는 글로벌 브랜치 대상은 선점될 수 있습니다.
결과 코드는 약간 더 커집니다. 이 옵션은 다음에만 영향을 미칩니다.
지점 지시사항 처리.
-mbig-obj
x86-64 PE/COFF 대상에서 이 옵션은 큰 개체 사용을 강제합니다.
32768개 이상의 섹션을 허용하는 파일 형식입니다.
-momit-lock-접두사=아니
-momit-lock-접두사=예
이러한 옵션은 어셈블러가 잠금 접두사를 인코딩하는 방법을 제어합니다.
이 옵션은 실패한 프로세서에 대한 해결 방법으로 의도되었습니다.
잠금 접두사에 대해. 이 옵션은 단일 잠금에서만 안전하게 사용할 수 있습니다.
코어, 단일 스레드 컴퓨터 -momit-lock-접두사=예 모두 생략합니다
잠금 접두사. -momit-lock-접두사=아니 잠금 접두사를 다음과 같이 인코딩합니다.
평소와 같이 기본값이 적용됩니다.
-mrelax-재배치=아니
-mrelax-재배치=예
이러한 옵션은 어셈블러가 relax를 생성해야 하는지 여부를 제어합니다.
재배치, R_386_GOT32X, 32비트 모드 또는 R_X86_64_GOTPCRELX
86비트 모드에서는 R_X64_64_REX_GOTPCRELX가 사용됩니다.
-mrelax-재배치=예 휴식 재배치를 생성합니다.
-mrelax-재배치=아니 편안한 재배치를 생성하지 않습니다.
기본값은 구성 옵션으로 제어할 수 있습니다.
--enable-x86-relax-재배치.
- mevexrcig =르네
- mevexrcig =rd
- mevexrcig =ru
- mevexrcig =rz
이러한 옵션은 어셈블러가 SAE 전용 EVEX를 인코딩하는 방식을 제어합니다.
도움말을 참조하십시오. - mevexrcig =르네 EVEX의 RC 비트를 인코딩합니다.
기본값인 00을 사용한 명령어입니다. - mevexrcig =rd,
- mevexrcig =ru 그리고 - mevexrcig =rz SAE 전용 EVEX를 인코딩합니다.
각각 01, 10, 11 RC 비트가 있는 명령어입니다.
-mamd64
-민텔64
이 옵션은 어셈블러가 AMD64만 허용해야 함을 지정합니다.
또는 64비트 모드에서 Intel64 ISA를 사용할 수 있습니다. 기본적으로 둘 다 허용됩니다.
Intel에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
80960 프로세서.
-ACA | -ACA_A | -ACB | -ACC | -일명 | -AKB | -AKC | -AMC
대상이 되는 960 아키텍처의 변형을 지정합니다.
-b 취한 분기에 대한 통계를 수집하는 코드를 추가합니다.
- 쉬지 않고
비교 및 분기 지침을 장기간 변경하지 마십시오.
변위; 필요한 경우 오류.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
유비콤 IP2K 시리즈.
-mip2022ext
확장된 IP2022 명령이 허용되도록 지정합니다.
-mip2022
허용된 동작을 제한하는 기본 동작을 복원합니다.
기본적인 IP2022에 대한 지침입니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
Renesas M32C 및 M16C 프로세서.
-m32c
M32C 명령어를 조립합니다.
-m16c
M16C 명령어를 조립합니다(기본값).
-편하게 하다
연결 시간 완화에 대한 지원을 활성화합니다.
-h-틱-헥스
00x0 스타일 외에도 H'00 스타일의 XNUMX진수 상수를 지원합니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
레네사스 M32R(이전 명칭 미쓰비시 M32R) 시리즈.
--m32rx
M32R 제품군 중 어떤 프로세서가 대상인지 지정하세요.
기본값은 일반적으로 M32R이지만 이 옵션을 선택하면 기본값이 MXNUMXR로 변경됩니다.
M32RX.
--warn-explicit-병렬 충돌 or -wp
의심스러운 병렬 구조가 있는 경우 경고 메시지를 생성합니다.
만났다.
--no-warn-explicit-병렬 충돌 or --Wnp
의심스러운 병렬이 있는 경우 경고 메시지를 생성하지 마십시오.
구성 요소가 발견되었습니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
모토로라 68000 시리즈.
-l 정의되지 않은 기호에 대한 참조를 한 단어로 줄이세요.
둘.
-m68000 | -m68008 | -m68010 | -m68020 | -m68030
| -m68040 | -m68060 | -m68302 | -m68331 | -m68332
| -m68333 | -m68340 | -mcpu32 | -m5200
68000 제품군 중 어떤 프로세서가 대상인지 지정하세요.
기본값은 일반적으로 68020이지만 이는 다음에서 변경할 수 있습니다.
구성 시간.
-m68881 | -m68882 | -MNO-68881 | -MNO-68882
대상 머신에 부동 소수점이 있습니다(또는 없습니다)
보조 프로세서. 기본값은 68020에 대한 보조 프로세서를 가정하는 것입니다.
68030 및 cpu32. 기본 68000은 다음과 호환되지 않지만
68881은 두 가지의 조합으로 지정될 수 있습니다.
코프로세서 명령어의 에뮬레이션이 가능합니다.
메인 프로세서.
-m68851 | -MNO-68851
대상 머신에 메모리 관리 장치가 없습니다.
보조 프로세서. 기본적으로 68020 이상에서는 MMU를 사용합니다.
Altera에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
Nios II 프로세서.
-휴식 섹션
범위를 벗어난 식별된 분기를 PC 관련 "jmp"로 교체합니다.
가능한 경우 시퀀스입니다. 생성된 코드 시퀀스는 적합합니다.
위치 독립 코드에서 사용되지만 실용적인
길이 때문에 확장된 분기 범위에 제한이 있습니다.
시퀀스입니다. 이 옵션이 기본값입니다.
-완전히 쉬다
범위 내에 있는지 확인할 수 없는 분기 명령어를 모두 교체합니다.
각각 "jmp"와 "callr" 시퀀스를 사용하여 명령을 호출합니다.
이 옵션은 대상에 대한 절대 재배치를 생성합니다.
기호이며 위치 독립적인 코드에는 적합하지 않습니다.
- 쉬지 않고
지점이나 호출을 교체하지 마십시오.
-EB 빅 엔디안 출력을 생성합니다.
-엘자 리틀 엔디안 출력을 생성합니다. 이것이 기본값입니다.
-행진=아키텍처
이 옵션은 대상 아키텍처를 지정합니다. 어셈블러
조립을 시도하면 오류 메시지가 표시됩니다.
대상 아키텍처에서 실행되지 않는 명령어입니다.
다음 아키텍처 이름이 인식됩니다: "r1", "r2".
기본값은 "r1"입니다.
다음 옵션은 Meta에 대해 구성된 경우 사용 가능합니다.
프로세서.
"-mcpu=metac11"
메타 1.1용 코드를 생성합니다.
"-mcpu=metac12"
메타 1.2용 코드를 생성합니다.
"-mcpu=metac21"
메타 2.1용 코드를 생성합니다.
"-mfpu=metac21"
코드가 Meta 2.1의 FPU 하드웨어를 사용하도록 허용합니다.
MMIX 관련 옵션에 대한 문서는 정보 페이지를 참조하십시오.
NDS32에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
"-O1"
성능 최적화
"-오즈"
공간에 최적화하십시오.
"-엘자"
리틀 엔디안 데이터 출력을 생성합니다.
"-EB"
리틀 엔디안 데이터 출력을 생성합니다.
"-mpic"
PIC를 생성합니다.
"-mno-fp-as-gp-relax"
이 파일에 대해 fp-as-gp 이완을 억제합니다.
"-mb2bb-휴식"
연속 분기 최적화.
"-mno-all-relax"
이 파일에 대한 모든 이완을 억제합니다.
"-행진 = "
건축을 위한 조립 v3, v3j, v3m이 될 수 있습니다.
v3f, v3s, v2, v2j, v2f, v2s.
"-mbaseline= "
기준선을 위해 조립 v2, v3, v3m이 될 수 있습니다.
"-mfpu-freg=프레그"
FPU 구성을 지정합니다.
"0 8 SP / 4 DP 레지스터"
"1 16 SP / 8 DP 레지스터"
"2 32 SP / 16 DP 레지스터"
"3 32 SP / 32 DP 레지스터"
"-마비=아비"
abi 버전 지정 v1, v2, v2fp, v2fpp일 수 있습니다.
"-m[no-]mac"
곱하기 명령어 지원을 활성화/비활성화합니다.
"-m[no-]div"
나누기 명령 지원을 활성화/비활성화합니다.
"-m[no-]16비트 확장"
16비트 확장 활성화/비활성화
"-m[no-]dx-regs"
d0/d1 레지스터 활성화/비활성화
"-m[no-]perf-ext"
성능 확장 활성화/비활성화
"-m[no-]perf2-ext"
성능 확장 2 활성화/비활성화
"-m[no-]문자열 확장"
문자열 확장 활성화/비활성화
"-m[no-]reduced-regs"
축소 레지스터 구성(GPR16) 옵션 활성화/비활성화
"-m[no-]audio-isa-ext"
AUDIO ISA 확장 활성화/비활성화
"-m[no-]fpu-sp-ext"
FPU SP 확장 활성화/비활성화
"-m[no-]fpu-dp-ext"
FPU DP 확장 활성화/비활성화
"-m[no-]fpu-fma"
FPU fused-multiply-add 명령어 활성화/비활성화
"-몰-내선"
모든 확장 및 지침 지원 켜기
PowerPC에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
.A32
ELF32 또는 XCOFF32를 생성합니다.
.A64
ELF64 또는 XCOFF64를 생성합니다.
-K PIC
ELF 플래그에서 EF_PPC_RELOCATABLE_LIB를 설정합니다.
-mpwrx | -mpwr2
POWER/2(RIOS2)용 코드를 생성합니다.
-mpwr
POWER(RIOS1)용 코드 생성
-m601
PowerPC 601용 코드를 생성합니다.
-mppc, -mppc32, -m603, -m604
PowerPC 603/604용 코드를 생성합니다.
-m403, -m405
PowerPC 403/405용 코드를 생성합니다.
-m440
PowerPC 440용 코드 생성. BookE 및 일부 405 지침.
-m464
PowerPC 464용 코드를 생성합니다.
-m476
PowerPC 476용 코드를 생성합니다.
-m7400, -m7410, -m7450, -m7455
PowerPC 7400/7410/7450/7455용 코드를 생성합니다.
-m750cl
PowerPC 750CL용 코드를 생성합니다.
-m821, -m850, -m860
PowerPC 821/850/860용 코드를 생성합니다.
-mppc64, -m620
PowerPC 620/625/630용 코드를 생성합니다.
-me500, -me500x2
Motorola e500 코어 컴플렉스에 대한 코드를 생성합니다.
-me500mc
Freescale e500mc 코어 콤플렉스용 코드를 생성합니다.
-me500mc64
Freescale e500mc64 코어 컴플렉스에 대한 코드를 생성합니다.
-me5500
Freescale e5500 코어 컴플렉스에 대한 코드를 생성합니다.
-me6500
Freescale e6500 코어 컴플렉스에 대한 코드를 생성합니다.
-mspe
Motorola SPE 지침에 대한 코드를 생성합니다.
-엠티탄
AppliedMicro Titan 코어 컴플렉스에 대한 코드를 생성합니다.
-mppc64브리지
Bridge insns를 포함하여 PowerPC 64용 코드를 생성합니다.
-엠북
32비트 BookE용 코드를 생성합니다.
-ma2
A2 아키텍처용 코드를 생성합니다.
-me300
PowerPC e300 제품군용 코드를 생성합니다.
-말티벡
AltiVec 명령어를 사용하여 프로세서용 코드를 생성합니다.
-mvle
Freescale PowerPC VLE 명령어용 코드를 생성합니다.
-mvsx
벡터 스칼라(VSX) 명령어를 사용하여 프로세서용 코드를 생성합니다.
-mhtm
하드웨어 트랜잭션 메모리를 사용하여 프로세서에 대한 코드 생성
도움말을 참조하십시오.
-mpower4, -mpwr4
Power4 아키텍처용 코드를 생성합니다.
-mpower5, -mpwr5, -mpwr5x
Power5 아키텍처용 코드를 생성합니다.
-mpower6, -mpwr6
Power6 아키텍처용 코드를 생성합니다.
-mpower7, -mpwr7
Power7 아키텍처용 코드를 생성합니다.
-mpower8, -mpwr8
Power8 아키텍처용 코드를 생성합니다.
-mpower9, -mpwr9
Power9 아키텍처용 코드를 생성합니다.
-mcell
-mcell
Cell Broadband Engine 아키텍처용 코드를 생성합니다.
-엠컴
코드 Power/PowerPC 공통 명령어를 생성합니다.
-많은
모든 아키텍처(PWR/PWRX/PPC)에 대한 코드를 생성합니다.
-mregnames
레지스터에 대한 기호 이름을 허용합니다.
-mno-regnames
레지스터에 대한 기호 이름을 허용하지 마십시오.
-m 재배치 가능
GCC의 -mrelocateable 옵션을 지원합니다.
-mrelocateable-lib
GCC의 -mrelocateable-lib 옵션을 지원합니다.
-멤버
ELF 플래그에 PPC_EMB 비트를 설정합니다.
- 약간, -미리틀 엔디안, 그들
리틀 엔디안 머신용 코드를 생성합니다.
-mbig, -mbig-엔디안, -있다
빅 엔디안 머신용 코드를 생성합니다.
-msolaris
Solaris용 코드를 생성합니다.
-mno-solaris
Solaris용 코드를 생성하지 마십시오.
-놉=계산
정렬 지시문이 다음보다 많이 삽입하는 경우 계산 nops, 넣어
nops 실행을 건너뛰려면 처음에 branch를 추가합니다.
RX 특정 옵션에 대한 문서는 정보 페이지를 참조하십시오.
s390에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서 제품군.
-m31
-m64
31/32비트 또는 64비트 중에서 워드 크기를 선택합니다.
-메사
-mzarch
Enterprise System 아키텍처 모드를 선택하세요.
아키텍처(esa) 또는 z/Architecture 모드(zarch).
-행진=프로세서
대상이 되는 s390 프로세서 변형을 지정합니다. g6, g6, z900,
z990, z9-109, Z9-EC, z10, z196, ZEC12및 z13.
-mregnames
-mno-regnames
레지스터에 대한 기호 이름을 허용하거나 허용하지 않습니다.
-mwarn-areg-Zero
기본 또는 인덱스 레지스터의 피연산자가 있을 때마다 경고합니다.
지정되었지만 0으로 평가됩니다.
다음 옵션은 as가 구성된 경우 사용 가능합니다.
TMS320C6000 프로세서.
-행진=아치
아키텍처의 명령 활성화(전용) 아치. 기본적으로 모든
지시가 허용됩니다.
다음 값 아치 허용됩니다: "c62x", "c64x", "c64x+",
"c67x", "c67x+", "c674x".
-mdsbt
-mno-dsbt
The -mdsbt 옵션을 사용하면 어셈블러가 다음을 생성합니다.
값이 1인 "Tag_ABI_DSBT" 속성은 다음을 나타냅니다.
코드는 DSBT 주소 지정을 사용합니다. -mno-dsbt 옵션, 기본값,
태그에 0 값을 갖게 하여 코드가 작동하지 않음을 나타냅니다.
DSBT 주소 지정을 사용하지 마세요. 객체가
다양한 유형(DSBT와 비DSBT)이 서로 연결되어 있습니다.
-mpid=아니요
-mpid=근처
-mpid=멀리
The -mpid = 옵션을 사용하면 어셈블러가 다음을 생성합니다.
데이터 형식을 나타내는 값이 있는 "Tag_ABI_PID" 속성
코드에서 사용되는 주소 지정. -mpid=아니요기본값은 다음을 나타냅니다.
위치 종속 데이터 주소 지정, -mpid=근처 위치를 나타냅니다-
DP 근처 주소 지정을 사용하여 GOT 액세스를 통한 독립 주소 지정
그리고 -mpid=멀리 GOT를 사용하여 위치 독립 주소 지정을 나타냅니다.
far DP 주소 지정을 사용하여 액세스합니다. 링커에서 경고가 발생합니다.
이 옵션의 다른 설정으로 작성된 객체가 연결된 경우
함께.
-mpic
-mno-그림
The -mpic 이 옵션을 사용하면 어셈블러가 "Tag_ABI_PIC"를 생성합니다.
값이 1인 속성은 코드가 사용 중임을 나타냅니다.
위치 독립적인 코드 주소 지정, "-mno-pic" 옵션,
기본값은 태그에 0 값을 지정하여 위치를 나타냅니다.
종속 코드 주소 지정. 링커는 다음과 같은 경우 경고를 내보냅니다.
다양한 유형의 객체(위치 종속 및 위치-
(독립적인) 서로 연결되어 있습니다.
-mbig-엔디안
-미리틀 엔디안
지정된 엔디안 방식에 맞는 코드를 생성합니다. 기본값은 little-입니다.
엔디안
TILE-Gx에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
-m32 | -m64
32비트 또는 64비트 중에서 워드 크기를 선택합니다.
-EB | -엘자
엔디안을 빅 엔디안(-EB) 또는 리틀 엔디안 중에서 선택하세요.
(-엘자).
다음 옵션은 Visium에 대해 구성된 경우 사용할 수 있습니다.
프로세서.
-mtune=아치
이 옵션은 대상 아키텍처를 지정합니다. 시도가
타겟에서 실행되지 않는 명령어를 조립하도록 만들어짐
아키텍처에 따라 어셈블러가 오류 메시지를 발행합니다.
다음 이름이 인식됩니다. "mcm24" "mcm" "gr5" "gr6"
Xtensa에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
프로세서.
--텍스트 섹션 리터럴 | --no-text-section-literals
리터럴 풀의 처리를 제어합니다. 기본값은
--no-text-section-literals, 리터럴을 별도로 배치합니다.
출력 파일의 섹션입니다. 이를 통해 리터럴 풀을
데이터 RAM/ROM에 배치됩니다. --텍스트 섹션 리터럴Walk Through California 프로그램,
리터럴은 텍스트 섹션에 삽입되어 유지됩니다.
참고문헌에 최대한 가깝게 작성해야 합니다. 필요할 수 있습니다.
리터럴이 그렇지 않으면 나오지 않을 대용량 어셈블리 파일의 경우
텍스트 섹션의 "L32R" 명령어 범위. 리터럴
".literal_position" 지시어에 따라 풀로 그룹화됩니다.
앞의 "ENTRY" 명령. 이 옵션은 리터럴에만 영향을 미칩니다.
PC 상대 "L32R" 명령어를 통해 참조됨; 리터럴
절대 모드 "L32R" 명령어는 별도로 처리됩니다.
--자동 리트풀 | --no-auto-litpools
리터럴 풀의 처리를 제어합니다. 기본값은
--no-auto-litpools, 부재시 --텍스트 섹션 리터럴
출력 파일의 별도 섹션에 리터럴을 배치합니다.
리터럴 풀을 데이터 RAM/ROM에 배치할 수 있습니다.
--자동 리트풀, 리터럴은 텍스트 섹션에 산재되어 있습니다.
참고문헌에 최대한 가깝게 유지하기 위해
명시적인 ".literal_position" 지시어는 필요하지 않습니다.
단일 리터럴 풀이 있는 매우 큰 기능에는 필요합니다.
"L32R"이 함수의 시작 부분에 도달하지 못할 수 있습니다.
끝에 지침이 있습니다. 이 옵션은 리터럴에만 영향을 미칩니다.
PC 상대 "L32R" 명령어를 통해 참조됨; 리터럴
절대 모드 "L32R" 명령어는 별도로 처리됩니다.
와 함께 사용 --텍스트 섹션 리터럴, --자동 리트풀 소요
상위.
--절대 리터럴 | --절대 리터럴 없음
"L32R" 명령어가 절대 명령어를 사용하는지 어셈블러에 표시합니다.
또는 PC 상대 주소 지정. 프로세서에 절대 주소 지정이 포함된 경우
주소 지정 옵션의 경우 기본값은 절대 "L32R"을 사용하는 것입니다.
재배치. 그렇지 않으면 PC 관련 "L32R" 재배치만
사용할 수 있습니다.
--타겟 정렬 | --대상 없음 정렬
지점 페널티를 줄이기 위해 자동 정렬을 활성화하거나 비활성화합니다.
코드 크기에 약간의 비용이 발생합니다. 이 최적화는 다음을 통해 가능합니다.
기본값입니다. 어셈블러는 항상 명령어를 정렬합니다.
고정된 정렬 요구 사항을 갖는 "LOOP"와 같습니다.
--롱콜 | --롱콜 없음
통화 지침 변환을 활성화하거나 비활성화하여 허용합니다.
더 넓은 범위의 주소에 대한 호출. 이 옵션은 다음과 같아야 합니다.
통화 대상이 범위를 벗어날 가능성이 있는 경우 사용됩니다.
코드 크기와 성능을 모두 저하시키지만 링커는
일반적으로 통화가 종료될 때 불필요한 오버헤드를 최적화합니다.
범위 내에서. 기본값은 --롱콜 없음.
--변환 | --변환 없음
Xtensa의 모든 어셈블러 변환을 활성화하거나 비활성화합니다.
이완과 최적화를 모두 포함한 지침.
기본값은 --변환; --변환 없음 에서만 사용해야 합니다
지침이 지정된 대로 정확히 이루어져야 하는 드문 경우
어셈블리 소스. 사용 --변환 없음 범위를 벗어난 원인
명령어 피연산자가 오류입니다.
--이름 바꾸기-섹션 옛 이름=새 이름
이름 바꾸기 옛 이름 섹션 새 이름. 이 옵션을 사용할 수 있습니다
여러 섹션의 이름을 바꾸려면 여러 번 반복합니다.
-- 트램폴린 | -- 트램폴린 금지
점프 명령어 변환을 활성화하거나 비활성화하여 허용합니다.
더 넓은 범위의 주소로 점프합니다. 이 옵션은 다음과 같아야 합니다.
점프 타겟이 범위를 벗어날 가능성이 있는 경우 사용됩니다.
이러한 점프가 없으면 이 옵션은 코드 크기에 영향을 미치지 않습니다.
성능. 기본값은 -- 트램폴린.
Z80에 대해 구성된 경우 다음 옵션을 사용할 수 있습니다.
패밀리 프로세서.
-z80
Z80 프로세서용으로 조립합니다.
-r800
R800 프로세서용으로 조립합니다.
-문서화되지 않은 지시 무시
-누드
R80에서도 작동하는 문서화되지 않은 Z800 명령어를 조립합니다.
경고도없이.
-무시할 수 없는 지시
-Wnup
경고 없이 문서화되지 않은 모든 Z80 지침을 조립하십시오.
-경고 - 문서화되지 않은 지침
- 우드
문서화되지 않은 Z80 명령어에 대한 경고를 발행합니다.
R800.
-warn-portable-instructions
- 웁
작동하지 않는 문서화되지 않은 Z80 명령어에 대한 경고를 발행합니다.
R800에.
-문서화되지 않은 지침 금지
-후드
문서화되지 않은 모든 지침을 오류로 취급하십시오.
-금지 - 휴대 할 수없는 지침
-훗
R80에서 작동하지 않는 문서화되지 않은 Z800 지침을 다음과 같이 처리합니다.
오류.
onworks.net 서비스를 사용하여 i686-linux-gnu-as를 온라인으로 사용하세요