This organization provides documentation and a few example projects for the Simplified Instructional Computer (SIC) hypothetical computer system.
The aim of the organization is to help students learn about the SIC architecture and consequently systems programming in general.
The main resource is the website: sic-xe.github.io. It contains extensive documentation about the architecture, including its history, design, addressing modes, registers, assembly sintax etc.
Besides that the organization includes repositories with various resources:
- SICer: An example implementation of an assembler and simulator for SIC/XE. The assembler generates object files from assembly source code and the simulator allows running the generated code, either normally or instruction by instruction (e.g. for debugging), and inspecting register states and memory contents.
- Examples: A collection of example assembly programs for SIC/XE along with their object code. These can be directly assembled with the assembler, run with the simulator or just used to debug your custom implementation of the assembler, since you can compare the assembler's output with the provided assembled object code.
- FPGA: An implementation of the SIC/XE architecture on a RealDigital Blackboard FPGA development board.
- sic-xe.github.io: The source code of the website.
The project (organization) as a whole is a work in progress, so it's constantly changing and improving.
The repositories are licensed under various licenses, depending on the type of the files. In general all of the files are licensed under open source licenses and can be freely reused, as long as major changes are shared back and attribution is given to this organization.
As long as you don't resell the code, I won't go after you in any case, so feel free to do what you want with it.
Licensing per repository is as follows:
- SICer: GNU GPLv3 (TLDR)
- Examples: The Unlicense (TLDR)
- FPGA: CERN-OHL-S-2.0 (TLDR)
- sic-xe.github.io: CC-BY-SA-4.0 (TLDR)
Here's a few SIC/XE projects and resources not connected to this organization, which I found useful:
- SicTools: System software and tools for SIC/XE hypothetical computer
- VSCode SIC Assembly: A VSCode extension for syntax highlighting and code completion for SIC assembly