Skip to content

KaravolisL/ARM-ISA-Simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ARM-ISA-Simulator

Simulator program for the ARM Instruction Set Architecture

Motivation

TODO

Build Status

Main CI

Code style

TODO

Screenshots

TODO

Features

Instructions

Currently, the following ARM instructions are supported:

Logic Arithmetic Flow Control Memory Other
AND ADD B LDR MOV
ORR SUB BL STR CMP
BIC BX LDM CMN
EOR BLX STM TST
LSL PUSH TEQ
LSR POP NOP

Variants of these instructions are also supported according to the ARM instruction set architecture. For instance, conditional codes can be appended to enable conditional execution.

Memory Layout

At startup, memory is allocated for the user's program. 1024 bytes are designated for the process's stack. 512 bytes are provided for the process's heap memory. 15360 additional bytes are allocated for the user's static data section.

Installation

  1. Clone Repository
  2. Run following commands:
    mkdir build
    cd build
    cmake ..
    make
  3. To run unit and integration tests, execute following command
    make test
  4. To execute program, execute following command
    ./src/ARM-ISA-Simulator <Name of main file>

Dependencies

Two external libraries are used, Catch2 and CLI11. You can find their respective installation guides at the links below:

About

Simulator program for the ARM Instruction Set Architecture

Resources

License

Stars

Watchers

Forks

Packages

No packages published