added M records

This commit is contained in:
zanostro 2025-12-21 17:17:52 +01:00
parent e0ce2fb3d0
commit a711223abf
11 changed files with 297 additions and 20 deletions

View file

@ -1,30 +1,65 @@
# SIC/XE Simulator
A complete SIC/XE architecture simulator with instruction execution, device I/O, and memory management.
A complete SIC/XE architecture simulator with instruction execution, device I/O, memory management, and assembler.
## Quick Start
The easiest way to build and run the simulator:
### Building the Project
```bash
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:
```bash
./target/bin/assembler <file.asm>
```
**Example:**
```bash
./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
```bash
make run
```
This single command will:
- Configure the build system (if needed)
- Compile all source files
- Link the executable
- Run the simulator
This will build and run the simulator with the default program.
## Build Commands
| Command | Description |
|--------------|----------------------------------------------------|
| `make` | Build the project |
| `make` | Build all executables |
| `make build` | Build the project |
| `make run` | Build run the simulator |
| `make run` | Build and run the simulator |
| `make clean` | Clean build artifacts |
| `make run` | Clean build artifacts, build and run the simulator |
## Project Structure