Parent Directory | Revision Log
0.3.4
1 | /* |
2 | * $Id: test_clo_clz.S,v 1.1 2004/08/22 21:51:32 debug Exp $ |
3 | * |
4 | * Instructions: 'clo' (32-bit count leading ones) |
5 | * and 'clz' (32-bit count leading zeroes) |
6 | */ |
7 | |
8 | .rdata |
9 | .align 3 |
10 | $NL: .ascii "\n" |
11 | |
12 | .text |
13 | .align 4 |
14 | .globl testmain |
15 | .ent testmain |
16 | testmain: |
17 | /* Save the return address: */ |
18 | addiu $29,$29,-16 |
19 | sd $31,0($29) |
20 | |
21 | |
22 | li $6, 0x0 |
23 | clo $4, $6 |
24 | addiu $5, $0, 8 |
25 | jal printhex |
26 | dla $4, $NL |
27 | jal printstr |
28 | |
29 | |
30 | li $6, 0x1 |
31 | clo $4, $6 |
32 | addiu $5, $0, 8 |
33 | jal printhex |
34 | dla $4, $NL |
35 | jal printstr |
36 | |
37 | |
38 | li $6, 0x1234 |
39 | clo $4, $6 |
40 | addiu $5, $0, 8 |
41 | jal printhex |
42 | dla $4, $NL |
43 | jal printstr |
44 | |
45 | |
46 | li $6, 0x12345678 |
47 | clo $4, $6 |
48 | addiu $5, $0, 8 |
49 | jal printhex |
50 | dla $4, $NL |
51 | jal printstr |
52 | |
53 | |
54 | li $6, 0x87654321 |
55 | clo $4, $6 |
56 | addiu $5, $0, 8 |
57 | jal printhex |
58 | dla $4, $NL |
59 | jal printstr |
60 | |
61 | |
62 | li $6, 0x44441100 |
63 | clo $4, $6 |
64 | addiu $5, $0, 8 |
65 | jal printhex |
66 | dla $4, $NL |
67 | jal printstr |
68 | |
69 | |
70 | li $6, 0x0 |
71 | clz $4, $6 |
72 | addiu $5, $0, 8 |
73 | jal printhex |
74 | dla $4, $NL |
75 | jal printstr |
76 | |
77 | |
78 | li $6, 0x1 |
79 | clz $4, $6 |
80 | addiu $5, $0, 8 |
81 | jal printhex |
82 | dla $4, $NL |
83 | jal printstr |
84 | |
85 | |
86 | li $6, 0x1234 |
87 | clz $4, $6 |
88 | addiu $5, $0, 8 |
89 | jal printhex |
90 | dla $4, $NL |
91 | jal printstr |
92 | |
93 | |
94 | li $6, 0x12345678 |
95 | clz $4, $6 |
96 | addiu $5, $0, 8 |
97 | jal printhex |
98 | dla $4, $NL |
99 | jal printstr |
100 | |
101 | |
102 | li $6, 0x87654321 |
103 | clz $4, $6 |
104 | addiu $5, $0, 8 |
105 | jal printhex |
106 | dla $4, $NL |
107 | jal printstr |
108 | |
109 | |
110 | li $6, 0x44441100 |
111 | clz $4, $6 |
112 | addiu $5, $0, 8 |
113 | jal printhex |
114 | dla $4, $NL |
115 | jal printstr |
116 | |
117 | |
118 | /* Return value: */ |
119 | li $2, 0x1212fefe |
120 | |
121 | /* Restore the return address: */ |
122 | ld $31,0($29) |
123 | addiu $29,$29,16 |
124 | |
125 | /* ... and return. */ |
126 | jr $31 |
127 | |
128 | .end testmain |
129 |
ViewVC Help | |
Powered by ViewVC 1.1.26 |