кръстосано компилиране (arm-none-eabi-as) грешка при сглобяване на ръка боклуци в края на реда / или недефиниран символ

Здравейте, докато компилирам файл startup.s (arm-none-eabi-as file.s) (*-gcc)

Получавам във всеки ред за коментар някои грешки - боклук в края на реда, първият неразпознат знак е /

когато изтрия // някои редове за коментари, получавам грешки за недефинирани символи, дори аз ги дефинирах в началото на файла.

някой знае ли какво не е наред?


person Gobliins    schedule 20.10.2010    source източник
comment
#define I_BIT 0x80 ... msr CPSR_c, #ARM_MODE_IRQ | I_BIT | F_BIT   -  person Gobliins    schedule 20.10.2010
comment
Не можете да използвате C заглавки в асемблирането.   -  person starblue    schedule 21.10.2010


Отговори (2)


(arm) Assembler не поддържа // коментари или дефиниции, трябва да използвате .equ и @ за коментари. Ако позволите на gcc да го анализира, можете да поставите C isms като този във вашия асемблер. Лично аз избягвам подобни Cизми и поддържам асемблера чист. ако не можете да направите това или имате нужда от включвания с дефиниции, например, оставете gcc да обработи предварително файла, преди да го изпрати на gas.

person old_timer    schedule 20.10.2010

Ако искате да използвате макроси или C коментари, тогава трябва да обработите предварително изходния файл с C препроцесора. Препроцесорът C премахва коментари и интерпретира макроси. Асемблерът на GNU трябва да стартира C препроцесора автоматично, ако името на изходния файл завършва с .S, с главна буква 'S'.

person Thomas Pornin    schedule 27.10.2010