/[gxemul]/upstream/0.3.2/tests/test_clo_clz.S
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /upstream/0.3.2/tests/test_clo_clz.S

Parent Directory Parent Directory | Revision Log Revision Log


Revision 5 - (show annotations)
Mon Oct 8 16:18:06 2007 UTC (16 years, 6 months ago) by dpavlin
File size: 1562 byte(s)
0.3.2
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