How to Dynamically Allocate Memory Using Assembly and System Calls Under Linux
I'm looking for some good code examples of dynamic memory allocation using an assembly language under Linux and using system calls, not malloc and friends. What are some of the simplest but effective ways to do this? On Intel 386+ computers. brk(2) . And take a look at ELF . On Linux mmap2 is a sensible system call to use for this at a low level. It takes 6 arguments, so in IA32 you can call it using: mov eax, 192 ; mmap2 xor ebx, ebx ; addr = NULL mov ecx, 4096 ; len = 4096 mov edx, $7 ; prot = PROT_READ|PROT_WRITE|PROT_EXEC mov esi, $22 ; flags = MAP_PRIVATE|MAP_ANONYMOUS mov edi, -1 ; fd =