This is a course project for COE403 - Computer Architecture for Dr Mudawar in the King Fahd University of Petroleum & Minerals (KFUPM).
Name | ID |
---|---|
Faris Hijazi | s201578750 |
Taha Alsadah | s201434020 |
Rakan Aalsoraye | s201238740 |
usage: MainProgram.py [-h] [-f [FILE]] [-i ASM] [-t] [-r]
optional arguments:
-h, --help show this help message and exit
-f [FILE], --file [FILE]
(optional) path to assembly file, either to be loaded
in GUI or to compile in the CLI
-i ASM, --asm ASM Assembly instruction(s) to assemble (separate with ';' as new line)
-t, --text Text mode
-r, --run run after assembling (only for cmd mode (non-gui))
You may use the graphical user interface (default if nothing is passed in the command line).
You may still pass a file name with --file
and it will open in the editor.
- Identify clearly the problem that will be addressed in your project.
- Identify clearly the tools that will be used in your project.
- Identify the outcome of your project (a software simulator, a hardware prototype, etc.)
- Provide an execution plan for the project tasks and the time duration of each task.
- Final document and outcome is due on Saturday, April 13.
- Project presentation will be on Sunday, April 14 during class time.
Our goal is to create a functional emulator for the M architecture.
The minimum requirement is to have the assembler working, and to have a functional simulator (to execute instructions).
We may be using already existing open source emulators and modify them to support the m-architecture.
- MARS (docs here)
- Legv8-emulator
- unicorn engine (github repo) lightweight multi-platform, multi-architecture CPU emulator framework
- Visual ARM emulator
VisUAL makes use of the following third-party tools & libraries:- RSyntaxTextArea Copyright © 2012, Robert Futrell.
- NSMenuFX Copyright © 2015, codecentric AG.
- ControlsFX Copyright © 2013, ControlsFX.
- Apache Commons I/O Copyright © 2002-2014, The Apache Software Foundation.
- Oracle Java SE Copyright © Oracle Corporation.
Tools and libraries:
- Pydgin A (Py)thon (D)SL for (G)enerating (In)struction set simulators.
Tasks | Estimated time |
---|---|
Research and finalize tools | 1 week |
Reading and understanding code | 2 week |
Writing code and testing | 2 weeks |