You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For ARM branch instructions there is no pc register in the list of accessed for write registers.
According to ARM asm manual branch, instructions like b and bl have syntax B{L}{cond} label where "label is a program-relative expression".
This means that pc regiter should always be in list of accessed for read registers.
And, obviously, pc should be in list of accessed for write registers.
P.S. I don't check this for BX, BLX and BXJ instructions, but they can be also affected.
Example 1
It's obvious that for beq #0x90 the pc register will be read and written (to make smth like pc = pc + CONST) if zero flag is set.
But we have empty lists:
For ARM branch instructions there is no
pc
register in the list of accessed for write registers.According to ARM asm manual branch, instructions like
b
andbl
have syntaxB{L}{cond} label
where "label
is a program-relative expression".This means that
pc
regiter should always be in list of accessed for read registers.And, obviously,
pc
should be in list of accessed for write registers.P.S. I don't check this for
BX
,BLX
andBXJ
instructions, but they can be also affected.Example 1
It's obvious that for
beq #0x90
thepc
register will be read and written (to make smth likepc = pc + CONST
) if zero flag is set.But we have empty lists:
Actual
Read:
Written:
Expected
Read:
pc
Written:
pc
Example 2
For
bl
instructionspc
register should also be inregs_write
list of accessed registers.Actual
Read:
pc
Written:
lr
Expected
Read:
pc
Written:
lr
,pc
The text was updated successfully, but these errors were encountered: