5.98 · exercise

Intermediate quiz: subroutines

Follow a call through the AArch64 procedure call convention: the link register, the frame record chain, saved registers, argument passing, and large results returned through memory.

0 of 8 correct

Multiple choice

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

Multiple choice

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

Multiple choice

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

Multiple choice

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

Multiple choice

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?

Multiple choice

What makes a subroutine a leaf subroutine?

Multiple choice

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

Multiple choice

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