User Tools

Site Tools


blog:pushbx:2023:1017_early_mid_october_work

Early mid October work

2023-10-15

This week mostly involved updates to the Extension for lDebug system.

insref NOT fix

The instruction reference wrongly claimed that the NOT instruction changed the arithmetic status flags. This is not true. I fixed that, and in the same section added that NEG behaves as if subtracting from zero. I heard that NOT not changing flags was on oversight during the design of the 8086.

The least obvious and most notable case is that NOT doesn't affect FLAGS, apparently a design mistake by Stephen Morse when specifying the 8086 ISA. All the other standard ALU instructions that date back to 8086 affect at least some FLAGS, except for LEA which is sort of special.Peter Cordes, in a comment 2022-11-07 04:10:36Z, License: CC BY-SA 4.0

One Boolean instruction, NOT, is missing from the list of Boolean instructions that affect the flags. NOT does not affect the flags. This was a result of an oversight (I goofed!) when the processor was being defined.Steve Morse, The 8086/8088 Primer, page 98

TracList & tractest

The documentation got an update to list that the TracList option --local-offset disables the default offsets. This bit me as adding the switch manually for ELD debugging disabled tracing the debugger listing, which needs an offset of zero.

The other changes concern passing along (and handling as a "line") and reading a hint called TracList-add-offset= which can be used to add file-local (or global) offsets to a running TracList. This is to be used for debugging ELDs that may be loaded to any offset within the ELD code section.

symscr

One of the symbolic debugging scripts got updated to make it more usable for sending commands to a serial terminal connected to a debugger. sendser.pl now accepts a –bytesleep= switch specifying how long to sleep before sending each byte. A value of "0.01" seconds (equivalent to 10 milliseconds) is used in some examples, allowing 100 Bytes per second.

lDebug

Changes not specific to ELDs

ELD infrastructure

  • Hook AMIS interface, allowing to add AMIS functions in the 40h to 4Fh range (reserved for ELD extension functions) and monitor/change all AMIS functions
  • DOS input is no longer required to load ELDs, only DOS being available (not InDOS)
  • Add function intcall_ext for use by ELDs
  • Add links for amis_multiplex_number, try_debugger_amis_multiplex_number, and dd_store

ELD linker and architecture

Specific ELD changes

You could leave a comment if you were logged in.
blog/pushbx/2023/1017_early_mid_october_work.txt · Last modified: 2023-10-17 20:17:14 +0200 Oct Tue by ecm