Невозможно скомпилировать файл сборки рычага с помощью Armasm

StackOverflow https://stackoverflow.com/questions/3116403

  •  29-09-2019
  •  | 
  •  

Вопрос

Я использую Libmpeg2 для показа видео в моем проекте Pocket PC. Последний выпуск этого LIB имеет ускорение для процессора ARM, некоторые функции переписаны в сборке ARM (в отдельном файле motion_comp_arm_s.s). Проблема заключается в том, что Armasm от Visual Studio 9 Cant Compile It, создавая много ошибок. Мой вопрос: какой компилятор сборочной торговли подходит для такого кода?


    .text

@ ------------------------------------------------- --------------- .align .global MC_PUT_O_16_ARM MC_PUT_O_16_ARM: @@ void func (uint8_t * dest, const uint8_t * ref, int stear, int height) pld [r1] stmfd sp!,,,, {r4-r11, lr} @ r14 также называется LR и R4, R1, #3 ADR R5, MC_PUT_O_16_ARM_ALIGN_JT ADD R5, R5, R4, LSL #2 LDR PC, [R5

...

Спасибо за любую помощь

Это было полезно?

Решение

Это синтаксис, используемый GNU Assembler. Анкет Сам код должен быть (более или менее) таким же для любого ассемблера; Чтобы сделать эту сборку с Microsoft Assembler, основные изменения будут:

  • Изменить @ символы (которые обозначают комментарии) ;
  • Изменить директивы (слова, начинающиеся с .) документировано здесь к их эквивалентам Microsoft, задокументированы здесь. Анкет Например .text становится CODE.

Это должно исправить большинство ошибок.

Другие советы

Используйте компилятор ARM RVDS
Синтаксис образца кода идет так

      AREA     ARMex, CODE, READONLY
      ENTRY
START
      MOV R0,#1
      MOV R1,#2
      ADD R0,R0,R1
      END

Сохраните код как test.s
команда для компиляции и генерации объектного файла

armasm --arm test -o test.s
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top