Assembly 在程序集中声明和定义数组和矩阵?
似乎我没有足够好的汇编文档,至少没有一个是可以理解的Assembly 在程序集中声明和定义数组和矩阵?,assembly,x86-16,Assembly,X86 16,似乎我没有足够好的汇编文档,至少没有一个是可以理解的 有人能举一个简单的例子说明如何在汇编中声明数组和矩阵吗?以及可能如何修改其中的项目。这将对我和其他许多人有很大帮助。Emu8086语法与MASM语法几乎相同,因此要声明一个未初始化的数组,该数组将包含3个字节: arr1 db 3 dup (?) 我使用emulator提供的示例解决了这个问题 基本上,汇编中的矩阵声明与常规变量相同,例如2x2矩阵声明如下: matrix db ?,?,?,? ; Obviously `?` ca
有人能举一个简单的例子说明如何在汇编中声明数组和矩阵吗?以及可能如何修改其中的项目。这将对我和其他许多人有很大帮助。Emu8086语法与MASM语法几乎相同,因此要声明一个未初始化的数组,该数组将包含3个字节:
arr1 db 3 dup (?)
我使用emulator提供的示例解决了这个问题 基本上,汇编中的矩阵声明与常规变量相同,例如2x2矩阵声明如下:
matrix db ?,?,?,? ; Obviously `?` can be replaced by any value
or
matrix db dup('?')
然后用户决定一行的结束位置和另一行的开始位置。例如,如果我们有一个字节为1,2,3,4的变量,用户可以认为1,2是一行,3,4是另一行。p>
这是您指向矩阵中项目的方式:
mov bx,0
lea si,matrix
mov matriz[si][bx],0 ; [si][bx] holds the value of the first cell
现在,如果每行包含2个项目,则只需执行此操作即可转到第二行:
add bx,2
mov matriz[si][bx],1 ; Now [si][bx] points to cell 0x1