다음을 통해 공유


ARM 어셈블러 명령줄 참조

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

구문

armasm [옵션] source_fileobject_file
armasm [옵션] source_file

armasm64 [옵션] source_fileobject_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 파일
    -e 파일
    오류 및 경고 메시지를 파일 이름으로 리디렉션합니다. 기본적으로 이러한 메시지는 .에 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(상대 가상 주소) 목록을 정렬하여 생성합니다. 런타임 시 및 명령 포인터 유효성 검사에 NtContinueSetThreadContext 사용됩니다. 기본적으로 -guard:ehcont 해제되어 있으며 명시적으로 사용하도록 설정해야 합니다. 이 옵션을 명시적으로 사용하지 않도록 설정하려면 .를 사용합니다 -guard:ehcont-. 이 옵션은 Visual Studio 2019 버전 16.7 이상에서 사용할 수 있습니다. 이 기능은 64비트 OS의 64비트 프로세스에 대해 지원됩니다.

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

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

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

  • -list list_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
    모든 경고 메시지를 사용하지 않도록 설정합니다.

  • -o object_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 파일
    파일 이름에서 추가 명령줄 인수를 읽습니다.

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 어셈블러 지시문