diff options
author | Bad Diode <bd@badd10de.dev> | 2023-08-30 11:29:53 +0200 |
---|---|---|
committer | Bad Diode <bd@badd10de.dev> | 2023-08-30 11:29:53 +0200 |
commit | 0845bb5aaa1a463c2d35ae6df5a3457441b767b5 (patch) | |
tree | af6bb10402c9f6cf613c2fc67eb51682df76f496 | |
parent | 6a01445ef315c60a5f40b842d24e1e0d34a5d070 (diff) | |
download | uxngba-0845bb5aaa1a463c2d35ae6df5a3457441b767b5.tar.gz uxngba-0845bb5aaa1a463c2d35ae6df5a3457441b767b5.zip |
Fix jmp and nip instructions
-rw-r--r-- | src/uxn-core.s | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/src/uxn-core.s b/src/uxn-core.s index befb02c..318b258 100644 --- a/src/uxn-core.s +++ b/src/uxn-core.s | |||
@@ -1183,17 +1183,18 @@ jcn2: | |||
1183 | jsr: | 1183 | jsr: |
1184 | mov r3, r0 | 1184 | mov r3, r0 |
1185 | sub r3, r3, r7 | 1185 | sub r3, r3, r7 |
1186 | wpop8s r4 | ||
1186 | rpush16 r3 | 1187 | rpush16 r3 |
1187 | wpop8s r3 | 1188 | add r0, r4 |
1188 | add r0, r3 | ||
1189 | b uxn_decode | 1189 | b uxn_decode |
1190 | 1190 | ||
1191 | jsr2: | 1191 | jsr2: |
1192 | mov r3, r0 | 1192 | mov r3, r0 |
1193 | sub r3, r3, r7 | 1193 | sub r3, r3, r7 |
1194 | wpop16 r3, r5 | 1194 | wpop16 r4, r5 |
1195 | rpush16 r3 | ||
1195 | mov r0, r7 | 1196 | mov r0, r7 |
1196 | add r0, r0, r3 | 1197 | add r0, r0, r4 |
1197 | b uxn_decode | 1198 | b uxn_decode |
1198 | 1199 | ||
1199 | sth: | 1200 | sth: |
@@ -1440,14 +1441,14 @@ pop2r: | |||
1440 | 1441 | ||
1441 | nipr: | 1442 | nipr: |
1442 | rpop8 r3 | 1443 | rpop8 r3 |
1443 | strb r3, [r1, #-1] | 1444 | strb r3, [r2, #-1] |
1444 | b uxn_decode | 1445 | b uxn_decode |
1445 | 1446 | ||
1446 | nip2r: | 1447 | nip2r: |
1447 | rpop16 r3, r5 | 1448 | rpop16 r3, r5 |
1448 | strb r3, [r1, #-1] | 1449 | strb r3, [r2, #-1] |
1449 | lsr r3, #8 | 1450 | lsr r3, #8 |
1450 | strb r3, [r1, #-2] | 1451 | strb r3, [r2, #-2] |
1451 | b uxn_decode | 1452 | b uxn_decode |
1452 | 1453 | ||
1453 | swpr: | 1454 | swpr: |
@@ -1606,17 +1607,18 @@ jcn2r: | |||
1606 | jsrr: | 1607 | jsrr: |
1607 | mov r3, r0 | 1608 | mov r3, r0 |
1608 | sub r3, r3, r7 | 1609 | sub r3, r3, r7 |
1609 | wpush16 r3 | 1610 | rpop8s r4 |
1610 | rpop8s r3 | 1611 | rpush16 r3 |
1611 | add r0, r3 | 1612 | add r0, r4 |
1612 | b uxn_decode | 1613 | b uxn_decode |
1613 | 1614 | ||
1614 | jsr2r: | 1615 | jsr2r: |
1615 | mov r3, r0 | 1616 | mov r3, r0 |
1616 | sub r3, r3, r7 | 1617 | sub r3, r3, r7 |
1617 | rpop16 r3, r5 | 1618 | rpop16 r4, r5 |
1619 | rpush16 r3 | ||
1618 | mov r0, r7 | 1620 | mov r0, r7 |
1619 | add r0, r0, r3 | 1621 | add r0, r0, r4 |
1620 | b uxn_decode | 1622 | b uxn_decode |
1621 | 1623 | ||
1622 | sthr: | 1624 | sthr: |
@@ -1861,14 +1863,12 @@ pop2k: | |||
1861 | 1863 | ||
1862 | nipk: | 1864 | nipk: |
1863 | wpeek8 r3, #-1 | 1865 | wpeek8 r3, #-1 |
1864 | strb r3, [r1, #-1] | 1866 | wpush8 r3 |
1865 | b uxn_decode | 1867 | b uxn_decode |
1866 | 1868 | ||
1867 | nip2k: | 1869 | nip2k: |
1868 | wpeek16 r3, r5, #-1, #-2 | 1870 | wpeek16 r3, r5, #-1, #-2 |
1869 | strb r3, [r1, #-1] | 1871 | wpush16 r3 |
1870 | lsr r3, #8 | ||
1871 | strb r3, [r1, #-2] | ||
1872 | b uxn_decode | 1872 | b uxn_decode |
1873 | 1873 | ||
1874 | swpk: | 1874 | swpk: |
@@ -2027,17 +2027,18 @@ jcn2k: | |||
2027 | jsrk: | 2027 | jsrk: |
2028 | mov r3, r0 | 2028 | mov r3, r0 |
2029 | sub r3, r3, r7 | 2029 | sub r3, r3, r7 |
2030 | wpeek8s r4, #-1 | ||
2030 | rpush16 r3 | 2031 | rpush16 r3 |
2031 | wpeek8s r3, #-1 | 2032 | add r0, r4 |
2032 | add r0, r3 | ||
2033 | b uxn_decode | 2033 | b uxn_decode |
2034 | 2034 | ||
2035 | jsr2k: | 2035 | jsr2k: |
2036 | mov r3, r0 | 2036 | mov r3, r0 |
2037 | sub r3, r3, r7 | 2037 | sub r3, r3, r7 |
2038 | wpeek16 r3, r5, #-1, #-2 | 2038 | wpeek16 r4, r5, #-1, #-2 |
2039 | rpush16 r3 | ||
2039 | mov r0, r7 | 2040 | mov r0, r7 |
2040 | add r0, r0, r3 | 2041 | add r0, r0, r4 |
2041 | b uxn_decode | 2042 | b uxn_decode |
2042 | 2043 | ||
2043 | sthk: | 2044 | sthk: |
@@ -2282,14 +2283,12 @@ pop2kr: | |||
2282 | 2283 | ||
2283 | nipkr: | 2284 | nipkr: |
2284 | rpeek8 r3, #-1 | 2285 | rpeek8 r3, #-1 |
2285 | strb r3, [r1, #-1] | 2286 | wpush8 r3 |
2286 | b uxn_decode | 2287 | b uxn_decode |
2287 | 2288 | ||
2288 | nip2kr: | 2289 | nip2kr: |
2289 | rpeek16 r3, r5, #-1, #-2 | 2290 | rpeek16 r3, r5, #-1, #-2 |
2290 | strb r3, [r1, #-1] | 2291 | rpush16 r3 |
2291 | lsr r3, #8 | ||
2292 | strb r3, [r1, #-2] | ||
2293 | b uxn_decode | 2292 | b uxn_decode |
2294 | 2293 | ||
2295 | swpkr: | 2294 | swpkr: |
@@ -2448,17 +2447,18 @@ jcn2kr: | |||
2448 | jsrkr: | 2447 | jsrkr: |
2449 | mov r3, r0 | 2448 | mov r3, r0 |
2450 | sub r3, r3, r7 | 2449 | sub r3, r3, r7 |
2451 | wpush16 r3 | 2450 | rpeek8s r4, #-1 |
2452 | rpeek8s r3, #-1 | 2451 | rpush16 r3 |
2453 | add r0, r3 | 2452 | add r0, r4 |
2454 | b uxn_decode | 2453 | b uxn_decode |
2455 | 2454 | ||
2456 | jsr2kr: | 2455 | jsr2kr: |
2457 | mov r3, r0 | 2456 | mov r3, r0 |
2458 | sub r3, r3, r7 | 2457 | sub r3, r3, r7 |
2459 | rpeek16 r3, r5, #-1, #-2 | 2458 | rpeek16 r4, r5, #-1, #-2 |
2459 | rpush16 r3 | ||
2460 | mov r0, r7 | 2460 | mov r0, r7 |
2461 | add r0, r0, r3 | 2461 | add r0, r0, r4 |
2462 | b uxn_decode | 2462 | b uxn_decode |
2463 | 2463 | ||
2464 | sthkr: | 2464 | sthkr: |