Jump to content

SPARC Assembly/Subroutines

From Wikibooks, open books for an open world

This page is going to discuss the use of subroutines in SPARC Assembly.

Saving Registers

[edit | edit source]

Subroutine Linkage

[edit | edit source]

A typical (non-leaf) subroutine has a procedure prologue and epilogue something like this:[1][2]

do_something_useful:
    ; prologue:
    save %sp, -16, %sp

    ; main body
    ; ... perform function ...

    ; leave return value, if any, in register %i0

    ; epilogue:
    ret
    restore

Return Values

[edit | edit source]

Further reading

[edit | edit source]