2
A
回答
3
也許this article about heap可以幫助你。
0
您沒有說明哪個操作系統,但在Windows下,VirtualAlloc是分配粗體內存塊的簡單方法。它返回一個指針,您可以將其加載到寄存器中並用作基地址。
invoke VirtualAlloc,NULL,size,MEM_COMMIT+MEM_RESERVE,PAGE_READWRITE
mov [eax],something
0
你也可以用一個靜態的大小上堆在你的函數的開頭分配內存:
proc yourFunction stdcall param1:DWORD
local yourData[256]:BYTE
;...
endp
它具有一個靜態的大小(在上面的例子256個字節)的缺點,但您不必調用VirtualAlloc等plattform特定的API,並且在離開函數時會清除它(無需跟蹤分配的數據並調用VirtualFree())。
相關問題
- 1. FASM - 添加到啓動HKCU
- 2. 動態數組
- 3. 動態數組
- 4. 靜態數組的動態數組
- 5. 靜態或動態數組
- 6. 動態和靜態數組
- 7. Fasm「while」問題
- 8. FASM - x64與x86
- 9. 印刷用FASM
- 10. ASM:MASM,NASM,FASM?
- 11. 與動態數組
- 12. Java動態數組
- 13. 動態數組名
- 14. OCaml:動態數組?
- 15. c99動態數組
- 16. Android動態數組
- 17. delphi動態數組
- 18. 動態數組鍵
- 19. 從動態數組
- 20. C動態數組
- 21. 動態數組類
- 22. 動態數組C++
- 23. C++動態數組
- 24. 動態數組javascript
- 25. C#動態數組
- 26. PHP動態數組
- 27. JAVA動態數組
- 28. 動態ng-repeat與動態數組
- 29. C++動態數組1維非動態
- 30. ASM x86中的函數參數FASM
或者你可以'sub rsp,rax'來保存一個運行時變量的棧空間,就像你從一個C編譯器獲得一個帶有本地C99變長數組的函數一樣。 –