Hi Mulyadi,<br><br>Thanks for the response. I do agree with the issue concerning the no.of registers available are less for 32 bit to that of 64 bit.<br><br>But even in this case if parameters are more than the no of register for 32 bit, then also before executing int 80h interrupt it stores the parameters in the register and after that system call dispatcher puts them on the kernel stack of that process. So, how the case where more than no of registers are the parameters to the system call is handled.<br>
<br>Regards,<br>Rohan.<br><br><div class="gmail_quote">On Thu, Sep 8, 2011 at 8:12 AM, Mulyadi Santosa <span dir="ltr"><<a href="mailto:mulyadi.santosa@gmail.com">mulyadi.santosa@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hi Rohan :)<br>
<div class="im"><br>
On Wed, Sep 7, 2011 at 19:09, rohan puri <<a href="mailto:rohan.puri15@gmail.com">rohan.puri15@gmail.com</a>> wrote:<br>
> Doubt i have is whats the need for 32-bit intel arch to put parameters on<br>
> stack and not registers in a way similar to x86_64?<br>
<br>
</div>well, if you need to pass so many parameters, then x86 32 bit<br>
registers can not cope with that. You only have EAX, EBX, ECX, EDX,<br>
ESI, EDI as far as I could remember.<br>
<br>
probably in 64 bit, registers is way more so it's still possible to<br>
put them in registers, which is of course the fastest way to access<br>
them.<br>
<font color="#888888"><br>
--<br>
regards,<br>
<br>
Mulyadi Santosa<br>
Freelance Linux trainer and consultant<br>
<br>
blog: <a href="http://the-hydra.blogspot.com" target="_blank">the-hydra.blogspot.com</a><br>
training: <a href="http://mulyaditraining.blogspot.com" target="_blank">mulyaditraining.blogspot.com</a><br>
</font></blockquote></div><br>