📄 alloca.s
字号:
#! alloca() - allocate space on the stack Author: Kees J. Bot! 2 Dec 1993.sect .text; .sect .rom; .sect .data; .sect .bss.sect .text .align 16.define _alloca_alloca:#if __ACK__ pop ecx ! Return address pop eax ! Bytes to allocate add eax, 2*4+3 ! Add space for two saved register variables andb al, 0xFC ! Align mov ebx, esp ! Keep current esp sub esp, eax ! Lower stack mov eax, esp ! Return value push 4(ebx) ! Push what is probably the saved esi push (ebx) ! Saved edi ! Now ACK can still do: ! pop edi; pop esi; leave; ret push eax ! Dummy argument jmp ecx#else pop ecx ! Return address pop eax ! Bytes to allocate add eax, 3 andb al, 0xFC ! Align sub esp, eax ! Lower stack mov eax, esp ! Return value push eax ! Dummy argument jmp ecx#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -