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