wok-next annotate runcom/description.txt @ rev 21403

updated php again (7.4.4 -> 7.4.5)
author Hans-G?nter Theisgen
date Tue Apr 21 10:28:30 2020 +0100 (2020-04-21)
parents f32d3ba00836
children
rev   line source
al@21059 1 Runcom support DOS `.com` binary files and boot sector files.
pascal@11674 2
al@21059 3 ### 1. The DOS `.com` support
pascal@11674 4
al@21059 5 Runcom provides few BIOS and DOS (int 21H) interrupt handlers. Many `.com`
al@21059 6 files may not work. DOS `.exe` are also supported.
pascal@11674 7
al@21059 8 You can test it with the file `/usr/bin/debug.com`, with the command line:
pascal@11674 9
al@21059 10 $ debug.com
pascal@11674 11
al@21059 12 ### 2. The boot sector image support
al@21059 13
al@21059 14 A boot sector image is a 512 bytes file ending with the **0xAA** and **0x55**
al@21059 15 bytes with the `.bin` extension.
al@21059 16
al@21059 17 BIOS disk (int 13H) are emulated (CHS or LBA) with an image file:
al@21059 18
al@21059 19 - hard disk are image ./hd0, ./hd1, ... for disk 0x80, 0x81...
al@21059 20 - floppy disk are image ./fd0, ./fd1 ... or /dev/fd0, /dev/fd1 if not found.
al@21059 21
al@21059 22 You can test it with the file `/usr/bin/debug.bin`, with the command line:
al@21059 23
al@21059 24 $ debug.bin
al@21059 25
al@21059 26 ### 3. The 512 bytes boot sector debugger `/usr/bin/debug.bin`
pascal@11674 27
pascal@11674 28 Usage:
pascal@11674 29
al@21059 30 f DX:CX load one CHS sector to 0000:7C00
al@21059 31 t trace one step
al@21059 32 g <address> go to adrs
al@21059 33 d <address> display 16 bytes, CR for next 16 bytes...
al@21059 34 e <address> <words>... enter memory byte/word/dword
al@21059 35 m <segment> self move
al@21059 36 + <segment> default segment offset
pascal@11674 37
al@21059 38 `seqment` and `offset` are hexadecimal values in `0000..FFFF` range
al@21059 39
al@21059 40 `address` is linear hexadecimal value in `00000..FFFFF` range or
al@21059 41 `seqment:offset` words are bytes in `00..FF` range or words in `0000..FFFF`
al@21059 42 range or double words
al@21059 43
al@21059 44 `CX` and `DX` are used by `INT13H/AL=01` BIOS interrupt.
pascal@11674 45
pascal@11674 46 Example:
al@21059 47
al@21059 48 m 0FC0 move debugger to 0FC0:0000 0FC0:01FF
al@21059 49 f 1 read floppy boot sector to 0000:7C00
al@21059 50 f 80:1 read hard disk master boot sector to 0000:7C00
al@21059 51 g 7C0E ...