问题描述
所以我有这个数组:
fib BYTE 9,123,92,0
我希望能够访问数组的不同元素并将它们分别移到寄存器中。
到目前为止,我已经注意到可以执行以下操作:
mov al,fib + 2
将第三个元素值92移到al寄存器中。
但是,如果我尝试这样做:
mov ah,2
mov al,fib + ah
为了使我可以更改ah的值,从而更改我要移至al的元素,汇编器表示第二行是“对寄存器的无效使用”
所以我的问题是,有什么方法可以重写第二行,从而允许我访问fib数组中元素的值,该值从一开始就被偏移了存储在啊?
编辑:
我正在Windows 10的Visual Studio中编写此代码。目标平台是x86。整个源代码是:
.386
.model flat,stdcall
.stack 4096
ExitProcess PROTO,dwExitCode: DWORD
.data
fib BYTE 9,0
.code
main PROC
mov bx,2
mov al,[fib + bx]
INVOKE ExitProcess,0
main ENDP
END main
考虑到这只是我尝试学习更多有关汇编语言数组的尝试,实际上并没有太多内容
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)