Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (
Help us improve Python packaging - Donate today!

An interpreter for the ARM instruction set and an accompanying Jupyter kernel

Project Description

IArm is an ARM interpreter for the ARMv6 THUMB instruction set (More specifically for the ARM Cortex M0+ CPU). It supports almost 100% of the instructions, and some assembler directives. There is also its Jupyter kernel counterpart so it can be used with Jupyter notebooks. Check out the /docs folder to see a technical overview and some example notebooks.


Install with pip

pip install iarm

Or clone the repo and install with setuptools

python install

To install the Jupyer kernel counterpart, after installation, run

python -m iarm_kernel.install



Import the arm module and instantiate an interpreter from the Arm class

import iarm.arm
interp = iarm.arm.Arm()

To run code, pass the code into the evaluate method. Multiple lines can be sent in as well as one line at a time.

interp.evaluate(" MOVS R0, #5")
    MOVS R1, #3
    ADDS R2, R0, R1

By default, code is not run. The run method must be called.
print(interp.register)  # Print out the status of all the registers


Simply activate the iarm_kernel module and make a new notebook as an IArm notebook. Most of the magics have a 1 to 1 to the module. Refer to the notebooks in the /docs/examples folder and the %help magic.

Release History

This version
History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, Size & Hash SHA256 Hash Help File Type Python Version Upload Date
(27.0 kB) Copy SHA256 Hash SHA256
Wheel py3 Jul 22, 2016
(28.4 kB) Copy SHA256 Hash SHA256
Source None Jul 22, 2016

Supported By

Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Google Google Cloud Servers