It was rumored that The Great Scott Stevens once said:
Depending on how much 'from scratch' people feel is necessary, it's also
interesting to roll your own computer using an off-the-shelf processor (or
multiples). I have a simple 8088-based SBC design wired up and waiting
for motivation to put together some test firmware. The main thing that
has kept me from bringing it up is the difficulty in getting x86-based
machine language development tools going. I'm used to little 4 and 8-bit
assemblers where you can plop down a few ORG statements and have it all
resident in a ROM, and almost all the x86 asm tools start from the
assumption you are running on DOS and have no direct control of the memory
map.
Have you looked at Nasm? It's an x86-based assembler and one of the
formats it supports (for output) is a pure-binary format. Free, source code
(in C) available and should compile cleanly on anything with at least an
ANSI C compiler. It uses the Intel mnemonics and while not 100% source
compatible with MASM, it's pretty easy to use.
-spc (I've used it from time to time ... )