Peter Stuge:
Please don't post disassembly of code from outside the project. Thanks.
ok. noted.
In particular I'm interested in 0x80, 0x84/0x85, 0x8c/0x8d.
From ports.lst:
----------P0080008F-------------------------- PORT 0080-008F - DMA PAGE REGISTERS (74612)
.. 0084 RW extra page register 0085 RW extra page register 008C RW extra page register 008D RW extra page register
So either something is being done with the DMA controller (seems unlikely in early boot) or these registers have a completely different meaning at that time in the platform lifecycle.
An idea is that, probably, these registers serve as scratchpad copy and recover ax and dx because they are modified during the subroutines.
-- panic