有三种方法可以访问数组元素并将其存储在寄存器中?

时间:2015-07-22 18:06:18

标签: arrays assembly nasm

我设置了一个两元素的qwords数组。我试图找出三种方法可以访问第二个元素并将其存储在RDX中。

我相信我有一种方式:

mydata dq "1,2"


mov   rows,1
mov   col,2
mov   RDX,[mydata, rows, columns *8]

1 个答案:

答案 0 :(得分:0)

首先,您定义一个没有qoutations的数组:

mydaya dq 1, 2

由于只有一行,您的行号将为0。

您可以访问第二个数据项(列号为1,元素大小为8),如下所示:

mov   esi, mydata
mov   ebx, 1
mov   RDX, [esi + ebx * 8]

或:

mov   esi, 1
mov   RDX, [mydata + esi * 8]

或:

mov   RDX, [mydata + 8]