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.5.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: microprocessors-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 5215bc87debde367dceb9ccbfaaa4a5474f8cc8784d6131125c84fc539b25e5b
MD5 1f548d36c62db4ba435f51b1612e2cb0
BLAKE2b-256 661a6cf483cb6ade6f622dcce8c910c1065cdd802d29cebec9ffc4239b3675c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for microprocessors-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 0840419e2c452f06f79abaf8d2f818136945ddea5c9a37232618855022c573eb
MD5 14db71bf776e337b37e893d24c9d0a9f
BLAKE2b-256 479775ab25e8a501ce0dd8e00f9cbe040778b612e02cad9c1ef4ef209d4129ef

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