June 10, 2011
7:35 p.m.
Platform: x86 32 bit system_call() ,afetr doing some checks, looks up in the sys_call_table and finds the correct address of the system call and jumps to it. i.e.: call *sys_call_table(,%eax,4) Can you please explain this syntax to me. I think 'call' is the processor instruction which works on a function name. * is used in gas syntax to denote that the address following it is to be used as the jumping address. Tell me if I m wrong so far. () is used to index a memory location(GAS syntax again, I think). Please explain to me (,%eax,4). I have trouble understanding this syntax.