Skip to main content

Tooling package for the computer architecture course (aka Rechnerorganisation) at Graz University of Technology.

This package provides utilities and tooling for working with textual and binary assembly variants. In more detail, we provide comparable simple implementations of standard tools (e.g., assemblers, instruction set simulators) that are required for experimenting with self-written processors. Given that the tools are used for teaching, the focus of the package is correctness and extensibility. As instruction set architecture, Princeton’s TOY, incl. various extensions, and a subset of the RISC-V RV32I are currently supported.

Quick and Dirty Usage of the Tools

For fast experimentation, executable entry points for the most important tools like toyasm-ng.py and toysim-ng.py are provided next to this README. Subsequently, it is possible to directly use these applications like in one of the following examples:

$ python3 ./relative/pkg_path/toyasm-ng.py some_input_file.asm
$ python3 /absolute/pkg_path/toyasm-ng.py some_input_file.asm

Given that the entry points are marked as executable (i.e., chmod +x ...) and have a proper shebang, on unix-like systems, also direct execution is possible:

$ ./relative/pkg_path/toyasm-ng.py some_input_file.asm
$ /absolute/pkg_path/toyasm-ng.py some_input_file.asm

Finally, when the root directory of this package is part of the PATH (e.g., export PATH=/absolute/pkg_path:$PATH) environment variable, execution of the tools simply by name is working too.

$ toyasm-ng.py some_input_file.asm

Proper Installation and Usage of the Package

asmlib is a proper python package and can also be installed via the standard package manager (e.g., pip3 install --user /absolute/pkg_path). Note that, when development on to the package is planned, installing the package as editable by adding the -e command line flag is recommended. Additionally, virtual environments (e.g., python3 -m venv _venv && source_venv/bin/activate) can be used too.

Either way, this automatically installs the entry points into the correct directories and the tools can directly be used on the command line (i.e., toyasm-ng.py some_input_file.asm).

Building the Sphinx Documentation

When Sphinx is installed (i.e., pip3 install sphinx sphinx-autodoc-typehints), the HTML API documentation for this package can be built via the following sphinx-build invocation:

$ sphinx-build doc doc/_build/html

Alternatively, the sphinx command on the setup.py file can be used.

$ python3 ./setup.py sphinx

Either way, the API documentation gets automatically generated by executing sphinx-apidoc first. The resulting HTML output can be found in the doc/_build/html directory.

Metadata

Release files for asmlib 2.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for asmlib 2.2.0
File Size Uploaded Provenance Actions
asmlib-2.2.0.tar.gz 40.6 kB Without provenance Details for asmlib-2.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for asmlib 2.2.0
File Interpreter ABI Platform Actions
asmlib-2.2.0-py3-none-any.whl Python 3 none any Details for asmlib-2.2.0-py3-none-any.whl

Total release size: 103.3 kB

Release files / asmlib-2.2.0.tar.gz

Download URL asmlib-2.2.0.tar.gz
Size 40.6 kB
Tags Source
SHA-256 checksum
How to use checksums
c5b8d57343cded4aab723329bebd02fe614e1d8ce232c026f0ccab8d02b34e0e
BLAKE2b-256 checksum
How to use checksums
9f5d44faf65112f97172aad8db0f423f2b2dcbad6b0ffa06f66b5f4e05f674dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.6.8

Release files / asmlib-2.2.0-py3-none-any.whl

Download URL asmlib-2.2.0-py3-none-any.whl
Size 62.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e17fcec059937ec3f07981ec92c621dff57f2934d79efc9655ab561e6c8331b3
BLAKE2b-256 checksum
How to use checksums
756c45ac68ce7a785f62e86bdb9eb30b6e78e89610892a96a8aa263fba8b5a86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.0.0 pkginfo/1.8.3 requests/2.27.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.64.1 CPython/3.6.8

Security for asmlib 2.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page