Skip to content

Functional ARMv7 assembly language emulator in F#

Notifications You must be signed in to change notification settings

filangelos/ARMv7TDMI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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