【发布时间】:2013-11-06 09:52:19
【问题描述】:
我是汇编语言的新手,对于某些代码,我需要获取用户指定的矩阵。 如何在 NASM 汇编语言中获取二维数组。 谢谢:)
我们可以像这样指定行数和列数
.DATA
NO_ROWS EQU 5
NO_COL EQU 3
【问题讨论】:
-
你知道如何获取单个输入吗?如果没有,请从弄清楚这一点开始。
我是汇编语言的新手,对于某些代码,我需要获取用户指定的矩阵。 如何在 NASM 汇编语言中获取二维数组。 谢谢:)
我们可以像这样指定行数和列数
.DATA
NO_ROWS EQU 5
NO_COL EQU 3
【问题讨论】:
汇编语言中没有二维数组,因为内存总是一维的。 (HLL 数组使用下面描述的技术)。
您必须使用 NASM 数据定义指令分配 NO_ROWS x NO_COL x ELEMENT_SIZE 字节的内存。
然后,如果您需要element(I,J),则需要将数组中的偏移量计算为
OFFSET = NO_COLS x ELEMENT_SIZE x J + ELEMENT_SIZE x I
现在需要的元素的地址是:
address = ARRAY_START_ADDRESS + OFFSET
【讨论】: