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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [bootloaders/] [orpmon/] [reset.S] - Blame information for rev 246

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 246 julius
#include "spr-defs.h"
2 2 marcus.erl
#include "board.h"
3
#include "mc.h"
4
 
5
        .extern _reset_support
6
        .extern _eth_int
7
        .extern _src_beg
8
        .extern _dst_beg
9
        .extern _dst_end
10
        .extern _c_reset
11
        .extern _int_main
12
        .extern _tick_interrupt
13
        .extern _crc32
14
 
15
        /* Used by global.src_addr for default value */
16
        .extern _src_addr
17
 
18
        .global _align
19
        .global _calc_mycrc32
20
        .global _mycrc32
21
        .global _mysize
22
 
23
        .section .stack, "aw", @nobits
24
.space  STACK_SIZE
25
_stack:
26
        .section .crc
27
_mycrc32:
28
        .word   0xcccccccc
29
_mysize:
30
        .word 0xdddddddd
31
 
32
.if SELF_CHECK
33
_calc_mycrc32:
34
        l.addi  r3,r0,0
35
        l.movhi r4,hi(_calc_mycrc32)
36
        l.ori   r4,r4,lo(_calc_mycrc32)
37
        l.movhi r5,hi(_mysize)
38
        l.ori   r5,r5,lo(_mysize)
39
        l.lwz   r5,0(r5)
40
        l.addi  r1,r1,-4
41
        l.sw    0(r1),r9
42
 
43
        /* unsigned long crc32 (unsigned long crc, const unsigned char *buf, unsigned long len); */
44
        l.jal           _crc32
45
        l.nop
46
 
47
        l.movhi r3,hi(_mycrc32)
48
        l.ori   r3,r3,lo(_mycrc32)
49
        l.lwz   r3,0(r3)
50
 
51
        l.xor     r11,r3,r11
52
        l.lwz   r9,0(r1)
53
        l.jr    r9
54
        l.addi  r1,r1,4
55
.endif
56
 
57
        .org 0x100
58 140 julius
 
59 2 marcus.erl
.if IN_FLASH
60
        .section .reset, "ax"
61
.else
62
        .section .vectors, "ax"
63
.endif
64
 
65
_reset:
66
.if IN_FLASH
67
        l.movhi r3,hi(MC_BASE_ADDR)
68
        l.ori   r3,r3,MC_BA_MASK
69
        l.addi  r5,r0,0x00
70
        l.sw    0(r3),r5
71
.endif
72 246 julius
        l.movhi r0, 0
73
        /* Clear status register, set supervisor mode */
74
        l.ori r1, r0, SPR_SR_SM
75
        l.mtspr r0, r1, SPR_SR
76
        /* Clear timer  */
77
        l.mtspr r0, r0, SPR_TTMR
78
        /* Jump to start routine */
79 2 marcus.erl
        l.movhi r3,hi(_start)
80
        l.ori   r3,r3,lo(_start)
81
        l.jr    r3
82
        l.nop
83
 
84
.if IN_FLASH
85
        .section .vectors, "ax"
86 140 julius
        .org 0x200
87
.else
88
        .org (0x200 - 0x100 + _reset)
89
.endif
90
_buserr:
91 246 julius
.if 0
92
        /* Just trap */
93 140 julius
        l.trap 0
94 246 julius
.endif
95
        l.nop 0x1
96 140 julius
        l.j 0
97
        l.nop
98
 
99
 
100
.if IN_FLASH
101
        .section .vectors, "ax"
102 2 marcus.erl
        .org 0x500
103
.else
104
        .org (0x500 - 0x100 + _reset)
105
.endif
106 140 julius
_tickint:
107 2 marcus.erl
        l.addi  r1,r1,-128
108 246 julius
        l.sw    0(r1), r2
109
        l.addi  r2, r1, 128
110
        l.sw    0x4(r1),r3
