使用内联汇编程序我可以指定一个添加操作 两个输入和一个结果如下:
int a = 5;
int b = 5;
int res;
asm volatile (
" add %1, %2, %0 \n\t"
: "=r" (res)
: "r" (a), "r" (b)
: "%g0"
);
在32位架构上,这会产生一个看起来像的指令字 这个:0x91050101
现在我想知道,而不是明确指定添加的汇编程序代码, 我想立即指定指令字并将其放入可执行文件中。这应该看起来像这样
asm volatile (%x91, %x05, %x01, %x01);
任何人都知道我可以在哪里找到更多信息,如何做到这一点以及语法如何做到这一点(以上只是一个疯狂的猜测)。
非常感谢!
答案 0 :(得分:6)
asm volatile (
" .byte 0x91, 0x5, 0x1, 0x1 \n"
);
应该这样做。
找到文档答案 1 :(得分:1)