1 |
dpavlin |
2 |
/* |
2 |
|
|
* $Id: test_unaligned.S,v 1.1 2005/01/03 00:25:16 debug Exp $ |
3 |
|
|
* |
4 |
|
|
* Instructions: lwl, lwr, ldl, ldr, swl, swr, sdl, sdr |
5 |
|
|
*/ |
6 |
|
|
|
7 |
|
|
.rdata |
8 |
|
|
.align 3 |
9 |
|
|
$NL: .ascii "\n\0" |
10 |
|
|
|
11 |
|
|
.align 4 |
12 |
|
|
$Yo: .ascii "abcdefghijklmnopqrstuvwxyz" |
13 |
|
|
|
14 |
|
|
.text |
15 |
|
|
.align 4 |
16 |
|
|
.globl testmain |
17 |
|
|
.ent testmain |
18 |
|
|
testmain: |
19 |
|
|
/* Save the return address: */ |
20 |
|
|
addiu $29,$29,-16 |
21 |
|
|
sd $31,0($29) |
22 |
|
|
|
23 |
|
|
|
24 |
|
|
dla $5, $Yo |
25 |
|
|
dli $4, 0x1011121314151617 |
26 |
|
|
lwl $4, 1($5) |
27 |
|
|
|
28 |
|
|
addiu $5, $0, 8 |
29 |
|
|
jal printhex |
30 |
|
|
|
31 |
|
|
dla $4, $NL |
32 |
|
|
jal printstr |
33 |
|
|
|
34 |
|
|
|
35 |
|
|
dla $5, $Yo |
36 |
|
|
dli $4, 0x1011121314151617 |
37 |
|
|
lwr $4, 1($5) |
38 |
|
|
|
39 |
|
|
addiu $5, $0, 8 |
40 |
|
|
jal printhex |
41 |
|
|
|
42 |
|
|
dla $4, $NL |
43 |
|
|
jal printstr |
44 |
|
|
|
45 |
|
|
|
46 |
|
|
dla $5, $Yo |
47 |
|
|
dli $4, 0x1011121314151617 |
48 |
|
|
ldl $4, 1($5) |
49 |
|
|
|
50 |
|
|
addiu $5, $0, 8 |
51 |
|
|
jal printhex |
52 |
|
|
|
53 |
|
|
dla $4, $NL |
54 |
|
|
jal printstr |
55 |
|
|
|
56 |
|
|
|
57 |
|
|
dla $5, $Yo |
58 |
|
|
dli $4, 0x1011121314151617 |
59 |
|
|
ldr $4, 1($5) |
60 |
|
|
|
61 |
|
|
addiu $5, $0, 8 |
62 |
|
|
jal printhex |
63 |
|
|
|
64 |
|
|
dla $4, $NL |
65 |
|
|
jal printstr |
66 |
|
|
|
67 |
|
|
|
68 |
|
|
/* Return value: */ |
69 |
|
|
li $2, 0x1212fefe |
70 |
|
|
|
71 |
|
|
/* Restore the return address: */ |
72 |
|
|
ld $31,0($29) |
73 |
|
|
addiu $29,$29,16 |
74 |
|
|
|
75 |
|
|
/* ... and return. */ |
76 |
|
|
jr $31 |
77 |
|
|
|
78 |
|
|
.end testmain |
79 |
|
|
|