1like2learn / Computer-Architecture

Computer Architecture

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Computer Architecture

Project

This project is meant to give programmers a deeper understanding of computers and how they operate on a granular level. I originally completed the project during my time at Lambda School.

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

Day 1: Get print8.ls8 running

  • [/] Inventory what is here
  • [/] Implement the CPU constructor
  • [/] Add RAM functions ram_read() and ram_write()
  • [/] Implement the core of 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 running

  • [/] Un-hardcode the machine code
  • [/] Implement the load() function to load an .ls8 file given the filename passed in as an argument
  • [/] Implement a Multiply instruction (run mult.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

About

Computer Architecture


Languages

Language:Python 55.3%Language:JavaScript 30.3%Language:Assembly 13.9%Language:Shell 0.4%