From: "stefan fröberg" Newsgroups: comp.os.msdos.djgpp Subject: STACK (Enter, Leave, etc...) Date: Fri, 1 Oct 1999 17:15:24 +0300 Organization: SAUNALAHDEN SERVERIN asiakas Lines: 34 Message-ID: <7t2fgv$1hu$1@tron.sci.fi> NNTP-Posting-Host: mkccxcviii.hdyn.saunalahti.fi X-Newsreader: Microsoft Outlook Express 4.72.3110.5 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hello fellow coders ! In my long (well, not so long) travels with NASM & DJGPP I have encountered following unanswered mysteries: - Is the instruction "enter n,0" the same thing as doing: push ebp mov ebp,esp sub esp, n bytes Also, the last part of the "enter" instruction has something to do with the (function nesting ?) in Pascal and I should not worry about it, right ? - The instruction "leave" performs the same as: mov esp,ebp pop ebp right ? - If I use the "enter n,0" instruction to set the stack frame pointer and allocate space for local variables do I have to set instruction "add esp,n bytes" before the "leave" or will the "leave" take care of unallocating space of the local variables ? - Is there use for the "ret n bytes" instruction in C ? (That should unallocate passed parameters and local variables but the above thing should also do that, right ?) Thanks for your time ! traveler AT netti DOT fi