The University of Sydney · FACULTY OF COMPUTER SYSTEMS

ELEC1601 Chap.9 Subroutines and Calling Conventions

- one subject, every graph, every model, every mark
5 Chapters3-page Bible
Our own words - no uploaded lecturer files
Updated for this semester
Chapter 9 of 12 · ELEC1601

Subroutines and Calling Conventions

Define call and return

Subroutines and Calling Conventions turns call and return, parameter passing and caller- and callee-saved state into executable reasoning.

The chapter's practical target is to design a subroutine interface and prove that registers, arguments and results survive the call correctly, so every explanation should connect syntax to program state, control flow and observable output.

Treat call and return as a precise program object, not a loose label.

Identify the value or responsibility of call and return before execution, then trace what can read it, change it or depend on it. This makes state changes visible before they become debugging guesses.

Use parameter passing to explain the program's next move. Work through one representative parameter passing input by hand and name the branch, iteration or call that follows.

If the parameter passing trace cannot be stated, the code may run by accident rather than by understood design.

Bring in caller- and callee-saved state as the test of structure.

Compare normal, boundary and invalid inputs for caller- and callee-saved state; state the expected behaviour first; then use the mismatch between expectation and result to localise the defect.

Trace parameter passing

For the application — design a subroutine interface and prove that registers, arguments and results survive the call correctly — write the smallest complete example that exposes the rule.

Explain why the caller- and callee-saved state result works, what would break it and how the program should signal or recover from that failure.

Before running an call and return example, make a trace table with the important state before and after each operation.

Include the value associated with call and return, the control decision governed by parameter passing and the output or object affected by caller- and callee-saved state. The call and return table turns an unexplained result into a sequence that can be tested one transition at a time.

Test three inputs: an ordinary case, a boundary case and an invalid case.

State the expected caller- and callee-saved state result for each before execution, then compare it with what the program actually does. A useful test of parameter passing isolates one rule; changing several conditions at once cannot reveal which condition caused the failure.

Practise explaining the solution without reading the code.

For ELEC1601, name the data representation, the control flow, the responsibility of each function or class and the reason the chosen design supports design a subroutine interface and prove that registers, arguments and results survive the call correctly.

This caller- and callee-saved state rehearsal matters when a written test or interview asks why the program works rather than whether it produces one correct output.

Test with caller- and callee-saved state

A complete response should make the task visible before the detail: identify what must be decided, define the relevant terms, connect the evidence to parameter passing, and use caller- and callee-saved state to test the result.

The final sentence about caller- and callee-saved state should answer the question actually asked rather than merely repeat the topic.

The controlling limit is specific: A function that returns the right sample result can still violate the calling convention and corrupt later execution.

Keep that caller- and callee-saved state limit beside the worked example, because it separates a careful ELEC1601 answer from one that sounds confident but claims more than the task or evidence supports.

For revision, retrieve call and return, parameter passing and caller- and callee-saved state without notes, explain their relationship aloud, then complete a changed version of the application: design a subroutine interface and prove that registers, arguments and results survive the call correctly.

Record the first failed parameter passing reasoning move and repair it before attempting another case.

In this chapter

What this chapter covers

  • 01

    call and return

  • 02

    parameter passing

  • 03

    caller- and callee-saved state

  • 04

    Applying call and return

  • 05

    Limits of parameter passing and caller- and callee-saved state

Worked example · free

AskSia practice: apply Subroutines and Calling Conventions

Q [4 marks]. AskSia-authored four-point reasoning drill: how should a student design a subroutine interface and prove that registers, arguments and results survive the call correctly? This is not a University question or marking scheme.
  • 1Define call and return in the scenario.
  • 1Explain the mechanism using parameter passing.
  • 1Test the conclusion with caller- and callee-saved state.
  • 1State a qualified decision and review signal.
A strong response identifies the relevant evidence, uses parameter passing as the explanatory link and tests the recommendation through caller- and callee-saved state. It ends by stating that a function that returns the right sample result can still violate the calling convention and corrupt later execution.
Sia tip — The four points are AskSia-authored practice weighting only.
Glossary

Key terms

call and return
Control-transfer operations that enter a subroutine while saving a continuation address and later resume the caller. Use this definition when the task is to design a subroutine interface and prove that registers, arguments and results survive the call correctly.
parameter passing
A calling convention's method for transferring input values or addresses from caller to subroutine. Use this definition when the task is to design a subroutine interface and prove that registers, arguments and results survive the call correctly.
caller- and callee-saved state
Rules assigning responsibility for preserving register values across a subroutine call. Use this definition when the task is to design a subroutine interface and prove that registers, arguments and results survive the call correctly.
FAQ

Subroutines and Calling Conventions FAQ

What is the main task in Subroutines and Calling Conventions?

Design a subroutine interface and prove that registers, arguments and results survive the call correctly.

How do call and return and parameter passing work together?

Use call and return to establish the object or condition, then use parameter passing to explain how it changes the outcome being analysed.

What must a ELEC1601 answer qualify here?

A function that returns the right sample result can still violate the calling convention and corrupt later execution.

How should I revise Subroutines and Calling Conventions?

Retrieve call and return, parameter passing and caller- and callee-saved state, apply them to a changed case, and correct the first point where the evidence no longer supports the conclusion.

Study strategy

Exam move

Reconstruct the relationship among call and return, parameter passing and caller- and callee-saved state; complete the chapter application without notes; then test the result against this limit: A function that returns the right sample result can still violate the calling convention and corrupt later execution.

Working through Subroutines and Calling Conventions in ELEC1601? Sia is AskSia’s AI Computer Systems tutor — ask any ELEC1601 Subroutines and Calling Conventions question and get a clear, step-by-step explanation grounded in how ELEC1601 is taught and assessed. Read this chapter free, then take your hardest questions to Sia.

A+Everything unlocked
Unlocks this Bible + all 9 of your The University of Sydney subjects - and 1,000+ Bibles across every Australian university.
Sia - your ELEC1601 tutor, unlimited, worked the way the exam marks it
The full 3-page Bible + practice bank with worked solutions
Chrome extension - sync your LMS so Sia knows your deadlines
Bilingual EN / Chinese on every Bible and every Sia answer
$0.99 Trial
30-day money-back · cancel in one tap · how it works
Unlock the full ELEC1601 Bible + 9 The University of Sydney subjects
$0.99 Trial