Skip to content

An assembler and hardware simulator for the Mano Basic Computer which uses Microprogram architecture.

Notifications You must be signed in to change notification settings

Amirmehdig/mano-microprogram-simulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mano Microprogram Simulator

An assembler and hardware simulator for the Mano Basic Computer which uses Microprogram architecture.

This is a Python application that writes microprogram codes into microprogram memory and then compiles assembly code for runs and simulation of Mano's Computer.

Usage

  1. Install Python Programming Language
  2. Install PyQt6 via this command:
    $ pip install -r requirements.txt
  3. Run via Python Interpreter
    $ python main.py

Example

For example if you want to write a sub program you can add this code to program text field

ORG 0
LDA X I
SUB Y
STORE RES
HLT
X, HEX 10
Y, DEC 5
RES, DEC 0
ORG 10
DEC 20
END

and as you can see, a Compilation Error occurs, because there is no command called SUB and LDA.

To fix this you need to add SUB and LDA command into microprogram memory by adding this code:

ORG 20
SUB: NOP I CALL INDRCT
READ U JMP NEXT
SUB U JMP FETCH
ORG 24
LDA: NOP I CALL INDRCT
READ U JMP NEXT
DRTAC U JMP FETCH

and then press write button to write this code in memory. Now back to Program tab and compile again first and then press run button.

You can see the result in RES cell which is HEX F = 20 - 5 = 15.

About

An assembler and hardware simulator for the Mano Basic Computer which uses Microprogram architecture.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages