User Tools

Site Tools


blog:pushbx:2024:0428_mid_late_april_work

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

blog:pushbx:2024:0428_mid_late_april_work [2024-04-28 17:47:40 +0200 Apr Sun] (current)
ecm created
Line 1: Line 1:
 +====== Mid late April work ======
 +
 +
 +**2024-04-21**
 +
 +This week I worked on several projects.
 +
 +
 +===== Instruction reference =====
 +
 +  * [[https://hg.pushbx.org/ecm/insref/rev/fb3914592257|Specify sizes of some imm operands]]
 +  * [[https://hg.pushbx.org/ecm/insref/rev/bb1d521ac31f|Fix wrong parentheses]]
 +  * [[https://hg.pushbx.org/ecm/insref/rev/ebafc620974d|Fix NTVDM BOP]], it is an LES not LEA
 +
 +
 +===== MSDebug =====
 +
 +  * Bugfix: [[https://hg.pushbx.org/ecm/msdebug/rev/8d9ceac8c59f|CALL and JMP with an operand of the form SSSS:OOOO]] is always assembled as far, even if the segment matches the segment being assembled into (bug in original MS-DOS Debug)
 +  * [[https://hg.pushbx.org/ecm/msdebug/rev/a2b4008ff7a6|Create a map file]]
 +  * [[https://hg.pushbx.org/ecm/msdebug/rev/827ff6c52ee0|Insert maximum height and width for listing]] using page directives
 +  * [[https://hg.pushbx.org/ecm/msdebug/rev/b5073b494fe8|Remove a trailing question mark]]
 +  * Feature added: [[https://hg.pushbx.org/ecm/msdebug/rev/1728c5172ae4|Support semicolon at start of line]] as comment indicator
 +  * [[https://hg.pushbx.org/ecm/msdebug/rev/414c058aa051|Use tractest convmasm.pl]] to create trace listing file for lDebug TracList
 +
 +
 +===== TracList / tractest =====
 +
 +  * [[https://hg.pushbx.org/ecm/tractest/rev/e7ded8de843b|Add the E.]] (again)
 +  * [[https://hg.pushbx.org/ecm/tractest/file/68653f1d72d8/convmasm.pl|Add convmasm.pl script]] to convert MSDebug map and listing files to a trace listing usable by us
 +  * [[https://hg.pushbx.org/ecm/tractest/file/f34bc863449f/convdebx.pl|Add convdebx.pl script]] to convert Debug/X listing file to a trace listing usable by us
 +
 +The Debug/X listing file needs to be created by [[https://github.com/ecm-pushbx/JWasm/commits/ecm-list-relocations/|a patched JWasm]] to really be useful for us. [[https://github.com/Baron-von-Riedesel/JWasm/pull/23|This patch makes the assembler mark relocations in its listing]], in a style similar to NASM.
 +
 +
 +===== lDebug =====
 +
 +  * Assemble and disassemble [[https://hg.pushbx.org/ecm/ldebug/rev/fa6e1afbb84a|shift/rotate with BYTE 1]] for 186+ form with an imm8 that happens to equal 1
 +  * mktables: [[https://hg.pushbx.org/ecm/ldebug/rev/beacda5ecb5c|Check that no duplicate keys exist]]
 +  * [[https://hg.pushbx.org/ecm/ldebug/rev/a0dc5cd5f0cf|Allow CALL/JMP FAR imm]], a form of far branch that takes a default segment from the a_addr (segment being assembled into). Compatible to MSDebug. As suggested [[https://github.com/Baron-von-Riedesel/DOS-debug/commit/9a7c66cebe17254db65de4f70f61a0aa22ee8682#diff-20872ca9cde35e29fad36f69db24d50e1fab449f3e4080e60562e7fe0176de21R7|in a comment to Debug/X]].
 +  * [[https://hg.pushbx.org/ecm/ldebug/rev/b8b31414263f|Add new type OP_IMM_NOT_EXTEND]] which will disassemble with a WORD or DWORD size keyword if the immediate is in imms8 range
 +  * Assembler: Allow [[https://hg.pushbx.org/ecm/ldebug/rev/c762c0c05464|to specify displacement size]] within square brackets, allowing to specify BYTE, WORD, or DWORD size. If permissible the displacement is extended to this size. ([[https://hg.pushbx.org/ecm/ldebug/rev/eefa3be3acb7|1]], [[https://hg.pushbx.org/ecm/ldebug/rev/b15dffadf7cb|2]])
 +  * Assembler: [[https://hg.pushbx.org/ecm/ldebug/rev/a8a228f21433|Forbid assembling MOVSX/MOVZX]] with 32-bit destination and unspecified source size (new operand type OP_ASM_MOVX)
 +
 +{{tag>insref msdebug traclist ldebug}}
 +
 +
 +~~DISCUSSION~~
  
blog/pushbx/2024/0428_mid_late_april_work.txt ยท Last modified: 2024-04-28 17:47:40 +0200 Apr Sun by ecm