JorgeTerence / shinzou

An IAS computer compiler/emulator

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shinzou Assembler

What is this?

This project is an assembler simulating the IAS Machine. I learned about it in a class on computer architecture and decided to take on a challenge.

How to run

shinzou run finnish.asm
# or
shinzou compile finnish.asm -o ancient_sumerian.bin
shinzou run ancient_sumerian.bin

For the future

  • Add a custom directive to output the whole state of memory at runtime, sort of like debugging.
  • Show a web visualization for the working machine and its components.

Updated command sheet

While the IAS spec has an I/O module, it does not list a right API for accessing it - at least I didn't find it. I used for reference this document from Unicamp. As this is my project, I will be adding brand new instructions:

Representation Code Description
OUT M(X) 10000001 Outputs the contents of the memory address of X to the I/O stream
CHAR M(X) 10000010 Outputs the contents of the memory address of X as ASCII to the I/O stream

About

An IAS computer compiler/emulator

License:GNU General Public License v3.0


Languages

Language:Rust 97.4%Language:Assembly 2.6%