wei@hpctdls.HP.COM (Bill Ives) (01/15/91)
One thing the G2 switch does is generate 80286 entry and exit code for normal functions. I don't know if it makes any difference when Windows switches are used, but it does for normal C programming. Specifically, it will generate ENTER/LEAVE instructions around functions.... I think it also generates 286/386 shift and move derivatives ( not sure though ). These generally make shifting a register easier. i.e. on an 8086 you have to load CL to do a muliple shift in a single instruction (or have repeated single shift instructions ): mov cl,4 shl ax,cl On a 286 it should become: shl ax,4 I think it will (or should) generate the PUSHA/POPA forms of register saving when the _saveregs directive is used in combination with the -G2 switch. Hope this helps a little Bill Ives HP CTD