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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: microprocessors-0.1.6.tar.gz
  • Upload date:
  • Size: 7.5 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.6.tar.gz
Algorithm Hash digest
SHA256 0f66431350ba2650519184f1324c343e6b89e935e18eafc810f0e6994040db06
MD5 46f199583c44f07d0512b8635a222f46
BLAKE2b-256 9555598b41c60e4b4ee121a64481fbeb7cdbb392aa0d98d299d8a6df592d4b01

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for microprocessors-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 37e89e674e771c6d448e0dee8ad8ac35bb970f21bfe6c84c084ef0497e436212
MD5 47149cc1653f57b8280a1f21e116dca3
BLAKE2b-256 e15a58637b499580cb85e22adcb6f5d18b046053982c20fd18407952cdccc587

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