OpenCores
URL https://opencores.org/ocsvn/lxp32/lxp32/trunk

Subversion Repositories lxp32

[/] [lxp32/] [trunk/] [verify/] [lxp32/] [src/] [firmware/] [test012.asm] - Blame information for rev 9

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 ring0_mipt
/*
2
 * Test multiplication
3
 */
4
 
5
        lc r100, 0x10000000 // test result output pointer
6
        lc r101, halt
7
        lc r102, failure
8
        lc r103, 0x10000004
9
 
10
// Check multiplication table
11
 
12
        lc r32, op1
13
        lc r33, op2
14
        lc r34, product
15
 
16
        lc r35, loop
17
        mov r10, 100
18
 
19
loop:
20
        lw r0, r32
21
        lw r1, r33
22
        mul r3, r0, r1
23
        lw r2, r34
24
        cjmpne r102, r2, r3 // failure
25
        add r32, r32, 4
26
        add r33, r33, 4
27
        add r34, r34, 4
28
        sub r10, r10, 1
29
        cjmpug r35, r10, 0 // loop
30
 
31
// Simulate a linear congruent random number generator
32
// as described in ISO/IEC 9899:1999 ("C99" standard)
33
 
34
        mov r64, 1 // initial value
35
        lc r65, 1103515245 // multiplier
36
        lc r66, 12345 // addition constant
37
        lc r67, 32767 // mask
38
 
39
        mov r10, 100
40
        lc r32, rand
41
        lc r35, rnd_loop
42
 
43
rnd_loop:
44
        call r32 // rand
45
        sw r103, r0
46
        sub r10, r10, 1
47
        cjmpug r35, r10, 0 // rnd_loop
48
 
49
        lc r1, 26521
50
        cjmpne r102, r0, r1 // failure
51
 
52
        sw r100, 1
53
        jmp r101 // halt
54
 
55
failure:
56
        sw r100, 2
57
 
58
halt:
59
        hlt
60
        jmp r101 // halt
61
 
62
rand:
63
        mul r64, r64, r65
64
        add r64, r64, r66
65
        sru r0, r64, 16
66
        and r0, r0, r67
67
        ret
68
 
69
op1:
70
        .word 5
71
        .word 1021028019
72
        .word 3360494259
73
        .word 4241216605
74
        .word 3998259744
75
        .word 4061417389
76
        .word 2643534582
77
        .word 3313401900
78
        .word 2127959231
79
        .word 517066081
80
        .word 971560706
81
        .word 2765397972
82
        .word 1972360008
83
        .word 5267214
84
        .word 3667030040
85
        .word 3641602966
86
        .word 297473786
87
        .word 3637724660
88
        .word 3268423030
89
        .word 2775202737
90
        .word 2509905173
91
        .word 3885678420
92
        .word 820072030
93
        .word 1177172069
94
        .word 1047341530
95
        .word 1826819693
96
        .word 1694831631
97
        .word 4270696691
98
        .word 1299413127
99
        .word 2817552511
100
        .word 2675818186
101
        .word 231984537
102
        .word 65817694
103
        .word 3640600522
104
        .word 545754317
105
        .word 2973624217
106
        .word 2669208735
107
        .word 1079210895
108
        .word 660979290
109
        .word 738800690
110
        .word 1631093128
111
        .word 489263629
112
        .word 4116157872
113
        .word 3178886821
114
        .word 2324324955
115
        .word 2982397572
116
        .word 3365621776
117
        .word 2764926001
118
        .word 1498466135
119
        .word 1012944436
120
        .word -246837166
121
        .word 470638116
122
        .word 2103051039
123
        .word 176753939
124
        .word -164476654
125
        .word -1221540757
126
        .word 43633328
127
        .word -859182414
128
        .word 1230499715
129
        .word -266475918
130
        .word 1949507090
131
        .word -856415694
132
        .word 737657061
133
        .word 118818171
134
        .word 359218821
135
        .word 1246427092
136
        .word -615317895
137
        .word 1029267653
138
        .word 628714057
139
        .word -2029278762
140
        .word -1700206210
141
        .word -785893232
142
        .word -492445025
143
        .word -1032292742
144
        .word -1506164940
145
        .word 63097629
146
        .word -1909659707
147
        .word 1003528447
148
        .word 1095156443
149
        .word 325606314
150
        .word 1750055165
151
        .word 861103782
152
        .word -1441910348
153
        .word 1113139065
154
        .word -1337158265
155
        .word -381613907
156
        .word 567364862
157
        .word -808095798
158
        .word -1503281503
159
        .word -1646541226
160
        .word -405777159
161
        .word -98798373
162
        .word -1948683123
163
        .word -1889476128
164
        .word 994740197
165
        .word 57636334
166
        .word -1628834166
167
        .word -15689588
168
        .word 1568614403
169
        .word 722317890
170
 
171
op2:
172
        .word 3
173
        .word 2570980487
174
        .word 2794175299
175
        .word 994440598
176
        .word 4248205376
177
        .word 3496362052
178
        .word 3659500513
179
        .word 2162808217
180
        .word 1720638509
181
        .word 1914084509
