小编Hei*_*inz的帖子

内联汇编程序问题

使用内联汇编程序我可以使用两个输入和一个结果指定一个添加操作,如下所示:

int a = 5;
int b = 5;
int res;

asm volatile (
" add %1, %2, %0          \n\t"
: "=r" (res)            
: "r" (a), "r" (b)       
: "%g0"                                                   
); 
Run Code Online (Sandbox Code Playgroud)

在32位架构上,这会产生一个如下所示的指令字:0x91050101

现在我想知道,而不是明确指定添加的汇编代码,我想立即指定指令字并将其放入可执行文件中.这看起来应该是这样的

asm volatile (%x91, %x05, %x01, %x01);
Run Code Online (Sandbox Code Playgroud)

任何人都有一个想法,我可以在哪里找到更多信息如何做到这一点以及语法如何做到这一点(上面只是一个疯狂的猜测).

非常感谢!

c assembly

2
推荐指数
1
解决办法
131
查看次数

标签 统计

assembly ×1

c ×1