CheatMaker / MarshmellowEmulator

The simplest possible 16 bit Von Neumann CPU that is designed specifically to run Core URCL.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Marshmellow Emulator

The simplest possible 16 bit Von Neumann CPU that is designed specifically to run Core URCL.

Specs

  • 8x4 character terminal
  • 4k 16 bit words of RAM
  • 12 bit program counter

8 Main Registers:

  • R0 - Constant 0
  • R1 to R5 - General purpose registers (16 bit)
  • SP - Stack pointer (physically it is just a normal register like R1 to R5) (16 bit)
  • PC - Program counter (12 bit)
Instructions  Unused      Op Code     Op1     Op2     Op3
         ADD    XXXX          000     CCC     AAA     BBB
         BGE    XXXX          001     CCC     AAA     BBB
         NOR    XXXX          010     CCC     AAA     BBB
         RSH    XXXX          011     CCC     AAA     000
         LOD    XXXX          100     CCC     AAA     000
         STR    XXXX          101     000     AAA     BBB
          IN    XXXX          110     CCC     000     000
         OUT    XXXX          111     000     AAA     000

Registers     Index
       R0       000
       R1       001
       R2       010
       R3       011
       R4       100
       R5       101
       SP       110
       PC       111

Note

IMM instructions are not directly supported by the CPU - instead you must load a RAM location which contains the desired immediate value.

About

The simplest possible 16 bit Von Neumann CPU that is designed specifically to run Core URCL.


Languages

Language:Python 100.0%