Gcc 为寄存器定义寄存器别名
如何在microblaze的汇编文件('.S')中定义寄存器别名? 所以我可以用这个别名写指令,比如Gcc 为寄存器定义寄存器别名,gcc,assembly,microblaze,Gcc,Assembly,Microblaze,如何在microblaze的汇编文件('.S')中定义寄存器别名? 所以我可以用这个别名写指令,比如 addi ctx, r0, 0x08 对于ARM,它是ctx.req r12。 无论是.req还是.register都不适用于microblaze 文件是用GCC编译的。可能不理想,但由于GCC预处理程序集文件,所以您可以简单地使用C宏: #define ctx r12 使用gcc编译或使用gas组装?使用gcc(mb gcc),asm(例如mb as)会给出相同的错误。
addi ctx, r0, 0x08
对于ARM,它是ctx.req r12
。
无论是.req
还是.register
都不适用于microblaze
文件是用GCC编译的。可能不理想,但由于GCC预处理程序集文件,所以您可以简单地使用C宏:
#define ctx r12
使用gcc编译或使用gas组装?使用gcc(mb gcc),asm(例如mb as)会给出相同的错误。不,相同。汇编程序消息:错误:未知操作码“ctx”错误:应为寄存器,但看到“ctx,4”警告:忽略操作数:,4@user3124812是否通过as或gcc驱动程序进行汇编?只有后者会预处理代码,并且只有当它有.S扩展名时才进行预处理。它是'gcc',扩展名是大写。S'
SCons
用于构建项目。虽然文件确实有'capital'.S
扩展名,但在scons脚本文件列表中,它以'small'.S
列出。这搞砸了“GCC”<代码>ctx.req r12修复后语法仍然不起作用