Darran Kartaschew (aka Chewy509).
Released under the BSD License. 2004.
The 256b kernel is a basic machine monitor, with the capabity of taking user input, and performing basic functions on the user input. The following functions are available:
fasm 256b.asm 256.bin
, then using your favourite tool, write the 512 byte file
to the bootsector.256b Source: *.tgz
From the base prompt "> ", enter in the command and it will be executed. Note: there are no safeguards regarding execution, and commands MUST be entered correctly, or something will go wrong. All commands are processed as entered. You will get unexpected results if you enter incorrect information.
When entering memory locations, they are treated as a flat 32bit addresses, that because they are 32bit addresses. The kernel enables the so-called Unreal mode, in that 32bit addresses can be used in real mode.
All Values are HEXIDECIMAL
0000:7C00 - 0000:7DFF Kernel (200h bytes) 0000:7E00 - 0000:7FFF BSS (100h bytes) 0000:8000 - 0000:81FF Disk Buffer (200h bytes) 0000:8200 - 0000:FFFF Stack (7E00h bytes) Segment Base Limit Mode CS 0 64K 16b RM DS 0 64K 16b RM ES 0 64K 16b RM FS 0 4GB 32b PM GS 0 4GB 32b PM SS 0 64K 16b RM
In case you hadn't noticed I'm using Unreal Mode for this. It lets us have some real fun.
A screen shot of 256b