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变长数组的函数一样。 –