/Computer-Architecture

Computer architecture and emulation

Primary LanguageJavaScript

Computer Architecture

Project

Task List: add this to the first comment of your Pull Request

Day 1: Get print8.ls8 running

  • Inventory what is here
  • Implement struct cpu in cpu.h
  • Add RAM functions cpu_ram_read() and cpu_ram_write()
  • Implement cpu_init()
  • Implement the core of cpu_run()
  • Implement the HLT instruction handler
  • Add the LDI instruction
  • Add the PRN instruction

Day 2: Add the ability to load files dynamically, get mult.ls8 and stack.ls8 running

  • Un-hardcode the machine code
  • Implement the cpu_load() function to load an .ls8 file given the filename passed in as an argument
  • Implement a Multiply instruction and Print the result (run mult8.ls8)

Day 3; Stack

  • Implement the System Stack and be able to run the stack.ls8 program

Day 4: Get call.ls8 running

  • Implement the CALL and RET instructions
  • Implement Subroutine Calls and be able to run the call.ls8 program

Stretch

  • Add the timer interrupt to the LS-8 emulator
  • Add the keyboard interrupt to the LS-8 emulator
  • Write an LS-8 assembly program to draw a curved histogram on the screen