a.out for msdos (Announce)
Hi DosWorld (and anyone else interested)
> Sorry, i am not check Robert's work. I'll check as86.
> (Right now, i'm sure he produce MZ in tiny or small memory model.
> But need check - may be Robert invent something and escape from this
> restriction?)
Today I finally managed to prove that as86 works on a large memory model program. Even though it uses a.out for the object code format. I made the PDOS bootloader large memory model, in preparation for converting it to huge. Here is the makefile I used:
https://sourceforge.net/p/pdos/gitcode/ci/master/tree/src/makeio.std
I was wondering if I was going to hit some roadblock that I hadn't thought of, but nothing so far, to large. It's unlikely that there will be a roadblock found when switching to huge.
There are a couple of anomalies - I haven't attempted to do the stack pointer properly yet, nor clear BSS. And I had to hardcode the opcode for retn. I'll look at cleaning up those things soon, and hopefully don't find a roadblock then.
It took a huge effort just to get to this point, because I needed to isolate faults in both as86 and ld86.
Robert's goal for as86 is to accept masm syntax, but not necessarily produce byte-identical object code, so I can't easily compare binaries to see anything wrong.
Good news is that even coped with mixing RM16 and PM32 code.
Pretty impressive for something as simple as a.out.
Oh - one other restriction. You can't use the "seg" keyword, because a.out can't carry that across. But you don't actually need to use that keyword. There is a way to work around that - just declare a variable with "dd" that references the function you want to get the segment of.
And if the C compiler is generating the "seg" keyword, then declare a function pointer.
My plan is to get either SubC or Octogram C (both public domain, but both not reaching C90) to generate huge memory model code, and not use the "seg" keyword, so no mucking around required.
BFN. Paul.
Complete thread:
- a.out for msdos - kerravon, 17.05.2023, 17:36 (Announce)
- a.out for msdos - kerravon, 19.05.2023, 15:53
- a.out for msdos - segin, 08.08.2023, 17:51
- a.out for msdos - Rugxulo, 25.09.2023, 00:50
- a.out for msdos - tkchia, 29.09.2023, 19:47
- a.out for msdos - Khusraw, 30.09.2023, 15:14
- a.out for msdos - tkchia, 01.10.2023, 17:12
- a.out for msdos - Khusraw, 30.09.2023, 15:14