@@ -737,20 +737,20 @@ define pcodeop break;
737
737
:elpm is phase=1 & ophi16=0x95d8 {
738
738
ptr:3 = zext(Z) | (zext(RAMPZ) << 16);
739
739
tmp:2 = *[code]:2 (ptr >> 1);
740
- val:2 = (tmp >> (Z & 0x1));
741
- R0 = val:1;
740
+ val:2 = (tmp >> (8 * ( Z & 0x1) ));
741
+ R0 = val:1;
742
742
}
743
743
:elpm RdFull, Z is phase=1 & ophi7=0x48 & oplow4=0x6 & RdFull & Z {
744
744
ptr:3 = zext(Z) | (zext(RAMPZ) << 16);
745
745
tmp:2 = *[code]:2 (ptr >> 1);
746
- val:2 = (tmp >> (Z & 0x1));
746
+ val:2 = (tmp >> (8 * ( Z & 0x1) ));
747
747
RdFull = val:1;
748
748
}
749
749
750
750
:elpm RdFull, Z^"+" is phase=1 & ophi7=0x48 & oplow4=0x7 & RdFull & Z {
751
751
ptr:3 = zext(Z) | (zext(RAMPZ) << 16);
752
752
tmp:2 = *[code]:2 (ptr >> 1);
753
- val:2 = (tmp >> (Z & 0x1));
753
+ val:2 = (tmp >> (8 * ( Z & 0x1) ));
754
754
RdFull = val:1;
755
755
ptr = ptr + 1;
756
756
Z = ptr:2;
@@ -892,21 +892,21 @@ LdPredec: "-"^RstPtr is RstPtr { RstPtr = RstPtr - 0x01; export RstPtr; }
892
892
:lpm R0 is phase=1 & ophi16=0x95c8 & R0 {
893
893
ptr:$(PCBYTESIZE) = zext(Z);
894
894
tmp:$(PCBYTESIZE) = *[code]:$(PCBYTESIZE) (ptr >> 1);
895
- val:$(PCBYTESIZE) = (tmp >> (Z & 0x1));
895
+ val:$(PCBYTESIZE) = (tmp >> (8 * ( Z & 0x1) ));
896
896
R0 = val:1;
897
897
}
898
898
# lpm Rd,Z
899
899
:lpm RdFull,Z is phase=1 & ophi7=0x48 & op1to3=0x2 & RdFull & Z & opbit0=0 {
900
900
ptr:$(PCBYTESIZE) = zext(Z);
901
901
tmp:$(PCBYTESIZE) = *[code]:$(PCBYTESIZE) (ptr >> 1);
902
- val:$(PCBYTESIZE) = (tmp >> (Z & 0x1));
902
+ val:$(PCBYTESIZE) = (tmp >> (8 * ( Z & 0x1) ));
903
903
RdFull = val:1;
904
904
}
905
905
# lpm Rd,Z+
906
906
:lpm RdFull,Z"+" is phase=1 & ophi7=0x48 & op1to3=0x2 & RdFull & Z & opbit0=1 {
907
907
ptr:$(PCBYTESIZE) = zext(Z);
908
908
tmp:$(PCBYTESIZE) = *[code]:$(PCBYTESIZE) (ptr >> 1);
909
- val:$(PCBYTESIZE) = (tmp >> (Z & 0x1));
909
+ val:$(PCBYTESIZE) = (tmp >> (8 * ( Z & 0x1) ));
910
910
RdFull = val:1;
911
911
Z = Z + 1;
912
912
}
@@ -1161,3 +1161,4 @@ define pcodeop watchdog_reset;
1161
1161
*[mem]:1 ptr = RdFull;
1162
1162
RdFull = tmp;
1163
1163
}
1164
+
0 commit comments