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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: microprocessors-0.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 791c0897947973410f873218e8287103a4bda20fb4579b07ba63189159184bce
MD5 62ee3b5a70453c67fae238ad4508c7ba
BLAKE2b-256 a4ea372fdb066addd8d6ff691d60fe8cd5561a46fa64c50262883c1ecdd16a4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for microprocessors-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f71021f302868281ae17aa763a20f9886d591149ce80fbe6a5a4a2a5e7593686
MD5 964ed9a9cafe4920d55fb74cc8e74f78
BLAKE2b-256 1263496582d5c0508aedae4f40ed878a76f45595939b1931cc60a167ed2c6847

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