These bug files show you what kind of bugs MASM has. I've compiled all using MASM Ver 6.11d. If you compile them add the debugger '/d' and step over it carefully. Most bugs relate to invoke in 32bit segments. IF you don't know if something will work using it don't use it. Use callp instead, it's a macro I created in qlib.inc. It does the exact same job but is not as good but it works! It zero extends all parameters to dwords. (invoke will sub esp to align them when possible) It does no checking on the # of parameters passed. (invoke can give you an indication of any errors you made)