Virtual machines for the AMN instructions sets
Project description
AMN
The AMN package implements a simple virtual machine for the AM0 and AM1 instructions sets.
To use it, simply execute it with python3 -m AMN -i <instruction set> exec path/to/file.txt
to execute the instructions written in a file.
If you want an interactive console just use python3 -m AMN -i <instruction set> repl
.
Requirements
Python >= 3.10 is required to use the utility.
Installation
python3 -m pip install AMN
Examples
The REPL (read eval print loop) in action:
python3 -m AMN -i am0 repl
Welcome the the AM0 REPL, type 'help' for help
AM0 >> exec READ 0
Input: 8
AM0 >> exec READ 1
Input: 42
AM0 >> exec LOAD 0
AM0 >> exec LOAD 1
AM0 >> exec GT
AM0 >> exec JMC 24
AM0 >> status
Counter: 24
Stack: []
Memory:
0 := 8
1 := 42
AM0 >> exit
Exiting REPL...
Example program which outputs the biggest of two numbers:
READ 0;
READ 1;
LOAD 0;
LOAD 1;
GT;
JMC 10;
LOAD 0;
STORE 2;
JMP 12;
LOAD 1;
STORE 2;
WRITE 2;
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
amn-0.6.1.tar.gz
(23.1 kB
view details)
Built Distribution
amn-0.6.1-py3-none-any.whl
(22.3 kB
view details)
File details
Details for the file amn-0.6.1.tar.gz
.
File metadata
- Download URL: amn-0.6.1.tar.gz
- Upload date:
- Size: 23.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce1f46c4eb4727bbaab7da0681818b2300c1684fbf4285d1b2535db9ff18f951 |
|
MD5 | fb97b8a983ae0d7f2e33804ee24a60d9 |
|
BLAKE2b-256 | 73f02d64409ca81075b55de342538054374584fe7e21a2fdce87078102973406 |
File details
Details for the file amn-0.6.1-py3-none-any.whl
.
File metadata
- Download URL: amn-0.6.1-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 91870b316bdb1408fde19a9b5c0187e0735e417cd1f889459dd5d3a326ef0a89 |
|
MD5 | da409dfef93b60638e90f45a7b7adb1b |
|
BLAKE2b-256 | 609a53197def9c7af0f223ec66eb6c2b3621e89aa7a1fee521dffdeb70924532 |