Skip to content

A user-friendly ARM7TDMI assembler and simulator in F#

Notifications You must be signed in to change notification settings

aaronlws95/hlp-project-2017

Repository files navigation

ARMadillo 🐭

A user-friendly ARM7TDMI assembler and simulator in F#

ARMadillo is a cross-platform ARM emulator for assembling and simulating the ARM7TDMI instruction set.

The project was built as part of the High Level Programming EE3-22 (2017) module at Imperial College London, and draws inspiration from Salman Arif's VisUAL. 👍

Technologies

ARMadillo is built using the following technologies:

  • Assembler written in F# and transpiled into JavaScript using FABLE

  • GUI done using web technologies (HTML/CSS/JS), with the CodeMirror text editor

Project Architecture

pic

The assembler is separated into several modules:

Program.fs : TO-DO

Parser.fs : Parses the text from the GUI text editor into a list of InstructionTypes and returns a MachineState containing the instructions.

Emulator.fs : Executes instructions and returns a new MachineState.

GUI.fs : TO-DO

MachineType.fs : Contains data structure for register maps, memory maps, list of instructions, etc.

InstructionType.fs : Holds all the implemented ARM instructions as InstructionType data types.

About

A user-friendly ARM7TDMI assembler and simulator in F#

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published