111
        l.movhi r3,hi(_tick)
112
        l.ori   r3,r3,lo(_tick)
113
        l.jr    r3
114 2 marcus.erl
        l.nop
115
 
116
.if IN_FLASH
117
        .section .vectors, "ax"
118
        .org 0x600
119
.else
120
        .org (0x600 - 0x100 + _reset)
121
.endif
122 140 julius
_alignerr:
123 246 julius
.if 0
124 140 julius
        l.trap 0
125 246 julius
.endif
126
        l.nop 0x1
127 140 julius
        l.j 0
128
        l.nop
129
 
130
.if IN_FLASH
131
        .org 0x700
132
.else
133
        .org (0x700 - 0x100 + _reset)
134
.endif
135 246 julius
_illinsn:
136
.if 0
137 140 julius
        /* Just trap */
138
        l.trap 0
139 246 julius
.endif
140
        l.nop 0x1
141 140 julius
        l.j 0
142
        l.nop
143 2 marcus.erl
 
144 140 julius
 
145 2 marcus.erl
.if IN_FLASH
146
        .org 0x800
147
.else
148
        .org (0x800 - 0x100 + _reset)
149
.endif
150 140 julius
_userint:
151 2 marcus.erl
        l.addi  r1,r1,-128
152 246 julius
        l.sw    0x0(r1),r2
153
        l.addi  r2, r1, 128
154
        l.sw    0x4(r1), r3
155
        l.movhi r3,hi(_int_wrapper)
156
        l.ori   r3,r3,lo(_int_wrapper)
157
        l.jr    r3
158 2 marcus.erl
        l.nop
159
 
160
        .section .text
161
_start:
162
.if IN_FLASH
163 140 julius
/*        l.jal   _init_mc
164 2 marcus.erl
        l.nop
165 140 julius
*/
166 2 marcus.erl
        /* Wait for SDRAM */
167
        l.addi  r3,r0,0x1000
168
1:      l.sfeqi r3,0
169
        l.bnf   1b
170
        l.addi  r3,r3,-1
171
.endif
172
        /* Copy form flash to sram */
173
.if IN_FLASH
174
        l.movhi r3,hi(_src_beg)
175
        l.ori   r3,r3,lo(_src_beg)
176
        l.movhi r4,hi(_vec_start)
177
        l.ori   r4,r4,lo(_vec_start)
178
        l.movhi r5,hi(_vec_end)
179
        l.ori   r5,r5,lo(_vec_end)
180
        l.sub   r5,r5,r4
181
        l.sfeqi r5,0
182
        l.bf    2f
183
        l.nop
184
1:      l.lwz   r6,0(r3)
185
        l.sw    0(r4),r6
186
        l.addi  r3,r3,4
187
        l.addi  r4,r4,4
188
        l.addi  r5,r5,-4
189
        l.sfgtsi r5,0
190
        l.bf    1b
191
        l.nop
192
2:
193
        l.movhi r4,hi(_dst_beg)
194
        l.ori   r4,r4,lo(_dst_beg)
195
        l.movhi r5,hi(_dst_end)
196
        l.ori   r5,r5,lo(_dst_end)
197
1:      l.sfgeu r4,r5
198
        l.bf    1f
199
        l.nop
200
        l.lwz   r8,0(r3)
201
        l.sw    0(r4),r8
202
        l.addi  r3,r3,4
203
        l.bnf   1b
204
        l.addi  r4,r4,4
205
1:
206
        l.addi  r3,r0,0
207
        l.addi  r4,r0,0
208
3:
209
.endif
210
 
211 246 julius
 
212
        /* Instruction cache enable */
213
        /* Check if IC present and skip enabling otherwise */
214
        l.mfspr r24,r0,SPR_UPR
215
        l.andi  r26,r24,SPR_UPR_ICP
216
        l.sfeq  r26,r0
217
        l.bf    .L8
218
        l.nop
