5.18. 5.18 Procedure Pointers

The 80×86 call instruction allows three basic forms: direct calls (via a procedure name), indirect calls through a 32-bit general purpose register, and indirect calls through a double word pointer variable. The call instruction supports the following (low level) syntax:

call Procname;    // Direct call to procedure "Procname" (or stmt label).
call( Reg32 );    // Indirect call to procedure whose address appears
                  //   in the Reg32 general purpose 32-bit register.
call( dwordVar ); // Indirect call to the procedure whose address appears
                  //   in the dwordVar double word variable.

The first form we've been using throughout this chapter, so there is little need to discuss it further here. The second form, the register indirect call, ...

Get Art of Assembly Language, 1st Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.