作者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