0

我无法理解如何在汇编中指向 2x2 矩阵中的坐标。

这是我的代码:

matrix     db '0','0','0'   ; I define 3x3 matrix
row1       db '0','5','0'
row2       db '0','0','0'

; I modify item "A1"
mov bx, 0
mov si, 0
mov matrix[BX][SI], 'x'

我注意到增加 bx,指向下一列/字节,但我不明白我必须为 SI 分配什么值,以便我可以指向另一行。

例如如何修改矩阵(5)中间的字节?

4

1 回答 1

1

如果要使用 SI 选择行,则需要将其设置为 rowIndex*3。请注意,语法“matrix[BX][SI]”并不像在高级语言中那样表示二维数组。它与“矩阵[BX + SI]”同义。矩阵中的中间元素的偏移量为 4,因此您可以通过将 BX 设置为 1 并将 SI 设置为 3 来访问它,尽管使用 BX 来选择行会更传统。

于 2013-06-26T04:52:19.583 回答