Skip to main content

A simulation of the RiSC-16 (Ridiculously Simple Computer - 16 bit) processor.

Project description

Microprocessors

Example of Library Use

from microprocessors.architechture import RiSC16

risc = RiSC16()

# Properly queue instructions
risc.encode_instruction('ADDI', 1, 0, 5)  # R1 = 5
risc.encode_instruction('LUI', 2, None, 1)  # R2 = 1 << (16 - immediate_bits)
risc.encode_instruction('ADD', 3, 1, 2)  # R3 = R1 + R2
risc.encode_instruction('NAND', 4, 1, 2)  # R4 = ~(R1 & R2)
risc.encode_instruction('SW', 3, 0, 10)  # Memory[10] = R3
risc.encode_instruction('LW', 5, 0, 10)  # R5 = Memory[10]
risc.encode_instruction('BEQ', 1, 2, 2)  # if R1 == R2, skip next 2 instructions
risc.encode_instruction('ADDI', 6, 0, 1)  # R6 = 1 (skipped if R1 == R2)
risc.encode_instruction('JALR', 7, 0)  # R7 = PC + 1; PC = R0

# Run all and visalize register at final state
risc.run_program()
risc.visualize_state()

Documentation

Refer to the in-line comments and method docstrings for detailed usage of each feature.

Contribution

Contributions are welcome! Feel free to submit pull requests, suggest features, or report bugs.

License

This library is distributed under the MIT license. See LICENSE for more information.

Contact

Happy coding!

Project details


Download files

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

Source Distribution

microprocessors-0.1.2.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

microprocessors-0.1.2-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file microprocessors-0.1.2.tar.gz.

File metadata

  • Download URL: microprocessors-0.1.2.tar.gz
  • Upload date:
  • Size: 7.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.2

File hashes

Hashes for microprocessors-0.1.2.tar.gz
Algorithm Hash digest
SHA256 ffa993f35e7615b140b9e00473375c7b76bf803f0c557c4f0852b9043a74b265
MD5 3f5286953a887d732b44acc63b9c22ce
BLAKE2b-256 7ff484305519e3992ebda5e29499b15d48e7a5f06eb000f0c85da211db2785b8

See more details on using hashes here.

File details

Details for the file microprocessors-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for microprocessors-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae8c467ec25620325d838cfd5036eaca114711dec68f1d7d6832dbd754e3a99e
MD5 aff0cac88045da23888f0b67054d69f8
BLAKE2b-256 3ae01d3350dcd4ad1f06e23c95bf786e3931c7da567d65a9db69b9c8bc6d45ae

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page