Yes. That is one of ideas of modularity. You want to write a subroutine without the need to look inside other modules.
The subroutine looks something like this:
## maxInt -- compute the maximum of two integer arguments
##
## Input:
## $a0 -- a signed integer
## $a1 -- a signed integer
##
## Returns:
## $v0 -- maximum
.text
.globl maxInt
maxInt:
# prolog
# body
# epilog
This subroutine does not call another subroutine.
According to the rules of stack-based linking, does this subroutine's prolog need to push the return address?