1 .text 2 3# some data 4 .word 0xdeadbeef 5 .word 0xdeadbeef 6 .word 0xdeadbeef 7 .word 0xdeadbeef 8 9# some real code, compiled from a toy C program 10 .globl main 11 .ent main 12main: 13 .frame $fp,24,$31 # vars= 16, regs= 2/0, args= 0, extra= 0 14 .mask 0xc0000000,-8 15 .fmask 0x00000000,0 16 subu $sp,$sp,24 17 sw $31,20($sp) 18 sw $fp,16($sp) 19 move $fp,$sp 20 jal __main 21 li $2,2 # 0x2 22 sw $2,0($fp) 23 lw $2,0($fp) 24 move $3,$2 25 sll $4,$3,1 26 addu $2,$4,$2 27 sw $2,4($fp) 28 lw $4,4($fp) 29 jal g 30 lw $3,0($fp) 31 move $2,$3 32 b $L1 33$L1: 34 move $sp,$fp 35 lw $31,20($sp) 36 lw $fp,16($sp) 37 addu $sp,$sp,24 38 j $31 39 .end main 40 .align 2 41 .globl g 42 .ent g 43g: 44 .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0 45 .mask 0x40000000,-16 46 .fmask 0x00000000,0 47 subu $sp,$sp,24 48 sw $fp,16($sp) 49 move $fp,$sp 50 sw $4,0($fp) 51 lw $2,0($fp) 52 addu $3,$2,1 53 move $2,$3 54 b $L2 55$L2: 56 move $sp,$fp 57 lw $fp,16($sp) 58 addu $sp,$sp,24 59 j $31 60 .end g 61