Please don't post disassembly of code from outside the project. Thanks.
panic wrote:
I have some difficulties to understand what is done
Welcome to x86 firmware. Some day you may even grow to appreciate that feeling.
Is there a way to find out what these addresses are used for?
You have to look for a lot of different documentation, and piece together the complete picture on your own.
Get Ralf Brown's interrupt list. It includes an IO port list with some register explanations.
Also look at operating system programming documentation. This is 386 class hardware, read books about operating system programming on the 386 and on older hardware.
Writing a 386 operating system is also a good exercise to learn about the hardware.
There are good IA-32 books from Intel. They're a couple thousand pages.
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.
I would not expect that there is any good documentation about this.
Good luck and have fun!
//Peter