I've searched the board and found various old posts addressing the "use MASM's invoke syntax without generating a jumptable" issue. However all the files that were attachted to those postings apparently disappeared (mostly macros).

Supposedly japheth, bitRAKE and Andycar used Macros to accomplish that. The other option seems to be using Hutch's L2EXTIA utility.

Could someone please post / send me one of those macros or point me in the right direction ?

Thanks in advance.
Posted on 2001-12-30 06:31:39 by jmp $FCE2
Here is one. japheth had a more condensed version.
(Link to thread originally posted in.)
Posted on 2001-12-30 12:42:22 by bitRAKE
Hmmm.... could someone please explain me the advantages / disadvantages of having a jump table? Smaller exe? Faster code? Just4fun? ;)
Posted on 2001-12-30 14:03:01 by bazik
You skip a jmp, but I think it's mostly for fun. :grin:
Posted on 2001-12-30 15:14:09 by bitRAKE
Thanks alot, bitRake :alright:
Posted on 2001-12-30 20:15:34 by jmp $FCE2

FF1578563412 call d.[012345678]
FF2578563412 jmp d.[012345678]
E867563412 call 012345678

As you can see, the "call relative" address is one byte shorter
(this is the code normally genrated). However, this call ends up
at the "jmp indirectly" code (the jumptable). Now you can calculate
yourself how many times you have to call an API before you start
saving bytes, with the jumptable approach.
Posted on 2001-12-30 22:33:07 by f0dder
L2EXTIA is now included with MASM32 V7. Hutch also posted a download link in this thread:


Posted on 2002-01-01 19:55:37 by S/390
its a spagetti link fest

Posted on 2002-01-01 20:22:07 by Anunitu