gpt4 book ai didi

assembly - 我可以将 64 位常量添加到 64 位寄存器吗?

转载 作者:行者123 更新时间:2023-12-04 17:49:43 25 4
gpt4 key购买 nike

在我的 64 位 Intel 机器上,以下代码有效:

mov rdi, 1 << 40
add r10, rdi

并且这个看起来相当类似的会产生警告并且不起作用:
add r10, 1 << 40

我应该坚持第一还是我错过了什么?这种行为似乎很尴尬。

代码 nr 2 产生的警告:
warning: signed dword immediate exceeds bounds

最佳答案

mov r/m64, imm64 有一个操作码,但没有 add r/m64, imm64 的操作码在 x86-64 指令集中。换句话说:您不能为 add 使用 64 位立即数操作数,但您可以为 mov (有许多指令没有 imm64 变体;您可以查看英特尔软件开发人员手册中的指令集引用以检查哪些指令具有此类变体,哪些没有)。

关于assembly - 我可以将 64 位常量添加到 64 位寄存器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020589/

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