Как мне создать инициализированный массив размера, определенного регистром в сборке? - PullRequest
0 голосов
/ 15 июня 2019

В настоящее время я пытаюсь инициализировать массив в сборке, размер которого определяется числом в регистре.Я также использую NASM и компилирую для 32 бит.

Я уже пробовал использовать времена для определения количества байтов, но это не работает, потому что времена ожидают константу, а не регистр.

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

bh - это регистр ввода для выполняемой мной функции, в которой она используется.

При сборке NASM выдает ошибку:

ошибка: непостояннаяаргумент, предоставленный TIMES

Кто-нибудь знает, как я могу создать массив нулей, используя регистр в качестве размера?

РЕДАКТИРОВАТЬ: я решил записать данные непосредственно в память, а не инициализировать егос раз.

РЕДАКТИРОВАТЬ 2: Вот драйвер, который я написал: https://pastebin.com/JKdUaeH5

...