gpt4 book ai didi

c - 内联汇编问题

转载 作者:行者123 更新时间:2023-12-04 09:13:34 24 4
gpt4 key购买 nike

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

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);

任何人都知道我在哪里可以找到更多信息如何做到这一点以及语法必须如何做到这一点(以上只是一个疯狂的猜测)。

非常感谢!

最佳答案

asm volatile (
" .byte 0x91, 0x5, 0x1, 0x1 \n"
);

应该这样做。

您可以在 http://sourceware.org/binutils/docs/as/ 找到文档

关于c - 内联汇编问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4734414/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com