mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2024-11-21 19:42:14 +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);
|
||||
}
|
||||
|
||||
: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 thshift2;
|
||||
|
@ -2339,9 +2339,9 @@ ArmPCRelImmed12: reloff is U23=0 & immed & rotate
|
||||
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();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user