mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-22 04:05:39 +00:00
ARM and THUMB corrections
ADD (SP plus register, T32) was incorrectly op11=0x1e (1 1 1 1 0), but is supposed to be 0x1d (1 1 1 0 1) ARM's CLREX matches THUMB's BL<c> <label>. Added AMODE check to CLREX
This commit is contained in:
parent
49c2010b63
commit
5028d3015d
@ -1103,7 +1103,7 @@ with : ARMcondCk=1 {
|
|||||||
resflags(Rd0811);
|
resflags(Rd0811);
|
||||||
}
|
}
|
||||||
|
|
||||||
:add^thSBIT_CZNO^ItCond^".w" Rd0811,sp,thshift2 is TMode=1 & ItCond & op11=0x1e & thc0910=1 & sop0508=8 & thSBIT_CZNO & sop0003=0xd & sp; thc1515=0 & Rd0811 & thshift2
|
:add^thSBIT_CZNO^ItCond^".w" Rd0811,sp,thshift2 is TMode=1 & ItCond & op11=0x1d & thc0910=1 & sop0508=8 & thSBIT_CZNO & sop0003=0xd & sp; thc1515=0 & Rd0811 & thshift2
|
||||||
{
|
{
|
||||||
build ItCond;
|
build ItCond;
|
||||||
build thshift2;
|
build thshift2;
|
||||||
|
@ -2339,9 +2339,9 @@ ArmPCRelImmed12: reloff is U23=0 & immed & rotate
|
|||||||
coprocessor_function(t_cpn,t_op1,t_op2,CRd,CRn,CRm);
|
coprocessor_function(t_cpn,t_op1,t_op2,CRd,CRn,CRm);
|
||||||
}
|
}
|
||||||
|
|
||||||
@if defined(VERSION_6K)
|
@if defined(VERSION_6K) || defined(VERSION_7)
|
||||||
|
|
||||||
:clrex is c0031=0xf57ff01f {
|
:clrex is $(AMODE) & c0031=0xf57ff01f {
|
||||||
ClearExclusiveLocal();
|
ClearExclusiveLocal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user