jojo wrote:
Regardless, I sincerely appreciate the endeavor of writing in assembly (we're here to let our programming freak flag fly, right?), so definitely don't construe this as me being critical.
I didn't take any offence from you (nor, indeed, from onlyonemac's delightful post).
My venture into this arena is purely for fun and I have set myself a (seemingly) ridiculous task. I have often mused on how the first computers ever got off the ground in much the same way as how DNA ever first got its act together to replicate itself (and being told it was actually RNA that did the job first does not diminish the achievement of whatever molecule it was).
So.. I have allowed myself 512 bytes of hand-coding that I have dumped into the first cluster of a hard disk partition. I also allowed myself to use grub to chainload that cluster. My aim was then to develop everything entirely from those 512 bytes - no assembler, no compiler. The 512 bytes gave me the ability to load a larger block of data from my partition, display it on screen as a series of hex-represented bytes, navigate and edit those bytes and save them back again. What's more, I had three bytes spare. I now have an assembler, disassembler, text editor and an elementary file system that enables me to store documentation in my partition and gives me a backup boot option for when I mess up. There have been just a few occasions (surprisingly few as it happens) when I have had to cheat and use external tools to doctor a few mis-written bytes in my private partition, but once I had taken the precaution of keeping two independently bootable versions I haven't had to do that. I don't recommend it, but it has been (and continues to be) a lot of fun and a satisfying thing to do.