다음을 통해 공유


ARM 어셈블러 명령줄 참조

Microsoft ARM 어셈블러, armasmarmasm64는 여러 명령줄 옵션을 지원합니다. 기본적으로 armasmARMv7 Thumb 어셈블리 언어를 COFF(공용 개체 파일 형식)의 Microsoft 구현으로 어셈블합니다. armasm64 어셈블러는 ARM64 및 ARM64EC 대상에 대한 COFF 개체 코드를 만듭니다. 링커는 ARM 어셈블러와 C/C++ 컴파일러 모두에서 생성된 COFF 코드 개체를 연결할 수 있습니다. 라이브러리에서 만든 개체 라이브러리와 함께 연결할 수 있습니다.

구문

armasm [옵션] source_file object_file
armasm [옵션] source_file

armasm64 [옵션] source_file object_file
armasm64 [옵션] source_file

매개 변수

options
다음 옵션 중 0개 이상의 조합입니다.

  • -16
    armasm에서만 사용할 수 있습니다. 원본을 16비트 Thumb 지침으로 어셈블합니다. 이 옵션이 기본값입니다.

  • -32
    armasm에서만 사용할 수 있습니다. 소스를 32비트 ARM 지침으로 어셈블합니다.

  • -coff_thumb2_only
    armasm에서만 사용할 수 있습니다. Thumb-2 코드만 허용합니다.

  • -errorReport:선택
    이 옵션은 사용되지 않습니다. Windows Vista 이상에서는 오류 보고가 WER(Windows 오류 보고) 설정에 의해 제어됩니다.

  • -errors filename
    -e filename
    오류 및 경고 메시지를 파일 이름으로 리디렉션합니다. 기본적으로 이러한 메시지는 .에 stdout전송됩니다.

  • -funcOverride:function_name
    armasm64에서 만 사용할 수 있습니다. function_name 대한 지원을 재정의하는 함수를 내보낸다.

  • -g
    디버깅 정보를 생성합니다.

  • -gh:SHA1
    SHA-1 암호화 해시 알고리즘을 사용하여 디버그 정보에서 각 원본 파일의 체크섬을 생성합니다. -gh:SHA256를 재정의합니다.

  • -gh:SHA256
    SHA-256 암호화 해시 알고리즘을 사용하여 디버그 정보에서 각 원본 파일의 체크섬을 생성합니다. 이 옵션은 Visual Studio 2022 버전 17.0 이상에서 기본적으로 설정됩니다.

  • -guard:ehcont[-]
    이진 파일에 대해 유효한 모든 예외 처리 연속 대상의 RVA(상대 가상 주소) 목록을 정렬하여 생성합니다. 런타임 시 및 명령 포인터 유효성 검사에 NtContinue SetThreadContext 사용됩니다. 기본적으로 -guard:ehcont 해제되어 있으며 명시적으로 사용하도록 설정해야 합니다. 이 옵션을 명시적으로 사용하지 않도록 설정하려면 .를 사용합니다 -guard:ehcont-. 이 옵션은 Visual Studio 2019 버전 16.7 이상에서 사용할 수 있습니다. 이 기능은 64비트 OS의 64비트 프로세스에 대해 지원됩니다.

  • -help
    -h
    명령줄 도움말 메시지를 인쇄합니다.

  • -idir[; dir]
    지정된 디렉터리를 포함 검색 경로에 하나 이상 추가합니다. 세미콜론(;)을 사용하여 디렉터리를 구분합니다.

  • -ignorewarning_number
    지정된 경고 번호를 사용하지 않도록 설정합니다. 가능한 값은 ARM 어셈블러 진단 메시지를 참조 하세요.

  • -listlist_file
    list_file 생성된 어셈블리 언어의 자세한 목록을 만듭니다. list_file 매개 변수는 선택 사항입니다. 생략하면 어셈블러가 source_file 기본 이름에 추가하여 .lst 목록 파일을 만듭니다.

  • -machine기계
    PE 헤더에 설정할 컴퓨터 유형을 지정합니다. armasm에서 컴퓨터에 사용할 수 있는 값은 다음과 같습니다.

    • ARM - 컴퓨터 유형을 .로 IMAGE_FILE_MACHINE_ARMNT설정합니다. 이 옵션이 기본값입니다.
    • THUMB - 컴퓨터 유형을 .로 IMAGE_FILE_MACHINE_THUMB설정합니다.

    armasm64에서 가능한 값은 다음과 같습니다.

    • ARM64 - 컴퓨터 유형을 .로 IMAGE_FILE_MACHINE_ARM64설정합니다. 이 옵션이 기본값입니다.
    • ARM64EC - 컴퓨터 유형을 .로 IMAGE_FILE_MACHINE_ARM64EC설정합니다.
  • -noesc
    -noe
    C 스타일 이스케이프된 특수 문자(예: \n 또는 \t.)를 무시합니다.

  • -nologo
    저작권 배너를 표시하지 않습니다.

  • -nowarn
    -now
    모든 경고 메시지를 사용하지 않도록 설정합니다.

  • -oobject_file
    개체(출력) 파일의 이름을 지정합니다. 옵션은 -o 선택 사항입니다. 대신 명령줄의 마지막 요소로 개체 파일 이름을 지정할 수 있습니다.

  • -oldit
    armasm에서만 사용할 수 있습니다. ARMv7 스타일 IT 블록을 생성합니다. 기본적으로 ARMv8 호환 IT 블록이 생성됩니다.

  • -predefine지시문
    -pd지시문
    기호를 미리 정의하려면 SETA, SETL 또는 SETS 지시문을 지정합니다.
    예: armasm.exe -predefine "COUNT SETA 150" source.asm
    자세한 내용은 ARM 컴파일러 armasm 참조 가이드를 참조하세요.

  • -sourcelink:sourcelink_filename
    sourcelink_filename 디버거에 표시할 원본 파일에 대한 URL에 대한 로컬 파일 경로의 간단한 매핑을 포함하는 JSON 형식의 구성 파일을 지정합니다. 이 파일의 형식에 대한 자세한 내용은 원본 링크 JSON 스키마를 참조하세요. Source Link는 이진 파일에 대한 소스 디버깅을 제공하기 위한 언어 및 소스 제어 독립적 시스템입니다. 소스 링크는 Visual Studio 2017 버전 15.8부터 네이티브 이진 파일에 대해 지원됩니다. 원본 링크에 대한 개요는 원본 링크를 참조 하세요. 프로젝트에서 원본 링크를 사용하는 방법 및 프로젝트의 일부로 SourceLink 파일을 생성하는 방법에 대한 자세한 내용은 원본 링크 사용을 참조하세요.

  • -via filename
    파일 이름에서 추가 명령줄 인수를 읽습니다.

source_file
원본 파일의 이름입니다.

object_file
명령줄의 마지막 요소는 개체(출력) 파일의 이름을 지정할 수 있습니다. 생략되고 옵션이 지정되지 않은 -o 경우 어셈블러는 source_file 기본 이름에 추가하여 .obj 개체 파일을 만듭니다.

설명

다음 예제에서는 일반적인 시나리오에서 armasm을 사용하는 방법을 보여 줍니다. 먼저 armasm을 사용하여 개체(.obj) 파일에 어셈블리 언어 원본(.asm) 파일을 빌드합니다. 그런 다음 CL 명령줄 C 컴파일러를 사용하여 원본(.c) 파일을 컴파일하고 ARM 개체 파일을 연결하는 링커 옵션도 지정합니다.

armasm -o myasmcode.obj myasmcode.asm 
cl myccode.c /link myasmcode.obj

참고 항목

ARM 어셈블러 진단 메시지
ARM 어셈블러 지시문