さまざまな C 関数を呼び出し続ける冗長な asm コードを生成する必要があります
私は次のようなことをしようとしています
#define CODE_GEN(func) push a \
call func
pop a
のようなものを呼び出す
CODE_GEN(foo)
発生します
bash-4.1$ gcc -E mk.S
# 1 "mk.S"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "mk.S"
# 1 "asm_gen.h" 1
# 2 "mk.S" 2
# 13 "mk.S"
pusha call foo popa iret
しかし、これはコンパイルに失敗します
bash-4.1$ gcc -m32 mk.S
mk.S: Assembler messages:
mk.S:13: Error: junk `foo popa iret' after expression
mk.S:13: Error: suffix or operands invalid for `pusha'
.S ファイルで 1 行に記述された asm コードを区切る方法はありますか?