Поделиться через


Справочник по командной строке ассемблера ARM

Сборщики Microsoft ARM, armasm и armasm64 поддерживают несколько вариантов командной строки. По умолчанию armasm собирает язык сборок ARMv7 в реализацию Microsoft общего формата файлов объектов (COFF). Сборщик armasm64 создает код объекта COFF для целевых объектов ARM64 и ARM64EC. Компоновщик может связать объекты кода COFF, созданные как сборщиком ARM, так и компилятором C/C++. Он может связаться либо с библиотеками объектов, созданными библиотекой библиотеки.

Синтаксис

armasm[параметры] source_file object_file
armasm [параметры] source_file

armasm64[параметры] source_file object_file
armasm64 [параметры] source_file

Параметры

options
Сочетание нулевых или более следующих параметров:

  • -16
    Доступно только в armasm. Выполните сборку источника как 16-разрядные инструкции по отпечатку. Этот параметр в установлен по умолчанию.

  • -32
    Доступно только в armasm. Сборка источника в виде 32-разрядных инструкций ARM.

  • -coff_thumb2_only
    Доступно только в armasm. Разрешить только код Thumb-2.

  • -errorReport:выбор
    Этот параметр является устаревшим. В Windows Vista и более поздних версиях отчеты об ошибках управляются параметрами отчеты об ошибках Windows (WER).

  • -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) всех допустимых целевых объектов продолжения обработки исключений для двоичного файла. Он используется во время выполнения NtContinue и SetThreadContext проверки указателя инструкций. По умолчанию -guard:ehcont отключен и должен быть явно включен. Чтобы явно отключить этот параметр, используйте -guard:ehcont-. Этот параметр доступен в Visual Studio 2019 версии 16.7 и более поздних версий. Эта функция поддерживается для 64-разрядных процессов в 64-разрядной ОС.

  • -help
    -h
    Распечатайте сообщение справки командной строки.

  • -idir[; dir]
    Добавьте один или несколько указанных каталогов в путь поиска. Разделяйте каталоги с запятой (;).

  • -ignorewarning_number
    Отключите указанный номер предупреждения. Возможные значения см. в разделе "Диагностические сообщения сборщика ARM".

  • -listlist_file
    Создайте подробный список созданного языка сборки для list_file. Параметр list_file необязателен. Если он опущен, сборщик добавляется .lst к базовому имени source_file для создания файла перечисления.

  • -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. По умолчанию создаются блоки ИТ,совместимые с ARMv8.

  • -predefineдиректива
    -pdдиректива
    Укажите директиву SETA, SETL или SET, чтобы предопределить символ.
    Пример: armasm.exe -predefine "COUNT SETA 150" source.asm
    Дополнительные сведения см. в справочном руководстве по armasm компилятора ARM.

  • -sourcelink:sourcelink_filename
    sourcelink_filename указывает json-форматированный файл конфигурации, содержащий простое сопоставление локальных путей к URL-адресам исходных файлов для отображения в отладчике. Дополнительные сведения о формате этого файла см. в разделе "Схема JSON источника". Source Link — это не зависящая от языка и системы управления версиями для обеспечения отладки источника для двоичных файлов. Исходная ссылка поддерживается для собственных двоичных файлов, начиная с Visual Studio 2017 версии 15.8. Общие сведения о исходной ссылке см. в разделе "Ссылка на источник". Сведения о том, как использовать source Link в проектах и как создать файл SourceLink в рамках проекта, см. в разделе "Использование исходного канала".

  • -via имя_файла
    Чтение дополнительных аргументов командной строки из имени файла.

source_file
Имя исходного файла.

object_file
Последний элемент командной строки может указать имя файла объекта (выходных данных). Если он опущен, и параметр не -o указан, сборщик добавляет .obj к базовому имени source_file для создания файла объекта.

Замечания

В следующем примере показано, как использовать armasm в типичном сценарии. Сначала используйте armasm для создания файла языка сборки (ASM) в файл объекта (.obj). Затем используйте компилятор C командной строки CL для компиляции исходного файла (C), а также укажите параметр компоновщика для связывания файла объекта ARM.

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

См. также

Диагностические сообщения сборщика ARM
Директивы сборщика ARM