branch exchange (BX)
consider this simple code
int main() {
/* nop */
return 10;
}
produces this:
It's almost always returning from a function, like ret in some other ISAs like AArch64.
nice read:
- https://developer.arm.com/documentation/dui0379/e/arm-and-thumb-instructions/bx
- https://developer.arm.com/documentation/dui0231/b/arm-instruction-reference/arm-branch-instructions/b-and-bl
why?