mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
Merge remote-tracking branch 'origin/GP-3723_ghidorahrex_PIC16_movlb_variant' into patch
This commit is contained in:
@@ -10,7 +10,8 @@ define token instr16(16)
|
|||||||
op12 = (2,13)
|
op12 = (2,13)
|
||||||
op11 = (3,13)
|
op11 = (3,13)
|
||||||
op9 = (5,13)
|
op9 = (5,13)
|
||||||
op7 = (7,13)
|
op8 = (6,13)
|
||||||
|
op7 = (7,13)
|
||||||
op6 = (8,13)
|
op6 = (8,13)
|
||||||
op5 = (9,13)
|
op5 = (9,13)
|
||||||
op4 = (10,13)
|
op4 = (10,13)
|
||||||
@@ -26,6 +27,7 @@ define token instr16(16)
|
|||||||
fsrk = (6,6)
|
fsrk = (6,6)
|
||||||
fregCore = (0,3)
|
fregCore = (0,3)
|
||||||
k5 = (0,4)
|
k5 = (0,4)
|
||||||
|
k6 = (0,5)
|
||||||
k7 = (0,6)
|
k7 = (0,6)
|
||||||
k8 = (0,7)
|
k8 = (0,7)
|
||||||
sk9 = (0,8) signed
|
sk9 = (0,8) signed
|
||||||
@@ -256,8 +258,12 @@ imm8: "#"k8 is k8 { export *[const]:1 k8; }
|
|||||||
# Immediate Data (Literal operation)
|
# Immediate Data (Literal operation)
|
||||||
imm7: "#"k7 is k7 { export *[const]:1 k7; }
|
imm7: "#"k7 is k7 { export *[const]:1 k7; }
|
||||||
|
|
||||||
|
# Immediate Data (Literal operation)
|
||||||
|
imm6: "#"k6 is k6 { export *[const]:1 k6; }
|
||||||
|
|
||||||
# Immediate Data (Literal operation)
|
# Immediate Data (Literal operation)
|
||||||
imm5: "#"k5 is k5 { export *[const]:1 k5; }
|
imm5: "#"k5 is k5 { export *[const]:1 k5; }
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
# Bit identifier
|
# Bit identifier
|
||||||
@@ -751,7 +757,7 @@ srcFSRk: sk6"["fsrk"]" is fsrk & sk6 {
|
|||||||
|
|
||||||
:LSLF srcREG, D is op6=0x35 & srcREG & D & destREG {
|
:LSLF srcREG, D is op6=0x35 & srcREG & D & destREG {
|
||||||
# --11 0101 dfff ffff
|
# --11 0101 dfff ffff
|
||||||
$(C) = (srcREG & 80) != 0;
|
$(C) = (srcREG & 0x80) != 0;
|
||||||
val:1 = srcREG << 1;
|
val:1 = srcREG << 1;
|
||||||
setResultFlags(val);
|
setResultFlags(val);
|
||||||
destREG = val;
|
destREG = val;
|
||||||
@@ -787,6 +793,11 @@ srcFSRk: sk6"["fsrk"]" is fsrk & sk6 {
|
|||||||
BSR = imm5;
|
BSR = imm5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Alternate variant in certain pic16f variants
|
||||||
|
:MOVLB imm6 is op8=0x5 & imm6 {
|
||||||
|
BSR = imm6;
|
||||||
|
}
|
||||||
|
|
||||||
:MOVLP imm7 is op7=0x63 & imm7 {
|
:MOVLP imm7 is op7=0x63 & imm7 {
|
||||||
PCLATH = imm7;
|
PCLATH = imm7;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user