SicTools
SicTools copied to clipboard
System software and tools for SIC/XE hypothetical computer
When reading non linked object files the simulator fails to throw any errors. This is especially an issue when loading `.asm` files that contain `CSECT` where it's not obvious what...
Change `mainFrame` and `eastPanel` from `JPanel` to `JSplitPane`. This allows the users to resize different views as they want.
Due to the inconvenience of the Error handling process of SicTools. I've made some modifications that prompts all errors found in a .asm file when the simulator fails to load...
Consider ```asm LDCH =4 ``` that gets assembled to: ```asm LDCH f f WORD 4 ``` but that doesn't as MSB is 0. The solution is to either emit `BYTE`:...
I tried implementing interrupts. There is still some work to do. `SVC`, `STI` and `LPS` instructions now work. `SVC` and timer interrupts are implemented. Also added two test programs: -...
The `WORD`, `BYTE` ... directives accept only numbers or (hex) string literals. It would be nice if they could also handle labels or constants.
```asm st J a RESB 0x1000 a J st END 0 ``` When this program is assembled the J 1003 doesn't fit into 11 bits, and so Sic.asm is forced...
Something takes up a lot of memory (4.2GiB)! I suspect it has something with JSUB & JRET, but am not sure. Why are JSUB & RSUB tracked in java anyway?
``` Exception in thread "Timer-1" java.util.EmptyStackException at java.base/java.util.Stack.peek(Stack.java:103) at java.base/java.util.Stack.pop(Stack.java:85) at sic.sim.vm.Machine.popJSUB(Machine.java:340) at sic.sim.vm.Machine.execSICF3F4(Machine.java:210) at sic.sim.vm.Machine.execute(Machine.java:318) at sic.sim.Executor.timerTickUntil(Executor.java:70) at sic.sim.Executor$1.run(Executor.java:117) at java.base/java.util.TimerThread.mainLoop(Timer.java:572) at java.base/java.util.TimerThread.run(Timer.java:522) ``` I don't wanna debug this,...