How siubikyt/srisc32 works
SRISC32 is a small custom 32-bit instruction-set project: assembly examples and libraries target the ISA, while a C emulator loads a binary and executes it. A separate HTTP server exposes chunks from a binary file to a programmer client. The README contains only the project name, and no assembler or wiring between the assembly files and runtime tools is present in the tree, so those links are left unspecified.
Main entry points: main.c Instruction Engine · server.py Chunk Server
Components 15
ISA and Software
- Assembly Programs
programs/hello_world.asm - Assembly Libraries
libraries/display.asm - Math Library
libraries/stdmath.asm - ISA Description
SRISC32_ISA_Description.txt - Calling Convention
SRISC32_Calling_Convention.txt
CPU Emulator
- Emulator Entry
SRISC32_Emulator/main.c - Instruction Engine
SRISC32_Emulator/main.c - CPU State
SRISC32_Emulator/main.c - Program Memory
SRISC32_Emulator/main.c - Data Memory
SRISC32_Emulator/main.c - Screen Output
SRISC32_Emulator/main.c
Programmer Service
- Chunk Server
programmer_server/server.py - Binary File
Other components
- Operator
- Programmer Client
Connections 12
- Operator → Emulator Entry: starts with binary
- Emulator Entry → Program Memory: loads binary
- Emulator Entry → Data Memory: allocates memory
- Emulator Entry → Instruction Engine: clocks CPU
- Instruction Engine → Program Memory: fetches instruction
- Instruction Engine → CPU State: decodes and updates
- Instruction Engine → Data Memory: loads and stores
- Instruction Engine → Screen Output: prints output
- Operator → Chunk Server: starts with binary
- Chunk Server → Binary File: reads binary
- Programmer Client → Chunk Server: requests byte chunk
- Chunk Server → Programmer Client: returns chunk