fix cmprb_0
authorJacob Lifshay <programmerjake@gmail.com>
Fri, 16 Oct 2020 23:50:49 +0000 (16:50 -0700)
committerJacob Lifshay <programmerjake@gmail.com>
Fri, 16 Oct 2020 23:50:49 +0000 (16:50 -0700)
src/instr_models.rs
src/lib.rs

index 069e58e9200255af5dd71358daabce58ae40eaa8..89e4bdf42e42a010567dfa23130ea99da4628b60 100644 (file)
@@ -854,11 +854,11 @@ pub fn cmplw(inputs: InstructionInput) -> InstructionResult {
 pub fn cmprb_0(inputs: InstructionInput) -> InstructionResult {
     let ra = inputs.try_get_ra()? as u8;
     let rb: u64 = inputs.try_get_rb()?;
-    let eq = ra >= rb as u8 && ra <= (rb >> 8) as u8;
+    let in_range = ra >= rb as u8 && ra <= (rb >> 8) as u8;
     let cr0 = ConditionRegister {
         lt: false,
-        gt: false,
-        eq,
+        gt: in_range,
+        eq: false,
         so: false,
     };
     Ok(InstructionOutput {
index d5447245a45cda1a5c9cded5061becc13a0e0b43..31d48a64ef1d09e2b5e7a2adc47e645525b043ac 100644 (file)
@@ -840,8 +840,8 @@ instructions! {
 
     // cmprb 0, 0, ..., ...
     #[enumerant = CmpRB0]
-    fn cmprb_0(Ra, Rb) -> (CR0) {
-        "cmprb 0, 0,"
+    fn cmprb_0(Ra("r3"), Rb("r4")) -> (CR0) {
+        "cmprb_0" : "cmprb 0, 0, 3, 4"
     }
 }