section .data global _g g: RESB 40 section .text global _malloc global _free global _bob %define _ip -48 %define p DWORD [ ebp + _ip ] %define _ii -44 %define i DWORD [ ebp + _ii ] %define _ix -40 %define x(i) DWORD [ ebp + _ix +4*(i)] _bob: push ebp mov ebp,esp sub esp,48 mov eax,40 push eax call _malloc add esp,4 mov p,eax mov ecx,i mov [_g + ecx*4],7 mov x(ecx),7 mov edi,p mov [edi +ecx*4],7 push edi call _free add esp,4 mov esp,ebp pop ebp ret