我无法理解如何在装配中指向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)中间的字节?
答案 0 :(得分:1)
如果要使用SI选择行,则需要将其设置为rowIndex * 3。注意,语法“matrix [BX] [SI]”并不像在更高级语言中那样表示二维数组。它与“matrix [BX + SI]”同义。矩阵中的中间元素的偏移量为4,因此您可以通过将BX设置为1并将SI设置为3来访问它,尽管使用BX选择行会更常规。