gpt4 book ai didi

assembly - 使用 fasm 汇编器将寄存器值移动到汇编语言中的内存地址时出现问题?

转载 作者:行者123 更新时间:2023-12-05 04:15:41 37 4
gpt4 key购买 nike

我对这一件事真的很困惑。我正在阅读 x86 处理器的程序集编程一书,并且正在阅读有关 mov 指令及其工作原理的信息。所以,作者说下面的指令是有效的mov mem,reg .....基本上将寄存器值移动到内存地址。

现在这是我尝试过的,但我不断收到这个称为无效操作数的错误。谁能解释一下到底是什么错误。

#fasm#

mov ax,[var] ;the value 67 is moved to the ax register works perfect
mov myvar,ax ; my aim is to move the value 67 to the memory location of ;myvar but then i keep getting this error - Invalid operand? why is that?

var: dw 67
myvar: dw ?

最佳答案

你能试试这个吗:

mov [myvar], ax
  • myvar 是一个常量,保存为变量分配的内存地址。
  • [myvar] 指示在 myvar
  • 指向的地址处获取/存储内存中的值

所以:

mov ax, myvar  ; load the address of myvar in ax
mov ax, [myvar]; load the value stored at address myvar
mov [myvar], ax; store the value of ax at address myvar

关于assembly - 使用 fasm 汇编器将寄存器值移动到汇编语言中的内存地址时出现问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31051971/

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