mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-02 10:47:10 +08:00
Merge remote-tracking branch 'origin/GP-2872_ghidorahrex_arm_v45t_blx'
into patch (Closes #4320)
This commit is contained in:
@@ -1455,7 +1455,16 @@ macro th_set_carry_for_asr(op1,shift_count) {
|
|||||||
local dest = lr + off:4;
|
local dest = lr + off:4;
|
||||||
lr = inst_next|1;
|
lr = inst_next|1;
|
||||||
SetThumbMode(1);
|
SetThumbMode(1);
|
||||||
goto [dest];
|
call [dest];
|
||||||
|
}
|
||||||
|
|
||||||
|
:bl^ItCond lr is TMode=1 & ItCond & op11=0x1f & offset11=0 & lr
|
||||||
|
{
|
||||||
|
build ItCond;
|
||||||
|
local dest = lr;
|
||||||
|
lr = inst_next|1;
|
||||||
|
SetThumbMode(1);
|
||||||
|
call [dest];
|
||||||
}
|
}
|
||||||
|
|
||||||
:blx^ItCond "#"^off is TMode=1 & ItCond & op11=0x1d & offset11 & thc0000=0 [ off = offset11 << 1; ]
|
:blx^ItCond "#"^off is TMode=1 & ItCond & op11=0x1d & offset11 & thc0000=0 [ off = offset11 << 1; ]
|
||||||
@@ -1466,6 +1475,16 @@ macro th_set_carry_for_asr(op1,shift_count) {
|
|||||||
SetThumbMode(0);
|
SetThumbMode(0);
|
||||||
call [dest];
|
call [dest];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:blx^ItCond lr is TMode=1 & ItCond & op11=0x1d & offset11=0 & thc0000=0 & lr
|
||||||
|
{
|
||||||
|
build ItCond;
|
||||||
|
local dest = (lr & (~0x3));
|
||||||
|
lr = inst_next|1;
|
||||||
|
SetThumbMode(0);
|
||||||
|
call [dest];
|
||||||
|
}
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
:bl^ItCond ThAddr24 is TMode=1 & CALLoverride=1 & ItCond & (op11=0x1e; part2c1415=3 & part2c1212=1) & ThAddr24
|
:bl^ItCond ThAddr24 is TMode=1 & CALLoverride=1 & ItCond & (op11=0x1e; part2c1415=3 & part2c1212=1) & ThAddr24
|
||||||
|
|||||||
Reference in New Issue
Block a user