Message board for the users of flat assembler.
> OS Construction > Hints about segmentation...
Been thinking about this lately, here's how I'll set up things for files more
1. First Load only the first 64K (little less), at 0x3000:0x0000
2. Then Load the other 64K (little lesser) at 0x4000:0x0000
3. Copy this code to somewhere at the end of segment 0x3000,
mov ax, 0x4000 mov es, ax mov ds, ax call 0x4000:0x0000
Enjoy up to 128K!
The loading part would be a little tougher since I would have to partially load the
file into RAM.
So is this possible?
What did DOS use? Can someone explain me or point to a link that theoretically describes
how the MZ Format functioned? What was the trick behind it?
"Those who can make you believe in absurdities can make you commit atrocities" -- Voltaire https://github.com/Benderx2/R3X
|11 Jan 2014, 16:15||
> So is this possible?
If you insist, YES.
> What does DOS use?
> Can someone explain me or point to a link that theoretically describes
> how the MZ Format functioned? What was the trick behind it?
COM never has fixups, but MZ EXE has fixups if it has far calls.
RTFF (on the top of the DOS subforum):
|11 Jan 2014, 16:52||
why don't you just allow access to the full 1MB? it seems to me that your trying to bend over backwards for a user code model that you can't even enforce. simply make the remaining regions dynamically allocatable and allow the user access to them by changing the value of the segment registers. that way the user can determine dynamically how much memory remains and act accordingly.
|12 Jan 2014, 00:02||
< Last Thread | Next Thread >
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.