2011-12-13 3 views
0

私はアセンブリプログラムの途中で、配列を宣言したいと思います。私はレジスタに配列のサイズを持っており、要素のタイプ(各要素の数は何バイトか)を知っています - この配列のヒープに領域を確保するにはどうしたらいいですか? mallocを呼び出す必要はありますか?アセンブリ - プログラム中に配列スペースを予約しますか?

+1

アセンブラを? –

+0

IA32アセンブリ__ – user973758

+1

*どのアセンブラ*? –

答えて

0

"malloc()"は、Cランタイムライブラリの生き物です。

アセンブリから「malloc()」を呼び出すことはできますが、Cランタイムシステムを最初に初期化することが条件です。

CとC++の両方がこれを自動的に行います。 "main()"が呼び出される前にここでは、Windows上の用心するためにどのような標準C関数に関するマイクロソフトからのリンクをだ

:たとえば

は、ここではARM-bassedプラットフォーム上でそれを行う方法については、一方のリンクです:

0

私は本当にmallocを呼び出すのが最善の方法だと思います。

include 'win32a.inc' 
... 
invoke malloc,eax 
mov  [myHeap],eax 

チェックアウト:FASMのためにこのコードを考えてみましょうhttp://www.delorie.com/djgpp/doc/ug/asm/calling.html

+0

ありがとう、私はそれがmallocでなければならないかもしれないと思った。 NASMのコードは似ていますか? – user973758

+0

私はNASMのために_mallocと思う – Mikhail

関連する問題