如何创建程序集中寄存器定义的大小的初始化数组?

时间:2019-06-14 21:02:05

标签: arrays assembly x86 nasm

我目前正在尝试在汇编中初始化数组,其大小由寄存器中的数字定义。我也在使用NASM,并进行了32位编译。

我已经尝试使用时间来定义字节数,但是它不起作用,因为时间需要一个常量而不是一个寄存器。

mov bl, bh
mul bl, 512
sectors times bl db 0

bh是我正在使用的功能的输入寄存器。

组装时,NASM输出错误:

错误:提供给TIMES的非恒定参数

有人知道我如何使用寄存器作为大小来创建0数组吗?

编辑:我决定直接将数据写入内存,而不是随时间初始化。

编辑2:这是我写的驱动程序:https://pastebin.com/JKdUaeH5

0 个答案:

没有答案