219
 
220
        /* Disable IC */
221
        l.mfspr r6,r0,SPR_SR
222
        l.addi  r5,r0,-1
223
        l.xori  r5,r5,SPR_SR_ICE
224
        l.and   r5,r6,r5
225
        l.mtspr r0,r5,SPR_SR
226
 
227
        /* Establish cache block size
228
        If BS=0, 16;
229
        If BS=1, 32;
230
        r14 contain block size
231
        */
232
        l.mfspr r24,r0,SPR_ICCFGR
233
        l.andi  r26,r24,SPR_ICCFGR_CBS
234
        l.srli  r28,r26,7
235
        l.ori   r30,r0,16
236
        l.sll   r14,r30,r28
237
 
238
        /* Establish number of cache sets
239
        r16 contains number of cache sets
240
        r28 contains log(# of cache sets)
241
        */
242
        l.andi  r26,r24,SPR_ICCFGR_NCS
243
        l.srli  r28,r26,3
244
        l.ori   r30,r0,1
245
        l.sll   r16,r30,r28
246
 
247
        /* Invalidate IC */
248
        l.addi  r6,r0,0
249
        l.sll   r5,r14,r28
250
 
251
.L7:
252
        l.mtspr r0,r6,SPR_ICBIR
253
        l.sfne  r6,r5
254
        l.bf    .L7
255
        l.add   r6,r6,r14
256
 
257
        /* Enable IC */
258
        l.mfspr r6,r0,SPR_SR
259
        l.ori   r6,r6,SPR_SR_ICE
260
        l.mtspr r0,r6,SPR_SR
261
        l.nop
262
        l.nop
263
        l.nop
264
        l.nop
265
        l.nop
266
        l.nop
267
        l.nop
268
        l.nop
269
 
270
.L8:
271
        /* Data cache enable */
272
        /* Check if DC present and skip enabling otherwise */
273
        l.mfspr r24,r0,SPR_UPR
274
        l.andi  r26,r24,SPR_UPR_DCP
275
        l.sfeq  r26,r0
276
        l.bf    .L10
277 2 marcus.erl
        l.nop
278 246 julius
        /* Disable DC */
279
        l.mfspr r6,r0,SPR_SR
280
        l.addi  r5,r0,-1
281
        l.xori  r5,r5,SPR_SR_DCE
282
        l.and   r5,r6,r5
283
        l.mtspr r0,r5,SPR_SR
284
        /* Establish cache block size
285
           If BS=0, 16;
286
           If BS=1, 32;
287
           r14 contain block size
288
        */
289
        l.mfspr r24,r0,SPR_DCCFGR
290
        l.andi  r26,r24,SPR_DCCFGR_CBS
291
        l.srli  r28,r26,7
292
        l.ori   r30,r0,16
293
        l.sll   r14,r30,r28
294
        /* Establish number of cache sets
295
           r16 contains number of cache sets
296
           r28 contains log(# of cache sets)
297
        */
298
        l.andi  r26,r24,SPR_DCCFGR_NCS
299
        l.srli  r28,r26,3
300
        l.ori   r30,r0,1
301
        l.sll   r16,r30,r28
302
        /* Invalidate DC */
303
        l.addi  r6,r0,0
304
        l.sll   r5,r14,r28
305
.L9:
306
        l.mtspr r0,r6,SPR_DCBIR
307
        l.sfne  r6,r5
308
        l.bf    .L9
309
        l.add   r6,r6,r14
310
        /* Enable DC */
311
        l.mfspr r6,r0,SPR_SR
312
        l.ori   r6,r6,SPR_SR_DCE
313
        l.mtspr r0,r6,SPR_SR
314 2 marcus.erl
 
315 246 julius
.L10:
316
        /* Set up stack */
317 2 marcus.erl
        l.movhi r1,hi(_stack-4)
318
        l.ori   r1,r1,lo(_stack-4)
