Использование памяти, возвращаемой вызовом malloc в NASM

Я использую компилятор nasm для компиляции моего кода в объектный файл, а затем вызываю gcc ' компоновщик, чтобы связать этот объектный файл для создания окончательного исполняемого файла. Это означает, что у меня есть доступ к библиотекам времени выполнения C.

Мне нужно выполнить динамическое распределение памяти, поэтому я вызываю malloc следующим образом

push 20 ;push amount of bytes malloc should allocate    
call _malloc ;call malloc
add esp,4 ;undo push

Адрес выделенной памяти возвращается в регистре eax, но тогда как мне использовать адрес для инициализации этой позиции значениями?

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

5
задан rkhb 25 April 2017 в 09:58
поделиться