Borlands Tasm 4.1 generating faulty output problem
From R.Wieser@21:1/5 to All on Tue May 25 16:07:52 2021
I'm using Borlands Tasm 4.1 and TLink 184.108.40.206 on XPsp3 in a CMD box, and
have run in a situation where NTVDM throws an error because of an unknown opcode.
It looks like that it has nothing to do with my programming (jay !), but
with either of the above programs. Below are the relevant parts from the executable, the object and the list files.
The problem is the 0x00 injected at address 0x05D1 in the .EXE and address 0x09AA in the.OBJ, but *not* the .LST file (at 0x05D1). Among others it
causes the JMP to be one byte short, pointing to the last byte of the
command before the actual targetted command (causing the NTVDM to barf).
Notice that the second commandbyte at 0x05D3 in the .EXE does not match the
one at 0x09AC in the .OBJ file (presumably because of the assemble-time
fixup of the argument of the PUSH at line 1668 of the .LST file).
Remarkably, when I place a NOP (or any byte for that matter) just below the "jmp @@CmdGetDir2" at line 1664 in the .LST file the problem fully