Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gcc 为寄存器定义寄存器别名_Gcc_Assembly_Microblaze - Fatal编程技术网

Gcc 为寄存器定义寄存器别名

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)会给出相同的错误。

如何在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)会给出相同的错误。不,相同。汇编程序消息:错误:未知操作码“ctx”错误:应为寄存器,但看到“ctx,4”警告:忽略操作数:,4@user3124812是否通过as或gcc驱动程序进行汇编?只有后者会预处理代码,并且只有当它有.S扩展名时才进行预处理。它是'gcc',扩展名是大写。S'
SCons
用于构建项目。虽然文件确实有'capital'
.S
扩展名,但在scons脚本文件列表中,它以'small'
.S
列出。这搞砸了“GCC”<代码>ctx.req r12修复后语法仍然不起作用