In ARM assembly, what is the main effect of executing the BL instruction?
easy📝 Conceptual Q1 of 15
ARM Architecture - Control Flow Instructions
In ARM assembly, what is the main effect of executing the BL instruction?
AIt branches unconditionally without saving any return address.
BIt branches to a subroutine and saves the return address in the link register.
CIt loads a value into the link register without branching.
DIt performs a conditional branch based on the zero flag.
Step-by-Step Solution
Solution:
Step 1: Understand BL instruction
The BL (Branch with Link) instruction branches to a target address and simultaneously stores the return address (the address of the next instruction) in the link register (LR or R14).
Step 2: Compare options
It branches to a subroutine and saves the return address in the link register. correctly describes this behavior. It branches unconditionally without saving any return address. describes a simple branch (B) without link. It loads a value into the link register without branching. is incorrect as BL always branches. It performs a conditional branch based on the zero flag. is incorrect because BL is unconditional.
Final Answer:
It branches to a subroutine and saves the return address in the link register. -> Option B
Quick Check:
BL saves return address in LR and branches [OK]
Quick Trick:BL branches and saves return address in LR [OK]
Common Mistakes:
Confusing BL with B (branch without link)
Thinking BL only loads LR without branching
Assuming BL is conditional
Master "Control Flow Instructions" in ARM Architecture
9 interactive learning modes - each teaches the same concept differently