DOS-like OS for Intel 8086 / NEC V30
Go to file
2019-10-08 10:22:31 +00:00
boot Rename rdos.sys to rdos.bin 2019-09-29 21:26:59 +00:00
debug Rename printf file for more consistent naming 2019-09-20 23:39:57 +00:00
kernel Improve register hygiene 2019-09-29 21:33:28 +00:00
lib Advance on 8086 emulator 2019-10-01 21:35:01 +00:00
programs Advance work on emulator/assembler combo 2019-10-04 21:54:10 +00:00
utils Add string prefixes and inc/dec to emulator 2019-10-04 22:54:37 +00:00
.gitignore Ignore emul binary in the future 2019-10-03 17:01:42 +00:00
Makefile Rename rdos.sys to rdos.bin 2019-09-29 21:26:59 +00:00
README.md Write down some ideas in README 2019-10-08 10:22:31 +00:00

Memory Layout

On a 8080, there are no segments, the addresses are as displayed.

On on the 8086, a single segment with a value of 0x0100 is assumed. This implies that the first 4k of memory are not used.

The BDOS may be recompiled for starting at a lower address, in this case, the minimum memory requirement may be less than 64k.

|Start|Size|Function| +-+-+-+ |F000|4k|BDOS and hw drivers| ||var|BDOS data| |SP|var|Stack, growing down| |||Free memory| |0100|up to stack|Transient Program Area| |0080|128 bytes|Command line and disk buffer| |0000|128 bytes|System data area|

Application program interface

It is using the call 5 convention with CP/M compatible syscall numbers.

File I/O is done via FCB blocks.