gpt4 book ai didi

assembly - ASM - "%"用于什么?

转载 作者:行者123 更新时间:2023-12-01 08:16:44 30 4
gpt4 key购买 nike

“%”在汇编中有什么用?例如,有时一条指令写成:

movl %eax, %ebx

其他时候写成:

movl eax, ebx

(没有百分比符号)有什么区别?

最佳答案

对于所有汇编程序,当您需要引用恰好与寄存器同名的符号时,就会出现问题。例如,如果你有一些包含函数“int eax()”的 C 代码,并且你将它与一些执行“mov ebx,eax”的汇编代码链接,那么汇编器需要知道“eax”是寄存器还是函数。

为了解决不同的组装者做不同的事情。一些(例如 NASM)会假设“eax”是寄存器,并且需要某种前缀来表示不明确的符号(例如“$eax”来指代符号而不是寄存器)。其他人(例如 GAS)则相反,并在注册名称前添加前缀;有时即使根本没有歧义(例如,“%eax”指代寄存器,“eax”指代符号)。

关于assembly - ASM - "%"用于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9238364/

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