filangelos / ARMv7TDMI

Functional ARMv7 assembly language emulator in F#

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Decomposition

Modules

Everytime we choose to introduce new functionality, we decide on our group chat what that will entail and then we fill out the modules with ticks.

  • Program [x] - Everyone
  • Assembler [x] - Baron & Pranav
    • Tokenizer [x] - Baron
    • Parser [x] - Pranav
    • ParserMonad[x] - Pranav
    • AST [x] - Baron
  • Emulator [x] - Angelos & Youssef
    • Arithmetic Instructions [x] - Youssef
    • Load/Store Instructions [x] - Youssef
    • Branch Instructions [x] - Youssef
  • Memory [x] - Angelos
  • Front-End [x] - Angelos

Project Milestones

  • Figure out what we're supposed to do
  • Figure out how we're supposed to start
  • Assigned parts to individuals
  • Initial Research Phase completed
  • Learning and Initial instructions
  • Implement working module basics
  • Attempt some pipelining
  • Write ADC function
  • Write flag setting function
  • Come up with machineState interface
  • Write basic tokeniser
  • MachineState Testing
  • Basic UI
  • Write basic parser
  • Write basic AST
  • Connect all basic modules together
  • Write flag-setting function
  • Support for all arithmetic instructions
  • Error Handling Framework - "Printing" Monad
  • Memory Implementation

About

Functional ARMv7 assembly language emulator in F#


Languages

Language:F# 99.9%Language:Assembly 0.1%