Early September work
fixupp
To help port the default overlay manager of WarpLink to NASM, we had to use symbols starting with a dollar sign. But NASM didn't support those. (In the upcoming NASM v3.00 some support has been added.)
To bridge this gap, I modified the trusty fixupp utility once again. It will now replace one or more leading "D." in section, class, or symbol names by a dollar sign each.
fixmem
I modified fixmem during my use for porting the WarpLink overlay manager.
-
-
-
-
-
-
-
Fix two bugs (capitalisation sensitive match and priority of keywords) so that indirect branch with a DWORD keyword is converted to a far branch.
-
-
-
-
-
-
-
instsect
Add a NASM v2.17 / v3.00 %note
directive to reference nested listing files, used for the boot sector files included using incbin. This allows to create a complete .tls trace listing that includes the boot sector loaders.
lDebug
-
-
-
Comment out a line of a multi-line comment that was misdetected by convlist.pl as a segment directive.
-
-
-
WarpLink
Update acbp byte with the correct alignment order if DWORD present. (The changeset message includes a lengthy test case.) This affected the then most recent lDOS kernel build which got a DWORD alignment for the overall SYSINITTRAIL where a PARA alignment was desired.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Add a new section mmacro to nasm.mac and nasm2.mac which avoids the segment attribute redefinition warning if struc uses __SECT__ to restore a section.
-
-
ident86
The updates to the identicalisation tool are mainly to help identify NASM encoding choice differences, which turned out to all be in xchg reg,reg instructions.
Add -D switch to dump all instructions with different byte values, even if the semantics mean "no difference".
Add -Y switch to highlight (with reverse video) the length indicators of disassembled instructions with mismatching byte values.
-
-
-
-
-
-
-
-
If a firstdifference instruction is not found during the .tls scan, and it points into an inverted map range,
set start to firstdifference. This avoids disassembling some instructions before the different byte unnecessarily. (This was apparent only with the -D switch.)
-
-
-
-
-
-
tractest
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
In traclist.pl
allow offsets to be negative, as needed for lDOS device bases. (The DOSENTRY section at segment 60h contains entries addressed using segment 70h, needing a minus 256 offset for TracList.)
lDOS kernel