gpt4 book ai didi

arrays - 64 位 NASM - 检索二维数组的元素

转载 作者:行者123 更新时间:2023-12-04 04:53:21 28 4
gpt4 key购买 nike

我需要在 NASM 中检索二维数组的元素 - 数组是 50x60 个字符,静态分配。 r13 存储数组的宽度, rsi 包含开始的地址, r8 和 r9 是索引(它们相应地对应于第一个和第二个坐标)。我试过运行:

imul r8, r13
mov rax, [rsi + (r8 + r9) * 8]

但它不起作用 - 我得到 beroset-p-603-invalid effective address .如何解决?

最佳答案

好吧,我已经设法做到了。此代码是从该程序的旧版本中修改后的复制粘贴,我使用的是动态分配的内存。因此,如果其他人收到此错误,请按以下方法解决:

mov r15, rsi ; duplicate the pointer, so it's not destroyed by the following operation
imul r8, r13
add r15, r8
mov rax, [r15 + r9]

编译并似乎工作

关于arrays - 64 位 NASM - 检索二维数组的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17098676/

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