182
        .word 3385545516
183
        .word 3476389465
184
        .word 706599398
185
        .word 3196936660
186
        .word 2983089252
187
        .word 1751592726
188
        .word 2284105389
189
        .word 4111191592
190
        .word 3563638217
191
        .word 2361468945
192
        .word 3236010945
193
        .word 1439769561
194
        .word 1910111900
195
        .word 2038606217
196
        .word 311877730
197
        .word 538878248
198
        .word 3378587675
199
        .word 1911288510
200
        .word 3196239568
201
        .word 2503116372
202
        .word 457280137
203
        .word 3023717616
204
        .word 98988876
205
        .word 4098692253
206
        .word 2797102115
207
        .word 2159140448
208
        .word 637551125
209
        .word 2125433411
210
        .word 2902980138
211
        .word 395247949
212
        .word 1645373547
213
        .word 1922640262
214
        .word 1835827423
215
        .word 3088444407
216
        .word 4150011791
217
        .word 273297575
218
        .word 673792897
219
        .word 2743197342
220
        .word 656195007
221
        .word 2550324965
222
        .word -337003535
223
        .word -565725434
224
        .word 522532873
225
        .word 850320156
226
        .word -599163490
227
        .word 580991794
228
        .word 1235055289
229
        .word -697843885
230
        .word -1888878751
231
        .word 2001358724
232
        .word -705426274
233
        .word 764466127
234
        .word 1149731192
235
        .word 528626491
236
        .word 74073848
237
        .word 1986549712
238
        .word 1021657893
239
        .word 1502226327
240
        .word 339763464
241
        .word -248542057
242
        .word -1245542745
243
        .word 1721855193
244
        .word 1203018508
245
        .word -551112349
246
        .word -245462721
247
        .word -2079899329
248
        .word -603441594
249
        .word 2123105909
250
        .word 821726251
251
        .word -167975413
252
        .word 343634678
253
        .word 279038731
254
        .word -1328164947
255
        .word -121529220
256
        .word 760122714
257
        .word -710590105
258
        .word -1288727804
259
        .word -829054509
260
        .word 1774242228
261
        .word 198747848
262
        .word 2017990513
263
        .word -1246218417
264
        .word 135357763
265
        .word -193250194
266
        .word 1080138546
267
        .word -278225361
268
        .word 1216454983
269
        .word -808631398
270
        .word 1236885385
271
        .word -1142156106
272
 
273
product:
274
        .word 15
275
        .word 3187625061
276
        .word 4060456409
277
        .word 3720114046
278
        .word 2133166080
279
        .word 2956880372
280
        .word 39144502
281
        .word 4048238156
282
        .word 3781675411
283
        .word 2552762493
284
        .word 2186320472
285
        .word 2004478132
286
        .word 1215814320
287
        .word 1967719832
288
        .word 961259872
289
        .word 3218110692
290
        .word 808743666
291
        .word 1758021152
292
        .word 3653971878
293
        .word 1641193153
294
        .word 1749066709
295
        .word 2447944244
296
        .word 1085998408
297
        .word 3424443149
298
        .word 1143260532
299
        .word 542297608
300
        .word 3545920917
301
        .word 820648538
302
        .word 131342256
303
        .word 3650446252
304
        .word 3798859290
305
        .word 1641505648
306
        .word 3270043112
307
        .word 2203660002
308
        .word 2262848519
309
        .word 3335948128
310
        .word 301711115
311
        .word 853759085
312
        .word 1108457156
313
        .word 3991332106
314
        .word 3268240344
315
        .word 4293625806
316
        .word 2556650576
317
        .word 2577362995
318
        .word 2650590677
319
        .word 1310146588
320
        .word 247957520
321
        .word 2454471742
322
        .word 1425274089
323
        .word 39783556
324
        .word -2091990222
325
        .word -1969753896
326
        .word 1297343511
327
        .word -32067820
328
        .word -824646884
329
        .word -1038744090
330
        .word -615130832
331
        .word 1160766902
332
        .word -878690909
333
        .word -1535377208
334
        .word -1071814884
335
        .word -139010962
336
        .word 18403416
337
        .word 2137375833
338
        .word 2082402008
339
        .word 1027762240
340
        .word 1775596157
341
        .word 1957173043
342
        .word 1934687048
343
        .word -1391708870
344
        .word 1441023282
345
        .word 897888784
346
        .word -2134317964
347
        .word 1520184110
348
        .word -123674164
349
        .word -464692957
350
        .word -481104418
351
        .word -946631029
352
        .word 55606985
353
        .word -2060538802
354
        .word 1653304606
355
        .word 1163987746
356
        .word -2138299740
357
        .word 1903549084
358
        .word 1936321654
359
        .word -455120229
360
        .word 1931283960
361
        .word 617295230
362
        .word -470388172
363
        .word -522275024
364
        .word -1465917207
365
        .word 541793429
366
        .word -1975377433
367
        .word 1462865472
368
        .word 1922773434
369
        .word 1925941938
370
        .word 1115302470
371
        .word 604268600
372
        .word -32471397
373
        .word 948036332

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.