summaryrefslogtreecommitdiff
path: root/sux.c
diff options
context:
space:
mode:
authormrb0nk500 <b0nk@b0nk.xyz>2020-05-29 22:38:34 -0400
committermrb0nk500 <b0nk@b0nk.xyz>2020-05-29 22:38:34 -0400
commit2f9d38f9f9d6f17bc274934b23915417012eeed8 (patch)
treeb72aff709261d5e22f026835191eec9b73a77ff5 /sux.c
parent47cb4ad67be723a4df8e6ccd3cad6be79e3e7765 (diff)
Make JSL, JSR absolute, and remove RTL.
The reason for doing this was because JSL, and RTL are redundent, as they both do the same thing as JSR, and RTS.
Diffstat (limited to 'sux.c')
-rw-r--r--sux.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/sux.c b/sux.c
index 75577d2..dcdd79b 100644
--- a/sux.c
+++ b/sux.c
@@ -457,7 +457,7 @@ void *run(void *args) {
break;
case JSR_IN: /* JSR Indirect. */
case JSR: /* Jump to SubRoutine. */
- case JSL: /* Jump to Subroutine Long. */
+ case JSR_Z: /* JSR Zero Matrix. */
value.u64 = cpu->pc[thread];
addr[(cpu->stk_st[thread] << 16)+cpu->sp[thread]-0] = value.u8[7];
addr[(cpu->stk_st[thread] << 16)+cpu->sp[thread]-1] = value.u8[6];
@@ -481,7 +481,6 @@ void *run(void *args) {
cpu->sp[thread] += 1;
cpu->ps.u8[thread] = addr[(cpu->stk_st[thread] << 16)+(cpu->sp[thread])]; /* Falls through. */
case RTS: /* ReTurn from Subroutine. */
- case RTL: /* ReTurn from subroutine Long. */
cpu->sp[thread] += 8;
value.u8[0] = addr[(cpu->stk_st[thread] << 16)+(cpu->sp[thread]-7)];
value.u8[1] = addr[(cpu->stk_st[thread] << 16)+(cpu->sp[thread]-6)];