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

Uploaded Source

Built Distribution

microprocessors-0.1.4-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: microprocessors-0.1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 eee28464e091d5eae661a7d0d28d47562a27568e1a393c80d3d294d114d02116
MD5 b7cb750f1f87c49b4ef4c11845898d70
BLAKE2b-256 5d12b3cdac7e7dcec0c7094770fe5264837b198bef528100b548f16b282e2596

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for microprocessors-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 496bf63f2deb36b6c3b827f4d40856bbe99c91f2b1993eecacb786906e222f30
MD5 162167b48a78b51018ee115bfc11744b
BLAKE2b-256 e334ae48a3c568e3a63e4ab3715dc869dfc1be1a8f924844e1515cfdc4a324d4

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