1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
// Mark stack as non-executable
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack, "", @progbits
#endif
.text
.globl rust_swap_registers
.align 2
.set nomips16
.ent rust_swap_registers
rust_swap_registers:
.set noreorder
.set nomacro
.set noat
sw $1, 1 * 4($4)
sw $2, 2 * 4($4)
sw $3, 3 * 4($4)
sw $4, 4 * 4($4)
sw $5, 5 * 4($4)
sw $6, 6 * 4($4)
sw $7, 7 * 4($4)
sw $8, 8 * 4($4)
sw $9, 9 * 4($4)
sw $10, 10 * 4($4)
sw $11, 11 * 4($4)
sw $12, 12 * 4($4)
sw $13, 13 * 4($4)
sw $14, 14 * 4($4)
sw $15, 15 * 4($4)
sw $16, 16 * 4($4)
sw $17, 17 * 4($4)
sw $18, 18 * 4($4)
sw $19, 19 * 4($4)
sw $20, 20 * 4($4)
sw $21, 21 * 4($4)
sw $22, 22 * 4($4)
sw $23, 23 * 4($4)
sw $24, 24 * 4($4)
sw $25, 25 * 4($4)
sw $26, 26 * 4($4)
sw $27, 27 * 4($4)
sw $28, 28 * 4($4)
sw $29, 29 * 4($4)
sw $30, 30 * 4($4)
sw $31, 31 * 4($4)
lw $1, 1 * 4($5)
lw $2, 2 * 4($5)
lw $3, 3 * 4($5)
lw $4, 4 * 4($5)
lw $6, 6 * 4($5)
lw $7, 7 * 4($5)
lw $8, 8 * 4($5)
lw $9, 9 * 4($5)
lw $10, 10 * 4($5)
lw $11, 11 * 4($5)
lw $12, 12 * 4($5)
lw $13, 13 * 4($5)
lw $14, 14 * 4($5)
lw $15, 15 * 4($5)
lw $16, 16 * 4($5)
lw $17, 17 * 4($5)
lw $18, 18 * 4($5)
lw $19, 19 * 4($5)
lw $20, 20 * 4($5)
lw $21, 21 * 4($5)
lw $22, 22 * 4($5)
lw $23, 23 * 4($5)
lw $24, 24 * 4($5)
lw $25, 25 * 4($5)
lw $26, 26 * 4($5)
lw $27, 27 * 4($5)
lw $28, 28 * 4($5)
lw $29, 29 * 4($5)
lw $30, 30 * 4($5)
lw $31, 31 * 4($5)
lw $5, 5 * 4($5)
jr $31
nop
.end rust_swap_registers
|