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