5.58 · exercise

Quiz: Subroutines - Intermediate

Work through the AArch64 procedure call convention: the link register, the frame record chain, saved registers, argument passing, and indirect results.

0 of 8 correct

Knowledge Check

When a bl instruction executes, what value is placed in the link register (x30)?

Knowledge Check

How do frame pointers let a program walk back through previous stack frames?

Knowledge Check

A subroutine wants to use x19 as a working register. What must it do to follow the AArch64 procedure call convention?

Knowledge Check

When an argument is passed by reference, what does the argument register hold?

Knowledge Check

A subroutine returns a large composite result that does not fit in the normal result registers. How does the caller tell it where to put that result?

Knowledge Check

What makes a subroutine a leaf subroutine?

Knowledge Check

Which register range does the AArch64 procedure call convention set aside purely as caller-saved temporaries, with no argument or result role?

Knowledge Check

A subroutine is called with nine integer arguments. Where is the ninth argument passed under the AArch64 procedure call convention?