spo/simulator_SIC_XE/README.md
2025-12-21 17:17:52 +01:00

2.2 KiB

SIC/XE Simulator

A complete SIC/XE architecture simulator with instruction execution, device I/O, memory management, and assembler.

Quick Start

Building the Project

make

This will build:

  • target/bin/simulator_exec - The main simulator
  • target/bin/assembler - The SIC/XE assembler
  • target/bin/simulator_qt - Qt GUI version (if Qt is available)

Using the Assembler

Assemble a SIC/XE assembly file to object code:

./target/bin/assembler <file.asm>

Example:

./target/bin/assembler res/test_format4.asm

This will:

  • Parse and assemble the input file
  • Generate modification records (M records) for format 4 instructions
  • Create <file>.obj with the object code
  • Display the object code and symbol table

Sample Output:

H TESTF4 0003E8 00001B
T 0003E8 1B 031003F70F1003FA4B1003FD4F2C090000000000000100004F2BFD
M 0003E9 05
M 0003ED 05
M 0003F1 05
E 0003E8

Running the Simulator

make run

This will build and run the simulator with the default program.

Build Commands

Command Description
make Build all executables
make build Build the project
make run Build and run the simulator
make clean Clean build artifacts

Project Structure

simulator_SIC_XE/
├── include/          # Header files (.h)
├── src/             # Source files (.cpp)
├── target/bin/      # Build output (executables, libraries)
└── build/           # CMake build directory

Features

  • SIC/XE Architecture: Complete register set (A, X, L, B, S, T, F, PC, SW)
  • Instruction Execution: Format 1, 2, and 3/4 instruction support
  • Device I/O: Input, output, and file device management
  • Memory Management: 24-bit address space with proper bounds checking

Development

The project uses CMake with a convenient Makefile wrapper. All build artifacts are placed in target/bin/ for easy access.

For manual CMake usage:

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j