我在使這個微小的宏工作時遇到了很多麻煩。OSX x86 GAS .macros的語法是什麼?
.macro int_kernel subl $4, %esp int $0x80 addl $4, %esp .endm
運行彙編器,我得到使用$ 0,$ 1,...來指代宏的參數
as -arch i386 upper.s -o ./upper.o upper.s:51:expecting operand before ','; got nothing upper.s:51:suffix or operands invalid for `int' upper.s:51:expecting operand before ','; got nothing
的誤差從宏觀OSX語法來。
該宏中的常量的正確的osx語法是什麼?
解決方案:兩塊錢標誌必須被用作subl $$4, %esp
我不知道那是什麼彙編,但它不是GAS。 GAS宏語法記錄在這裏:http://sourceware.org/binutils/docs/as/Macro.html#Macro – zwol