319
        l.addi  r2,r0,-3
320
        l.and   r1,r1,r2
321 246 julius
/*      l.or    r2, r1, r1 - remove this helped with odd UART output problem?!*/
322 140 julius
 
323 246 julius
        l.movhi r3,hi(main)
324
        l.ori   r3,r3,lo(main)
325
        l.jr    r3
326
        l.nop
327 140 julius
 
328
 
329 2 marcus.erl
_tick:
330
 
331 246 julius
        l.sw    0x8(r1), r4
332
        l.sw    0xc(r1), r5
333
        l.sw    0x10(r1), r6
334
        l.sw    0x14(r1), r7
335
        l.sw    0x18(r1), r8
336
        l.sw    0x1c(r1), r9
337
        l.sw    0x20(r1), r10
338
        l.sw    0x24(r1), r11
339
        l.sw    0x28(r1), r12
340
        l.sw    0x2c(r1), r13
341
        l.sw    0x30(r1), r14
342
        l.sw    0x34(r1), r15
343
        l.sw    0x38(r1), r16
344
        l.sw    0x3c(r1), r17
345
        l.sw    0x40(r1), r18
346
        l.sw    0x44(r1), r19
347
        l.sw    0x48(r1), r20
348
        l.sw    0x4c(r1), r21
349
        l.sw    0x50(r1), r22
350
        l.sw    0x54(r1), r23
351
        l.sw    0x58(r1), r24
352
        l.sw    0x5c(r1), r25
353
        l.sw    0x60(r1), r26
354
        l.sw    0x64(r1), r27
355
        l.sw    0x68(r1), r28
356
        l.sw    0x6c(r1), r29
357
        l.sw    0x70(r1), r30
358
        l.sw    0x74(r1), r31
359
 
360
        l.movhi r3,hi(tick_interrupt)
361
        l.ori   r3,r3,lo(tick_interrupt)
362 2 marcus.erl
        l.jalr  r3
363
        l.nop
364
 
365 246 julius
        l.lwz   r3,0x4(r1)
366 2 marcus.erl
        l.lwz   r4,0x8(r1)
367
        l.lwz   r5,0xc(r1)
368
        l.lwz   r6,0x10(r1)
369
        l.lwz   r7,0x14(r1)
370
        l.lwz   r8,0x18(r1)
371
        l.lwz   r9,0x1c(r1)
372
        l.lwz   r10,0x20(r1)
373
        l.lwz   r11,0x24(r1)
374
        l.lwz   r12,0x28(r1)
375
        l.lwz   r13,0x2c(r1)
376
        l.lwz   r14,0x30(r1)
377
        l.lwz   r15,0x34(r1)
378
        l.lwz   r16,0x38(r1)
379
        l.lwz   r17,0x3c(r1)
380
        l.lwz   r18,0x40(r1)
381
        l.lwz   r19,0x44(r1)
382
        l.lwz   r20,0x48(r1)
383
        l.lwz   r21,0x4c(r1)
384
        l.lwz   r22,0x50(r1)
385
        l.lwz   r23,0x54(r1)
386
        l.lwz   r24,0x58(r1)
387
        l.lwz   r25,0x5c(r1)
388
        l.lwz   r26,0x60(r1)
389
        l.lwz   r27,0x64(r1)
390
        l.lwz   r28,0x68(r1)
391
        l.lwz   r29,0x6c(r1)
392
        l.lwz   r30,0x70(r1)
393 246 julius
        l.lwz   r31,0x74(r1)
394 2 marcus.erl
 
395 246 julius
        l.lwz   r2, 0x0(r1)
396 2 marcus.erl
        l.addi  r1,r1,128
397
        l.rfe
398
        l.nop
399
 
400
_int_wrapper:
401
 
402 246 julius
        l.sw    0x8(r1), r4
403
        l.sw    0xc(r1), r5
404
        l.sw    0x10(r1), r6
