|
@@ -1037,9 +1037,10 @@ implementation
|
|
begin
|
|
begin
|
|
case taicpu(hp).opcode of
|
|
case taicpu(hp).opcode of
|
|
A_BX,
|
|
A_BX,
|
|
- A_LDR:
|
|
|
|
|
|
+ A_LDR,
|
|
|
|
+ A_ADD:
|
|
{ approximation if we hit a case jump table }
|
|
{ approximation if we hit a case jump table }
|
|
- if ((taicpu(hp).opcode=A_LDR) and not(GenerateThumbCode or GenerateThumb2Code) and
|
|
|
|
|
|
+ if ((taicpu(hp).opcode in [A_ADD,A_LDR]) and not(GenerateThumbCode or GenerateThumb2Code) and
|
|
(taicpu(hp).oper[0]^.typ=top_reg) and
|
|
(taicpu(hp).oper[0]^.typ=top_reg) and
|
|
(taicpu(hp).oper[0]^.reg=NR_PC)) or
|
|
(taicpu(hp).oper[0]^.reg=NR_PC)) or
|
|
((taicpu(hp).opcode=A_BX) and (GenerateThumbCode) and
|
|
((taicpu(hp).opcode=A_BX) and (GenerateThumbCode) and
|