PLP; compute SR
authorAlyssa Rosenzweig <alyssa@backtick.town>
Wed, 29 Jun 2016 19:56:24 +0000 (12:56 -0700)
committerAlyssa Rosenzweig <alyssa@backtick.town>
Wed, 29 Jun 2016 19:56:24 +0000 (12:56 -0700)
src/CPU/instructions/PLP
src/meta.tosh

index aefd550..a22ccad 100644 (file)
@@ -2,10 +2,4 @@ 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>
-set flagD to < (item (join (letter 2 of M) "8")+1 of AND) = 8>
-set flagI to < (item (join (letter 2 of M) "4")+1 of AND) = 4>
-set flagZ to < (item (join (letter 2 of M) "2")+1 of AND) = 2>
-set flagC to < (item (join (letter 2 of M) "1")+1 of AND) = 1>
+PLP
index 4f6c20f..e2b8d04 100644 (file)
@@ -21,10 +21,18 @@ else
 end
 
 define PLP
+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>
+set flagD to < (item (join (letter 2 of M) "8")+1 of AND) = 8>
+set flagI to < (item (join (letter 2 of M) "4")+1 of AND) = 4>
+set flagZ to < (item (join (letter 2 of M) "2")+1 of AND) = 2>
+set flagC to < (item (join (letter 2 of M) "1")+1 of AND) = 1>
 
 define interrupt
 
 define compute SR
+set SR to (128*flagN) + (64*flagV) + (32) + (16*flagB) + (8*flagD) + (4*flagI) + (2*flagZ) + (1*flagC)
 
 when flag clicked
 set A to 0
This page took 0.032536 seconds and 4 git commands to generate.