Much16 - Simple 16-bit CPU. ============================== An "word" is 8 bits. Address is 16 bits, and data bus is 8 bits. And all numbers are big-endian. Registers ============ All registers are 16 bits. Name | Description -------+------------ R0 | Generic R1 | Generic R2 | Generic R3 | Generic R4 | Generic SP(R5) | Stack pointer PC(R6) | Program counter Op ===== Should be: Name | Size (bits) ---------+------------ Mnemonic | 8 Mode0 | 8 Mode1 | 8 Mode1 must not be put if the op takes only 1 argument. Mode0/Mode1 must not be put if the op does not take arguments. Mode ======= Should be: Name | Size (bits) ----------------+------------ Direct Number | 1 Direct/Indirect | 1 High/Low/All | 2 Reserved | 1 Register index | 3 High/Low/All selects if it should set/get the top 8 bits, bottom 8 bits, or all 16 bits. High is 2, Low is 1, All is 3. Mnemonics ============ Hex | Mnemonic | Description ----+-----------+------------------------------------------ 00 | NOP | Do nothing. 01 | ASN M0,M1 | Assign M1 to M0. 02 | JMP M0 | Jump to M0. 03 | INC M0 | Increment M0.