# # example for linking # # main file defines two input variables # file with procedures defines two output variables # .text .globl main main: # opening linkage 0000 addi $sp, $sp, -4 0004 sw $ra, 0($sp) # call two procedures in other file 0008 add $t0, $t0, $zero 000c jal computeX 0010 add $t0, $t0, $zero 0014 jal computeY 0018 add $t0, $t0, $zero # call local procedure 001c jal plocal # closing linkage 0020 lw $ra, 0($sp) 0024 addi $sp, $sp, 4 0028 jr $ra .end main # local procedure plocal: 002c jr $ra size 0030 .data .globl inputX .globl inputY 0000 .asciiz "hello!\n" (7 chars) 0007 inputX: 0008 .word 100 ("word" forces alignment) inputY: 000c .word 200 size 0010