ARM Blog RISC OS PrivateEye PhotoFiler Geminus IntroductionToARM Toolbar Site Project Containers GitHub Hardware iOS Optimisation Aha Retro Links Dump Spectrum Risc PC The Great Escape Reverse Engineering LEGO Wedding Acorn Doodle Blender 3D Isometric 2D Article Sinclair Ocean Disassembly Chase H.Q. Tip TargetedOptimisation Archimedes Logo BasicOptimisation Slide Trace Hard Disc Vector Recreation Pixel Art Groening Simpsons Futurama Disenchantment BBC Micro Electron MotionMasks Script Python Iyonix QuickFiler Game EfficientC
BL
) to routine B.
BL
then its existing stored R14 would be overwritten. So it stores its R14 to the stack to preserve it.BL
’s to routine C. (R14 ← return address, PC ← Routine C).MOV pc,r14
.
BL
instruction.BL
.Routine C does not call any subroutines; it is known as a leaf routine. Leaf routines can dispense with the overhead of storing their return address on the stack.