Modernize instruction set to be hexless
authorAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 23 Jun 2016 16:59:33 +0000 (09:59 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Thu, 23 Jun 2016 16:59:33 +0000 (09:59 -0700)
13 files changed:
src/CPU/instructions/ASL
src/CPU/instructions/CMP
src/CPU/instructions/CPX
src/CPU/instructions/CPY
src/CPU/instructions/JMP
src/CPU/instructions/JSR
src/CPU/instructions/LSR
src/CPU/instructions/PLP
src/CPU/instructions/ROL
src/CPU/instructions/ROR
src/CPU/instructions/RTI
src/CPU/instructions/RTS
src/CPU/instructions/SBC

index f0a82fd..9449034 100644 (file)
@@ -1,3 +1,3 @@
 RW,N,Z,OP
-set flagC to <join "0x" (letter 1 of OP) > 7 >
-set OP to (item (( (join "0x" (OP)) * 2) mod 256) + 1 of hex)
+set flagC to <OP > 127>
+set OP to (OP * 2) mod 256
index 2b1452b..d0efdea 100644 (file)
@@ -1,2 +1,2 @@
 R, tmp, N, Z, C
-set tmp to (join "0x" (A)) - (join "0x" (OP))
+set tmp to A - OP
index 40dd79d..bb943cf 100644 (file)
@@ -1,2 +1,2 @@
 R, tmp, N, Z, C
-set tmp to (join "0x" (X)) - (join "0x" (OP))
+set tmp to X - OP
index 12107ea..fcf2b44 100644 (file)
@@ -1,2 +1,2 @@
 R, tmp, N, Z, C
-set tmp to (join "0x" (Y)) - (join "0x" (OP))
+set tmp to Y - OP
index c55c002..e1b7346 100644 (file)
@@ -1,2 +1,2 @@
 RAW
-set PC to (join "0x" (OP))
+set PC to OP
index abecd8f..ad14148 100644 (file)
@@ -4,4 +4,4 @@ mapper write (256 + S) ( (tmp - (tmp mod 256)) / 256)
 set S to (S - 1) mod 256
 mapper write (256 + S) (tmp mod 256)
 set S to (S - 1) mod 256
-set PC to (join "0x" (OP))
+set PC to OP
index cdccb2c..bce9b18 100644 (file)
@@ -1,3 +1,3 @@
 RW, Z
-set flagC to (join "0x" OP) mod 2
-set OP to item ((floor of (join "0x" (OP)) / 2) + 1) of hex
+set flagC to OP mod 2
+set OP to floor of OP / 2
index e7cfbb8..aefd550 100644 (file)
@@ -1,6 +1,7 @@
 IMPLIED
 mapper read (257 + S)
 set S to (S + 1) mod 256
+set M to item (M+1) of hex
 set flagN to < (item (join (letter 1 of M) "8")+1 of AND) = 8>
 set flagV to < (item (join (letter 1 of M) "4")+1 of AND) = 4>
 set flagB to < (item (join (letter 1 of M) "1")+1 of AND) = 1>
index 5054bfb..17b9acd 100644 (file)
@@ -1,4 +1,4 @@
 RW, N, Z
-set tmp to <(join "0x" (letter 1 of OP)) > 7>
-set OP to item ((join "0x" (OP)) * 2 + flagC)+1 of hex
+set tmp to <OP > 127>
+set OP to OP * 2 + flagC
 set flagC to tmp
index 785f870..5050ba7 100644 (file)
@@ -1,4 +1,4 @@
 RW, N, Z
-set tmp to <(join "0x" (OP)) mod 2 = 1>
-set OP to item ((floor of (join "0x" (OP)) / 2) + (128 * flagC))+1 of hex
+set tmp to <OP mod 2 = 1>
+set OP to (floor of OP / 2) + (128 * flagC)
 set flagC to tmp
index d9b6c00..321c2dd 100644 (file)
@@ -5,4 +5,4 @@ set S to (S + 1) mod 256
 set tmp to M
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set PC to join "0x" (join tmp M)
+set PC to (tmp*256) + M
index 28d4d54..e3b6a4d 100644 (file)
@@ -4,4 +4,4 @@ set S to (S + 1) mod 256
 set tmp to M
 mapper read (257 + S)
 set S to (S + 1) mod 256
-set PC to (join "0x" (join tmp M))
+set PC to (tmp*256) + M
index 96de1ee..d4510a9 100644 (file)
@@ -1,5 +1,5 @@
 R,N,Z,A
-set tmp to (join "0x" (A)) - (join "0x" (OP)) - flagC
+set tmp to A - OP - flagC
 set A to item (tmp mod 256)+1 of hex
 set flagC to <tmp > 255>
-set flagV to <<(join "0x" (A)) < 128 and (join "0x" (OP)) < 128 and (tmp mod 256) > 128> or <(join "0x" (A)) > 127 and (join "0x" (OP)) > 127 and (tmp mod 256) < 128>>
+set flagV to <<A < 128 and OP < 128 and (tmp mod 256) > 128> or <A > 127 and OP > 127 and (tmp mod 256) < 128>>
This page took 0.038674 seconds and 4 git commands to generate.