Microprocessors and their Operating Systems. A Comprehensive Guide to 8-, 16- and 32- Bit Hardware, Assembly Language and Computer Architecture