405
        l.sw    0x14(r1), r7
406
        l.sw    0x18(r1), r8
407
        l.sw    0x1c(r1), r9
408
        l.sw    0x20(r1), r10
409
        l.sw    0x24(r1), r11
410
        l.sw    0x28(r1), r12
411
        l.sw    0x2c(r1), r13
412
        l.sw    0x30(r1), r14
413
        l.sw    0x34(r1), r15
414
        l.sw    0x38(r1), r16
415
        l.sw    0x3c(r1), r17
416
        l.sw    0x40(r1), r18
417
        l.sw    0x44(r1), r19
418
        l.sw    0x48(r1), r20
419
        l.sw    0x4c(r1), r21
420
        l.sw    0x50(r1), r22
421
        l.sw    0x54(r1), r23
422
        l.sw    0x58(r1), r24
423
        l.sw    0x5c(r1), r25
424
        l.sw    0x60(r1), r26
425
        l.sw    0x64(r1), r27
426
        l.sw    0x68(r1), r28
427
        l.sw    0x6c(r1), r29
428
        l.sw    0x70(r1), r30
429
        l.sw    0x74(r1), r31
430
 
431
        l.movhi r3,hi(int_main)
432
        l.ori   r3,r3,lo(int_main)
433 2 marcus.erl
        l.jalr  r3
434
        l.nop
435
 
436 246 julius
        l.lwz   r3,0x4(r1)
437 2 marcus.erl
        l.lwz   r4,0x8(r1)
438
        l.lwz   r5,0xc(r1)
439
        l.lwz   r6,0x10(r1)
440
        l.lwz   r7,0x14(r1)
441
        l.lwz   r8,0x18(r1)
442
        l.lwz   r9,0x1c(r1)
443
        l.lwz   r10,0x20(r1)
444
        l.lwz   r11,0x24(r1)
445
        l.lwz   r12,0x28(r1)
446
        l.lwz   r13,0x2c(r1)
447
        l.lwz   r14,0x30(r1)
448
        l.lwz   r15,0x34(r1)
449
        l.lwz   r16,0x38(r1)
450
        l.lwz   r17,0x3c(r1)
451
        l.lwz   r18,0x40(r1)
452
        l.lwz   r19,0x44(r1)
453
        l.lwz   r20,0x48(r1)
454
        l.lwz   r21,0x4c(r1)
455
        l.lwz   r22,0x50(r1)
456
        l.lwz   r23,0x54(r1)
457
        l.lwz   r24,0x58(r1)
458
        l.lwz   r25,0x5c(r1)
459
        l.lwz   r26,0x60(r1)
460
        l.lwz   r27,0x64(r1)
461
        l.lwz   r28,0x68(r1)
462
        l.lwz   r29,0x6c(r1)
463
        l.lwz   r30,0x70(r1)
464 246 julius
        l.lwz   r31,0x74(r1)
465 2 marcus.erl
 
466 246 julius
        l.lwz   r2, 0x0(r1)
467 2 marcus.erl
        l.addi  r1,r1,128
468
        l.rfe
469
        l.nop
470 246 julius
 
471 2 marcus.erl
 
472
_align:
473
        l.sw    0x0c(r1),r3
474
        l.sw    0x10(r1),r4
475
        l.sw    0x14(r1),r5
476
        l.sw    0x18(r1),r6
477
        l.sw    0x1c(r1),r7
478
        l.sw    0x20(r1),r8
479
        l.sw    0x24(r1),r9
480
        l.sw    0x28(r1),r10
481
        l.sw    0x2c(r1),r11
482
        l.sw    0x30(r1),r12
483
        l.sw    0x34(r1),r13
484
        l.sw    0x38(r1),r14
485
        l.sw    0x3c(r1),r15
486
        l.sw    0x40(r1),r16
487
        l.sw    0x44(r1),r17
488
        l.sw    0x48(r1),r18
