Commit | Line | Data |
---|---|---|
252b5132 RH |
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 | |
704897fb | 10 | .globl main |
252b5132 RH |
11 | .ent main |
12 | main: | |
704897fb | 13 | .frame $fp,24,$31 # vars= 16, regs= 2/0, args= 0, extra= 0 |
252b5132 RH |
14 | .mask 0xc0000000,-8 |
15 | .fmask 0x00000000,0 | |
704897fb MR |
16 | subu $sp,$sp,24 |
17 | sw $31,20($sp) | |
18 | sw $fp,16($sp) | |
252b5132 RH |
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 | |
704897fb MR |
35 | lw $31,20($sp) |
36 | lw $fp,16($sp) | |
37 | addu $sp,$sp,24 | |
252b5132 RH |
38 | j $31 |
39 | .end main | |
40 | .align 2 | |
41 | .globl g | |
42 | .ent g | |
43 | g: | |
704897fb | 44 | .frame $fp,24,$31 # vars= 16, regs= 1/0, args= 0, extra= 0 |
252b5132 RH |
45 | .mask 0x40000000,-16 |
46 | .fmask 0x00000000,0 | |
704897fb MR |
47 | subu $sp,$sp,24 |
48 | sw $fp,16($sp) | |
252b5132 RH |
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 | |
704897fb MR |
57 | lw $fp,16($sp) |
58 | addu $sp,$sp,24 | |
252b5132 RH |
59 | j $31 |
60 | .end g |