muta...@gmail.com
2021-03-12 10:14:12 UTC
My new BIOS concept worked:
https://groups.io/g/hercules-380/message/139
I would now like to run 16-bit programs while
remaining in 80386 mode.
I want to use the same trick used by MVS
"continents" (see above group).
I want to allocate 128k of memory so that I am
sure I have a 64k boundary, and then load the
16-bit module into that region.
Let's say that address is 0x12340000
I will then load eax/ebx/etc with that address.
Then I want to use 80386 instructions that never
disturb the high 16 bits of registers. I believe that
means putting a lot of db x'66' and db x'67' (or
something like that) in front of a lot of instructions
to make them do 16-bit operations instead of
32-bit operations.
I then need a compiler such as IA16 to actually
generate those instructions.
Then I can run 16-bit programs at native speed.
Can anyone see any flaw in that?
This would be purely tiny memory model of course.
Thanks. Paul.
https://groups.io/g/hercules-380/message/139
I would now like to run 16-bit programs while
remaining in 80386 mode.
I want to use the same trick used by MVS
"continents" (see above group).
I want to allocate 128k of memory so that I am
sure I have a 64k boundary, and then load the
16-bit module into that region.
Let's say that address is 0x12340000
I will then load eax/ebx/etc with that address.
Then I want to use 80386 instructions that never
disturb the high 16 bits of registers. I believe that
means putting a lot of db x'66' and db x'67' (or
something like that) in front of a lot of instructions
to make them do 16-bit operations instead of
32-bit operations.
I then need a compiler such as IA16 to actually
generate those instructions.
Then I can run 16-bit programs at native speed.
Can anyone see any flaw in that?
This would be purely tiny memory model of course.
Thanks. Paul.