inc 指令更改数组中的下一个值
inc instruction changes next one value in an array
我声明这个数组:
array dw 10 dup(0)
但是当我想用这个增加一个值时:
mov bx, 5
inc array[bx]
它将下一个更改为 256,并将正确值更改为 1:
Like this
您的数组在内存中初始化这 20 个字节:
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
说明
mov bx, 5
inc array[bx]
将数组更改为
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
因为 BX
用作从数组开头开始测量的偏移量。
您发布的屏幕截图很容易通过尝试可视化数组 中的 word-sized 元素创建,但将算法中使用的指针递增 1,而不是提高它2 的指针是正确的.
0,0 0:
0,0 0:
0,0 0:
0,0 0:
0,1 256:
1,0 1:
0,0 0:
0,0 0:
0,0 0:
0,0 0:
0,0 0:
验证是否是这种情况...
我声明这个数组:
array dw 10 dup(0)
但是当我想用这个增加一个值时:
mov bx, 5
inc array[bx]
它将下一个更改为 256,并将正确值更改为 1: Like this
您的数组在内存中初始化这 20 个字节:
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
说明
mov bx, 5
inc array[bx]
将数组更改为
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0
因为 BX
用作从数组开头开始测量的偏移量。
您发布的屏幕截图很容易通过尝试可视化数组 中的 word-sized 元素创建,但将算法中使用的指针递增 1,而不是提高它2 的指针是正确的.
0,0 0:
0,0 0:
0,0 0:
0,0 0:
0,1 256:
1,0 1:
0,0 0:
0,0 0:
0,0 0:
0,0 0:
0,0 0:
验证是否是这种情况...