|
|
— |
blog:pushbx:2024:0428_mid_late_april_work [2024-04-28 17:47:40 +0200 Apr Sun] (current) ecm created |
| ====== 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~~ |
| |