|
|
|
|
|
by repiret
3312 days ago
|
|
It must be possible to change instruction sets when branching, in order to call or return from a function in the opposite instruction set. There are branching instructions that can't change instruction sets for two reasons:
1. A direct branch can have more range if you can assume it's going to a 4-byte aligned address.
2. For compatibility with code written for ARM7DI and other really old pre-thumb processors. Since the original direct branch instructions ignored the bottom two bits of the target address, new direct branch instructions were added rather than change the behavior of the existing ones. |
|