489
        l.sw    0x4c(r1),r19
490
        l.sw    0x50(r1),r20
491
        l.sw    0x54(r1),r21
492
        l.sw    0x58(r1),r22
493
        l.sw    0x5c(r1),r23
494
        l.sw    0x60(r1),r24
495
        l.sw    0x64(r1),r25
496
        l.sw    0x68(r1),r26
497
        l.sw    0x6c(r1),r27
498
        l.sw    0x70(r1),r28
499
        l.sw    0x74(r1),r29
500
        l.sw    0x78(r1),r30
501
        l.sw    0x7c(r1),r31
502
 
503
        l.mfspr r2,r0,SPR_EEAR_BASE /* Load the efective addres */
504
        l.mfspr r5,r0,SPR_EPCR_BASE /* Load the insn address */
505
 
506
        l.lwz   r3,0(r5)    /* Load insn */
507
        l.srli  r4,r3,26    /* Shift left to get the insn opcode */
508
 
509
        l.sfeqi r4,0x00     /* Check if the load/store insn is in delay slot */
510
        l.bf    jmp
511
        l.sfeqi r4,0x01
512
        l.bf    jmp
513
        l.sfeqi r4,0x03
514
        l.bf    jmp
515
        l.sfeqi r4,0x04
516
        l.bf    jmp
517
        l.sfeqi r4,0x11
518
        l.bf    jr
519
        l.sfeqi r4,0x12
520
        l.bf    jr
521
        l.nop
522
        l.j     1f
523
        l.addi  r5,r5,4     /* Increment PC to get return insn address */
524
 
525
jmp:
526
        l.slli  r4,r3,6     /* Get the signed extended jump length */
527
        l.srai  r4,r4,4
528
 
529
        l.lwz   r3,4(r5)      /* Load the real load/store insn */
530
 
531
        l.add   r5,r5,r4      /* Calculate jump target address */
532
 
533
        l.j     1f
534
        l.srli  r4,r3,26    /* Shift left to get the insn opcode */
535
 
536
jr:
537
        l.slli  r4,r3,9     /* Shift to get the reg nb */
538
        l.andi  r4,r4,0x7c
539
 
540
        l.lwz   r3,4(r5)    /* Load the real load/store insn */
541
 
542
        l.add   r4,r4,r1    /* Load the jump register value from the stack */
543
        l.lwz   r5,0(r4)
544
 
545
        l.srli  r4,r3,26    /* Shift left to get the insn opcode */
546
 
547
 
548
1:      l.mtspr r0,r5,SPR_EPCR_BASE
549
 
550
        l.sfeqi r4,0x26
551
        l.bf    lhs
552
        l.sfeqi r4,0x25
553
        l.bf    lhz
554
        l.sfeqi r4,0x22
555
        l.bf    lws
556
        l.sfeqi r4,0x21
557
        l.bf    lwz
558
        l.sfeqi r4,0x37
559
        l.bf    sh
560
        l.sfeqi r4,0x35
561
        l.bf    sw
562
        l.nop
563
 
564
1:      l.j     1b      /* I don't know what to do */
565
        l.nop
566
 
567
lhs:    l.lbs   r5,0(r2)
568
        l.slli  r5,r5,8
569
        l.lbz   r6,1(r2)
570
        l.or    r5,r5,r6
571
        l.srli  r4,r3,19
572
        l.andi  r4,r4,0x7c
573
        l.add   r4,r4,r1
574
        l.j     align_end
575
        l.sw    0(r4),r5
576
 
577
lhz:    l.lbz   r5,0(r2)
578
        l.slli  r5,r5,8
579
        l.lbz   r6,1(r2)
580
        l.or    r5,r5,r6
581
        l.srli  r4,r3,19
582
        l.andi  r4,r4,0x7c
583
        l.add   r4,r4,r1
584
        l.j     align_end
