los*_*ang 3 c macros sdcc c-preprocessor
我需要编写一个需要内联汇编的宏
#define create_me(name) \
__asm\
mov name,#0x1021\
__endasm\
Run Code Online (Sandbox Code Playgroud)
# 但是没有编译。我试过将它作为参数传入,但是这也不起作用。它说 invalid preprocessor token 。我可以尝试使用内联函数,但我无法动态创建寄存器名称。那是我无权访问 name 变量。有没有人对如何在宏中使用 # 操作有任何建议。
通过另一个宏使用间接寻址应该可以解决问题:
#define HASH_LIT #
#define HASH() HASH_LIT
#define create_me(name) \
__asm\
mov name,HASH()0x1021\
__endasm
Run Code Online (Sandbox Code Playgroud)