Open Watcom assembler supports several TASM ideal mode features, including procedures. However, at least the 32-bit Windows version of the assembler very often crashes if the assembly code contains procedures with arguments. I have attached a simple test case (renamed to .TXT) that uses the syntax causing a crash. It should be assembled using the following switches: -0 -mm -zcm=tasm .
I did some investigation, and I think I have found the cause of the bug: function proc_exam (in direct.c) does not initialize the "sym" field of the "paranode" structure , yet this pointer is later dereferenced in function WritePrologue. According to my tests, this bug was already present in Open Watcom 1.9.
wa_crash.txt
Open Watcom assembler supports several TASM ideal mode features, including procedures. However, at least the 32-bit Windows version of the assembler very often crashes if the assembly code contains procedures with arguments. I have attached a simple test case (renamed to .TXT) that uses the syntax causing a crash. It should be assembled using the following switches: -0 -mm -zcm=tasm .
I did some investigation, and I think I have found the cause of the bug: function proc_exam (in direct.c) does not initialize the "sym" field of the "paranode" structure , yet this pointer is later dereferenced in function WritePrologue. According to my tests, this bug was already present in Open Watcom 1.9. wa_crash.txt