585
        l.sw    0(r4),r5
586
 
587
lws:    l.lbs   r5,0(r2)
588
        l.slli  r5,r5,24
589
        l.lbz   r6,1(r2)
590
        l.slli  r6,r6,16
591
        l.or    r5,r5,r6
592
        l.lbz   r6,2(r2)
593
        l.slli  r6,r6,8
594
        l.or    r5,r5,r6
595
        l.lbz   r6,3(r2)
596
        l.or    r5,r5,r6
597
        l.srli  r4,r3,19
598
        l.andi  r4,r4,0x7c
599
        l.add   r4,r4,r1
600
        l.j     align_end
601
        l.sw    0(r4),r5
602
 
603
lwz:    l.lbz   r5,0(r2)
604
        l.slli  r5,r5,24
605
        l.lbz   r6,1(r2)
606
        l.slli  r6,r6,16
607
        l.or    r5,r5,r6
608
        l.lbz   r6,2(r2)
609
        l.slli  r6,r6,8
610
        l.or    r5,r5,r6
611
        l.lbz   r6,3(r2)
612
        l.or    r5,r5,r6
613
        l.srli  r4,r3,19
614
        l.andi  r4,r4,0x7c
615
        l.add   r4,r4,r1
616
        l.j     align_end
617
        l.sw    0(r4),r5
618
 
619
sh:
620
        l.srli  r4,r3,9
621
        l.andi  r4,r4,0x7c
622
        l.add   r4,r4,r1
623
        l.lwz   r5,0(r4)
624
        l.sb    1(r2),r5
625
        l.srli  r5,r5,8
626
        l.j     align_end
627
        l.sb    0(r2),r5
628
 
629
sw:
630
        l.srli  r4,r3,9
631
        l.andi  r4,r4,0x7c
632
        l.add   r4,r4,r1
633
        l.lwz   r5,0(r4)
634
        l.sb    3(r2),r5
635
        l.srli  r5,r5,8
636
        l.sb    2(r2),r5
637
        l.srli  r5,r5,8
638
        l.sb    1(r2),r5
639
        l.srli  r5,r5,8
640
        l.j     align_end
641
        l.sb    0(r2),r5
642
 
643
align_end:
644
        l.lwz   r2,0x08(r1)
645
        l.lwz   r3,0x0c(r1)
646
        l.lwz   r4,0x10(r1)
647
        l.lwz   r5,0x14(r1)
648
        l.lwz   r6,0x18(r1)
649
        l.lwz   r7,0x1c(r1)
650
        l.lwz   r8,0x20(r1)
651
        l.lwz   r9,0x24(r1)
652
        l.lwz   r10,0x28(r1)
653
        l.lwz   r11,0x2c(r1)
654
        l.lwz   r12,0x30(r1)
655
        l.lwz   r13,0x34(r1)
656
        l.lwz   r14,0x38(r1)
657
        l.lwz   r15,0x3c(r1)
658
        l.lwz   r16,0x40(r1)
659
        l.lwz   r17,0x44(r1)
660
        l.lwz   r18,0x48(r1)
661
        l.lwz   r19,0x4c(r1)
662
        l.lwz   r20,0x50(r1)
663
        l.lwz   r21,0x54(r1)
664
        l.lwz   r22,0x58(r1)
665
        l.lwz   r23,0x5c(r1)
666
        l.lwz   r24,0x60(r1)
667
        l.lwz   r25,0x64(r1)
668
        l.lwz   r26,0x68(r1)
669
        l.lwz   r27,0x6c(r1)
670
        l.lwz   r28,0x70(r1)
671
        l.lwz   r29,0x74(r1)
672
        l.lwz   r30,0x78(r1)
673
        l.mfspr r31,r0,0x40
674
        l.lwz   r31,0x7c(r1)
675
        l.addi  r1,r1,128
676
        l.rfe

powered by: WebSVN 2.1.0

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