gpt4 book ai didi

c - 如何用汇编语言获取 'OR' 参数?

转载 作者:行者123 更新时间:2023-11-30 21:20:39 25 4
gpt4 key购买 nike

例如(在 C 语言中)...

int main() {
fxn(EXAMPLE_VALUE | EXAMPLE_VAL | EXAMPLE_V);
}

如何用汇编语言做到这一点?

最佳答案

与 C 中的方式相同。

global main
main:
mov edi, EXAMPLE_VALUE | EXAMPLE_VAL | EXAMPLE_V
call fxn ; AMD64 SysV ABI: first arg in rdi
xor eax,eax
ret

(或者,如果这不是 main,则使用隐式 return 0,优化对 jmp fxn 的尾部调用。)

asm 语法允许复杂的表达式,只要一切都是汇编时常量。通常也允许将链接时间常量(例如符号地址)添加/减去其他常量,例如[ static_buf + 10 ]

请参阅标记 wiki 以获取 NASM 文档等的链接

其他架构的汇编器类似;这不是特定于 x86 的。

关于c - 如何用汇编语言获取 'OR' 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35994647/

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