作者king19880326 (OK的啦~我都可以接受)
看板ASM
標題[問題] 請問malloc, calloc這類c語言在assembly的對應指令
時間Mon Jul 14 02:27:06 2008
這學期學了組語
在課堂上老師解釋的時候
時常會拿c語言跟組語之間的轉換來給我們作為比較
可是我最近在寫的時候突然發現
如果說, 一個c程式對於變數的靜態宣告
ex. int a = 5
其實就是在組語程式的最前面, 先給了一塊變數位址
那動態的呢(ex. malloc, calloc)??
翻了整本教科書, 實在想不到什麼組語的指令可以做到這件事 OTZ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.243.43
1F:推 sunneo:靜態的通常是sub esp, N吧? 07/14 02:46
2F:→ sunneo:動態的是透過Heap,你只能說他是 call _malloc 07/14 02:46
3F:→ sunneo:因為malloc是一__cdecl calling convention的global func 07/14 02:47
4F:→ sunneo:由作業系統進行底層呼叫以及記憶體管理. 07/14 02:48
5F:推 ccu5566:由底層控制, x86有 int 可以做這些事 07/14 09:32
6F:推 Golven:若是在DOS下, 則是DOS呼叫... mov ah,XX int 21h 07/14 09:34
7F:→ Golven:XX=48h 相當於 malloc, 49h 則是 free, 4ah 則是 realloc 07/14 09:35
8F:推 loveflames:樓上以回文的方式詳細說明的話可收至 07/14 19:49
9F:推 laxw:都是 call OS 提供的 function. DOS是 int, Win 是 HeapAlloc 07/21 23:04