Невозможно скомпилировать файл сборки рычага с помощью Armasm
Вопрос
Я использую 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