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

Subversion Repositories plasma

[/] [plasma/] [tags/] [V2_1/] [tools/] [opcodes.asm] - Blame information for rev 44

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

Line No. Rev Author Line
1 15 rhoads
##################################################################
2
# TITLE: Opcode Tester
3
# AUTHOR: Steve Rhoads (rhoadss@yahoo.com)
4
# DATE CREATED: 1/10/02
5
# FILENAME: opcodes.asm
6 43 rhoads
# PROJECT: Plasma CPU core
7 15 rhoads
# COPYRIGHT: Software placed into the public domain by the author.
8
#    Software 'as is' without warranty.  Author liable for nothing.
9
# DESCRIPTION:
10
#    This assembly file tests all of the opcodes supported by the
11 43 rhoads
#    Plasma core.
12 15 rhoads
#    This test assumes that address 0xffff is the UART write register
13
#    Successful tests will print out "A" or "AB" or "ABC" or ....
14
#    Missing letters or letters out of order indicate a failure.
15
##################################################################
16
        .text
17
        .align  2
18
        .globl  entry
19
        .ent    entry
20
entry:
21
   .set noreorder
22
 
23 29 rhoads
   #These four instructions must be the first instructions
24
   #convert.exe will correctly initialize $gp
25
   lui   $gp,0
26
   ori   $gp,$gp,0
27
   #convert.exe will set $4=.sbss_start $5=.bss_end
28
   ori   $4,$0,0
29
   ori   $5,$0,0
30
 
31 23 rhoads
   mtc0  $0,$12             #disable interrupts
32 15 rhoads
   ori   $20,$0,0xffff      #serial port write address
33
   ori   $21,$0,'\n'        # letter
34
   ori   $22,$0,'X'         #'X' letter
35
 
36
   ######################################
37
   #Arithmetic Instructions
38
   ######################################
39
   ori   $2,$0,'A'
40
   sb    $2,0($20)
41
   ori   $2,$0,'r'
42
   sb    $2,0($20)
43
   ori   $2,$0,'i'
44
   sb    $2,0($20)
45
   ori   $2,$0,'t'
46
   sb    $2,0($20)
47
   ori   $2,$0,'h'
48
   sb    $2,0($20)
49
   sb    $21,0($20)
50
 
51 23 rhoads
   #a: ADD
52
   ori   $2,$0,'a'
53
   sb    $2,0($20)
54 15 rhoads
   ori   $3,$0,5
55
   ori   $4,$0,60
56
   add   $2,$3,$4
57 23 rhoads
   sb    $2,0($20)    #A
58 15 rhoads
   sb    $21,0($20)
59
 
60 23 rhoads
   #b: ADDI
61
   ori   $2,$0,'b'
62
   sb    $2,0($20)
63 15 rhoads
   ori   $4,$0,60
64
   addi  $2,$4,5
65 23 rhoads
   sb    $2,0($20)    #A
66 15 rhoads
   sb    $21,0($20)
67
 
68 23 rhoads
   #c: ADDIU
69
   ori   $2,$0,'c'
70
   sb    $2,0($20)
71 15 rhoads
   ori   $4,$0,50
72
   addiu $5,$4,15
73 23 rhoads
   sb    $5,0($20)    #A
74 15 rhoads
   sb    $21,0($20)
75
 
76 23 rhoads
   #d: ADDU
77
   ori   $2,$0,'d'
78
   sb    $2,0($20)
79 15 rhoads
   ori   $3,$0,5
80
   ori   $4,$0,60
81
   add   $2,$3,$4
82 23 rhoads
   sb    $2,0($20)    #A
83 15 rhoads
   sb    $21,0($20)
84
 
85 23 rhoads
   #e: DIV
86
   ori   $2,$0,'e'
87
   sb    $2,0($20)
88
   ori   $2,$0,65*117+41
89
   ori   $3,$0,117
90 15 rhoads
   div   $2,$3
91
   nop
92
   mflo  $4
93 23 rhoads
   sb    $4,0($20)    #A
94
   mfhi  $4
95
   addi  $4,$4,66-41
96
   sb    $4,0($20)    #B
97
   li    $2,-67*19
98 15 rhoads
   ori   $3,$0,19
99
   div   $2,$3
100
   nop
101
   mflo  $4
102
   sub   $4,$0,$4
103 23 rhoads
   sb    $4,0($20)    #C
104
   ori   $2,$0,68*23
105 15 rhoads
   li    $3,-23
106
   div   $2,$3
107
   nop
108
   mflo  $4
109
   sub   $4,$0,$4
110 23 rhoads
   sb    $4,0($20)    #D
111
   li    $2,-69*13
112 15 rhoads
   li    $3,-13
113
   div   $2,$3
114
   mflo  $4
115 23 rhoads
   sb    $4,0($20)    #E
116 15 rhoads
   sb    $21,0($20)
117
 
118 23 rhoads
   #f: DIVU
119
   ori   $2,$0,'f'
120
   sb    $2,0($20)
121 15 rhoads
   ori   $2,$0,65*13
122
   ori   $3,$0,13
123 23 rhoads
   divu  $2,$3
124 15 rhoads
   nop
125
   mflo  $4
126 23 rhoads
   sb    $4,0($20)    #A
127 15 rhoads
   sb    $21,0($20)
128
 
129 23 rhoads
   #g: MULT
130
   ori   $2,$0,'g'
131
   sb    $2,0($20)
132 15 rhoads
   ori   $2,$0,5
133
   ori   $3,$0,13
134
   mult  $2,$3
135
   nop
136
   mflo  $4
137 23 rhoads
   sb    $4,0($20)    #A
138 15 rhoads
   li    $2,-5
139
   ori   $3,$0,13
140
   mult  $2,$3
141
   nop
142
   mflo  $4
143
   sub   $4,$0,$4
144
   addi  $4,$4,1
145 23 rhoads
   sb    $4,0($20)    #B
146 15 rhoads
   ori   $2,$0,5
147
   li    $3,-13
148
   mult  $2,$3
149
   nop
150
   mflo  $4
151
   sub   $4,$0,$4
152
   addi  $4,$4,2
153 23 rhoads
   sb    $4,0($20)    #C
154 15 rhoads
   li    $2,-5
155
   li    $3,-13
156
   mult  $2,$3
157
   nop
158
   mflo  $4
159
   addi  $4,$4,3
160 23 rhoads
   sb    $4,0($20)    #D
161 44 rhoads
   lui   $4,0xfe98
162
   ori   $4,$4,0x62e5
163
   lui   $5,0x6
164
   ori   $5,0x8db8
165
   mult  $4,$5
166
   mfhi  $6
167
   addiu $7,$6,2356+1+'E' #E
168
   sb    $7,0($20)
169 15 rhoads
   sb    $21,0($20)
170
 
171 23 rhoads
   #h: MULTU
172
   ori   $2,$0,'h'
173
   sb    $2,0($20)
174 15 rhoads
   ori   $2,$0,5
175
   ori   $3,$0,13
176 23 rhoads
   multu $2,$3
177 15 rhoads
   nop
178
   mflo  $4
179 23 rhoads
   sb    $4,0($20)    #A
180 15 rhoads
   sb    $21,0($20)
181
 
182 23 rhoads
   #i: SLT
183
   ori   $2,$0,'i'
184
   sb    $2,0($20)
185 15 rhoads
   ori   $2,$0,10
186
   ori   $3,$0,12
187
   slt   $4,$2,$3
188
   addi  $5,$4,64
189 23 rhoads
   sb    $5,0($20)    #A
190 15 rhoads
   slt   $4,$3,$2
191
   addi  $5,$4,66
192 23 rhoads
   sb    $5,0($20)    #B
193 15 rhoads
   li    $2,0xfffffff0
194
   slt   $4,$2,$3
195
   addi  $5,$4,66
196 23 rhoads
   sb    $5,0($20)    #C
197 15 rhoads
   slt   $4,$3,$2
198
   addi  $5,$4,68
199 23 rhoads
   sb    $5,0($20)    #D
200 15 rhoads
   li    $3,0xffffffff
201
   slt   $4,$2,$3
202
   addi  $5,$4,68
203 23 rhoads
   sb    $5,0($20)    #E
204 15 rhoads
   slt   $4,$3,$2
205
   addi  $5,$4,70
206 23 rhoads
   sb    $5,0($20)    #F
207 15 rhoads
   sb    $21,0($20)
208
 
209 23 rhoads
   #j: SLTI
210
   ori   $2,$0,'j'
211
   sb    $2,0($20)
212 15 rhoads
   ori   $2,$0,10
213
   slti  $4,$2,12
214
   addi  $5,$4,64
215 23 rhoads
   sb    $5,0($20)    #A
216 15 rhoads
   slti  $4,$2,8
217
   addi  $5,$4,66
218 23 rhoads
   sb    $5,0($20)    #B
219 15 rhoads
   sb    $21,0($20)
220
 
221 23 rhoads
   #k: SLTIU
222
   ori   $2,$0,'k'
223
   sb    $2,0($20)
224 15 rhoads
   ori   $2,$0,10
225
   sltiu $4,$2,12
226
   addi  $5,$4,64
227 23 rhoads
   sb    $5,0($20)    #A
228 15 rhoads
   sltiu $4,$2,8
229
   addi  $5,$4,66
230 23 rhoads
   sb    $5,0($20)    #B
231 15 rhoads
   sb    $21,0($20)
232
 
233 23 rhoads
   #l: SLTU
234
   ori   $2,$0,'l'
235
   sb    $2,0($20)
236 15 rhoads
   ori   $2,$0,10
237
   ori   $3,$0,12
238
   slt   $4,$2,$3
239
   addi  $5,$4,64
240 23 rhoads
   sb    $5,0($20)    #A
241 15 rhoads
   slt   $4,$3,$2
242
   addi  $5,$4,66
243 23 rhoads
   sb    $5,0($20)    #B
244 15 rhoads
   sb    $21,0($20)
245
 
246 23 rhoads
   #m: SUB
247
   ori   $2,$0,'m'
248
   sb    $2,0($20)
249 15 rhoads
   ori   $3,$0,70
250
   ori   $4,$0,5
251
   sub   $2,$3,$4
252 23 rhoads
   sb    $2,0($20)    #A
253 15 rhoads
   sb    $21,0($20)
254
 
255 23 rhoads
   #n: SUBU
256
   ori   $2,$0,'n'
257
   sb    $2,0($20)
258 15 rhoads
   ori   $3,$0,70
259
   ori   $4,$0,5
260
   sub   $2,$3,$4
261 23 rhoads
   sb    $2,0($20)    #A
262 15 rhoads
   sb    $21,0($20)
263
 
264
   ######################################
265
   #Branch and Jump Instructions
266
   ######################################
267
   ori   $2,$0,'B'
268
   sb    $2,0($20)
269
   ori   $2,$0,'r'
270
   sb    $2,0($20)
271
   ori   $2,$0,'a'
272
   sb    $2,0($20)
273
   ori   $2,$0,'n'
274
   sb    $2,0($20)
275
   ori   $2,$0,'c'
276
   sb    $2,0($20)
277
   ori   $2,$0,'h'
278
   sb    $2,0($20)
279
   sb    $21,0($20)
280
 
281 23 rhoads
   #a: B
282
   ori   $2,$0,'a'
283
   sb    $2,0($20)
284 15 rhoads
   ori   $10,$0,'A'
285
   ori   $11,$0,'B'
286
   b     $B1
287
   sb    $10,0($20)
288
   sb    $22,0($20)
289
$B1:
290
   sb    $11,0($20)
291
   sb    $21,0($20)
292
 
293 23 rhoads
   #b: BAL
294
   ori   $2,$0,'b'
295
   sb    $2,0($20)
296 15 rhoads
   ori   $10,$0,'A'
297
   ori   $11,$0,'B'
298
   ori   $12,$0,'C'
299
   ori   $13,$0,'D'
300
   ori   $14,$0,'E'
301
   ori   $15,$0,'X'
302
   bal   $BAL1
303
   sb    $10,0($20)
304
   sb    $13,0($20)
305
   b     $BAL2
306
   sb    $14,0($20)
307
   sb    $15,0($20)
308
$BAL1:
309
   sb    $11,0($20)
310
   jr    $31
311
   sb    $12,0($20)
312
   sb    $22,0($20)
313
$BAL2:
314
   sb    $21,0($20)
315
 
316 23 rhoads
   #c: BEQ
317
   ori   $2,$0,'c'
318
   sb    $2,0($20)
319 15 rhoads
   ori   $10,$0,'A'
320
   ori   $11,$0,'B'
321
   ori   $12,$0,'C'
322
   ori   $13,$0,'D'
323
   ori   $2,$0,100
324
   ori   $3,$0,123
325
   ori   $4,$0,123
326
   beq   $2,$3,$BEQ1
327
   sb    $10,0($20)
328
   sb    $11,0($20)
329
   beq   $3,$4,$BEQ1
330
   sb    $12,0($20)
331
   sb    $22,0($20)
332
$BEQ1:
333
   sb    $13,0($20)
334
   sb    $21,0($20)
335
 
336 23 rhoads
   #d: BGEZ
337
   ori   $2,$0,'d'
338
   sb    $2,0($20)
339 15 rhoads
   ori   $10,$0,'A'
340
   ori   $11,$0,'B'
341
   ori   $12,$0,'C'
342
   ori   $13,$0,'D'
343
   or    $15,$0,'X'
344
   ori   $2,$0,100
345
   li    $3,0xffff1234
346
   ori   $4,$0,123
347
   bgez  $3,$BGEZ1
348
   sb    $10,0($20)
349
   sb    $11,0($20)
350
   bgez  $2,$BGEZ1
351
   sb    $12,0($20)
352
   sb    $22,0($20)
353
$BGEZ1:
354
   bgez  $0,$BGEZ2
355
   nop
356
   sb    $15,0($20)
357
$BGEZ2:
358
   sb    $13,0($20)
359
   sb    $21,0($20)
360
 
361 23 rhoads
   #e: BGEZAL
362
   ori   $2,$0,'e'
363
   sb    $2,0($20)
364 15 rhoads
   ori   $10,$0,'A'
365
   ori   $11,$0,'B'
366
   ori   $12,$0,'C'
367
   ori   $13,$0,'D'
368
   ori   $14,$0,'E'
369
   ori   $15,$0,'X'
370
   li    $3,0xffff1234
371
   bgezal $3,$BGEZAL1
372
   nop
373
   sb    $10,0($20)
374
   bgezal $0,$BGEZAL1
375
   nop
376
   sb    $13,0($20)
377
   b     $BGEZAL2
378
   sb    $14,0($20)
379
   sb    $15,0($20)
380
$BGEZAL1:
381
   sb    $11,0($20)
382
   jr    $31
383
   sb    $12,0($20)
384
   sb    $22,0($20)
385
$BGEZAL2:
386
   sb    $21,0($20)
387
 
388 23 rhoads
   #f: BGTZ
389
   ori   $2,$0,'f'
390
   sb    $2,0($20)
391 15 rhoads
   ori   $10,$0,'A'
392
   ori   $11,$0,'B'
393
   ori   $12,$0,'C'
394
   ori   $13,$0,'D'
395
   ori   $2,$0,100
396
   li    $3,0xffff1234
397
   bgtz  $3,$BGTZ1
398
   sb    $10,0($20)
399
   sb    $11,0($20)
400
   bgtz  $2,$BGTZ1
401
   sb    $12,0($20)
402
   sb    $22,0($20)
403
$BGTZ1:
404
   sb    $13,0($20)
405
   sb    $21,0($20)
406
 
407 23 rhoads
   #g: BLEZ
408
   ori   $2,$0,'g'
409
   sb    $2,0($20)
410 15 rhoads
   ori   $10,$0,'A'
411
   ori   $11,$0,'B'
412
   ori   $12,$0,'C'
413
   ori   $13,$0,'D'
414
   ori   $2,$0,100
415
   li    $3,0xffff1234
416
   blez  $2,$BLEZ1
417
   sb    $10,0($20)
418
   sb    $11,0($20)
419
   blez  $3,$BLEZ1
420
   sb    $12,0($20)
421
   sb    $22,0($20)
422
$BLEZ1:
423
   blez  $0,$BLEZ2
424
   nop
425
   sb    $22,0($20)
426
$BLEZ2:
427
   sb    $13,0($20)
428
   sb    $21,0($20)
429
 
430 23 rhoads
   #h: BLTZ
431
   ori   $2,$0,'h'
432
   sb    $2,0($20)
433 15 rhoads
   ori   $10,$0,'A'
434
   ori   $11,$0,'B'
435
   ori   $12,$0,'C'
436
   ori   $13,$0,'D'
437
   ori   $14,$0,'E'
438
   ori   $2,$0,100
439
   li    $3,0xffff1234
440
   ori   $4,$0,0
441
   bltz  $2,$BLTZ1
442
   sb    $10,0($20)
443
   sb    $11,0($20)
444
   bltz  $3,$BLTZ1
445
   sb    $12,0($20)
446
   sb    $22,0($20)
447
$BLTZ1:
448
   bltz  $4,$BLTZ2
449
   nop
450
   sb    $13,0($20)
451
$BLTZ2:
452
   sb    $14,0($20)
453
   sb    $21,0($20)
454
 
455 23 rhoads
   #i: BLTZAL
456
   ori   $2,$0,'i'
457
   sb    $2,0($20)
458 15 rhoads
   ori   $10,$0,'A'
459
   ori   $11,$0,'B'
460
   ori   $12,$0,'C'
461
   ori   $13,$0,'D'
462
   ori   $14,$0,'E'
463
   ori   $15,$0,'X'
464
   li    $3,0xffff1234
465
   bltzal $0,$BLTZAL1
466
   nop
467
   sb    $10,0($20)
468
   bltzal $3,$BLTZAL1
469
   nop
470
   sb    $13,0($20)
471
   b     $BLTZAL2
472
   sb    $14,0($20)
473
   sb    $15,0($20)
474
$BLTZAL1:
475
   sb    $11,0($20)
476
   jr    $31
477
   sb    $12,0($20)
478
   sb    $22,0($20)
479
$BLTZAL2:
480
   sb    $21,0($20)
481
 
482 23 rhoads
   #j: BNE
483
   ori   $2,$0,'j'
484
   sb    $2,0($20)
485 15 rhoads
   ori   $10,$0,'A'
486
   ori   $11,$0,'B'
487
   ori   $12,$0,'C'
488
   ori   $13,$0,'D'
489
   ori   $2,$0,100
490
   ori   $3,$0,123
491
   ori   $4,$0,123
492
   bne   $3,$4,$BNE1
493
   sb    $10,0($20)
494
   sb    $11,0($20)
495
   bne   $2,$3,$BNE1
496
   sb    $12,0($20)
497
   sb    $22,0($20)
498
$BNE1:
499
   sb    $13,0($20)
500
   sb    $21,0($20)
501
 
502 23 rhoads
   #k: J
503
   ori   $2,$0,'k'
504
   sb    $2,0($20)
505 15 rhoads
   ori   $10,$0,'A'
506
   ori   $11,$0,'B'
507
   ori   $15,$0,'X'
508
   j     $J1
509
   sb    $10,0($20)
510
   sb    $15,0($20)
511
$J1:
512
   sb    $11,0($20)
513
   sb    $21,0($20)
514
 
515 23 rhoads
   #l: JAL
516
   ori   $2,$0,'l'
517
   sb    $2,0($20)
518 15 rhoads
   ori   $10,$0,'A'
519
   ori   $11,$0,'B'
520
   ori   $12,$0,'C'
521
   ori   $13,$0,'D'
522
   ori   $14,$0,'E'
523
   ori   $15,$0,'X'
524
   jal   $JAL1
525
   sb    $10,0($20)
526
   sb    $13,0($20)
527
   b     $JAL2
528
   sb    $14,0($20)
529
   sb    $15,0($20)
530
$JAL1:
531
   sb    $11,0($20)
532
   jr    $31
533
   sb    $12,0($20)
534
   sb    $22,0($20)
535
$JAL2:
536
   sb    $21,0($20)
537
 
538 23 rhoads
   #m: JALR
539
   ori   $2,$0,'m'
540
   sb    $2,0($20)
541 15 rhoads
   ori   $10,$0,'A'
542
   ori   $11,$0,'B'
543
   ori   $12,$0,'C'
544
   ori   $13,$0,'D'
545
   ori   $14,$0,'E'
546
   ori   $15,$0,'X'
547
   la    $3,$JALR1
548
   jalr  $3
549
   sb    $10,0($20)
550
   sb    $13,0($20)
551
   b     $JALR2
552
   sb    $14,0($20)
553
   sb    $15,0($20)
554
$JALR1:
555
   sb    $11,0($20)
556
   jr    $31
557
   sb    $12,0($20)
558
   sb    $22,0($20)
559
$JALR2:
560
   sb    $21,0($20)
561
 
562 23 rhoads
   #n: JR
563
   ori   $2,$0,'n'
564
   sb    $2,0($20)
565 15 rhoads
   ori   $10,$0,'A'
566
   ori   $11,$0,'B'
567
   ori   $15,$0,'X'
568
   la    $3,$JR1
569
   jr    $3
570
   sb    $10,0($20)
571
   sb    $15,0($20)
572
$JR1:
573
   sb    $11,0($20)
574
   sb    $21,0($20)
575
 
576 23 rhoads
   #o: NOP
577
   ori   $2,$0,'o'
578
   sb    $2,0($20)
579 15 rhoads
   ori   $2,$0,65
580
   nop
581
   sb    $2,0($20)
582
   sb    $21,0($20)
583
 
584
 
585
   ######################################
586
   #Load, Store, and Memory Control Instructions
587
   ######################################
588
   ori   $2,$0,'L'
589
   sb    $2,0($20)
590
   ori   $2,$0,'o'
591
   sb    $2,0($20)
592
   ori   $2,$0,'a'
593
   sb    $2,0($20)
594
   ori   $2,$0,'d'
595
   sb    $2,0($20)
596
   sb    $21,0($20)
597
 
598 23 rhoads
   #a: LB
599
   ori   $2,$0,'a'
600
   sb    $2,0($20)
601 15 rhoads
   ori   $2,$0,0xf000
602
   li    $3,0x41424344
603
   sw    $3,16($2)
604
   lb    $4,16($2)
605
   sb    $4,0($20)
606
   lb    $4,17($2)
607
   sb    $4,0($20)
608
   lb    $4,18($2)
609
   sb    $4,0($20)
610
   lb    $2,19($2)
611
   sb    $2,0($20)
612
   sb    $21,0($20)
613
 
614 23 rhoads
   #b: LBU
615
   ori   $2,$0,'b'
616
   sb    $2,0($20)
617 15 rhoads
   ori   $2,$0,0xf000
618
   li    $3,0x41424344
619
   sw    $3,16($2)
620
   lb    $4,16($2)
621
   sb    $4,0($20)
622
   lb    $4,17($2)
623
   sb    $4,0($20)
624
   lb    $4,18($2)
625
   sb    $4,0($20)
626
   lb    $2,19($2)
627
   sb    $2,0($20)
628
   sb    $21,0($20)
629
 
630 23 rhoads
   #c: LH
631
   ori   $2,$0,'c'
632
   sb    $2,0($20)
633 15 rhoads
   ori   $2,$0,0xf000
634
   li    $3,0x00410042
635
   sw    $3,16($2)
636
   lh    $4,16($2)
637
   sb    $4,0($20)
638
   lh    $2,18($2)
639
   sb    $2,0($20)
640
   sb    $21,0($20)
641
 
642 23 rhoads
   #d: LHU
643
   ori   $2,$0,'d'
644
   sb    $2,0($20)
645 15 rhoads
   ori   $2,$0,0xf000
646
   li    $3,0x00410042
647
   sw    $3,16($2)
648
   lh    $4,16($2)
649
   sb    $4,0($20)
650
   lh    $2,18($2)
651
   sb    $2,0($20)
652
   sb    $21,0($20)
653
 
654 23 rhoads
   #e: LW
655
   ori   $2,$0,'e'
656
   sb    $2,0($20)
657 15 rhoads
   ori   $2,$0,0xf000
658
   li    $3,'A'
659
   sw    $3,16($2)
660
   ori   $3,$0,0
661
   lw    $2,16($2)
662
   sb    $2,0($20)
663
   sb    $21,0($20)
664
 
665 23 rhoads
   #f: LWL & LWR
666
   ori   $2,$0,'f'
667
   sb    $2,0($20)
668 15 rhoads
   ori   $2,$0,0xf000
669
   li    $3,'A'
670
   sw    $3,16($2)
671
   ori   $3,$0,0
672
   lwl   $2,16($2)
673
   lwr   $2,16($2)
674
   sb    $2,0($20)
675
   sb    $21,0($20)
676
 
677 23 rhoads
   #g: SB
678
   ori   $2,$0,'g'
679
   sb    $2,0($20)
680 15 rhoads
   ori   $2,$0,'A'
681
   sb    $2,0($20)
682
   sb    $21,0($20)
683
 
684 23 rhoads
   #h: SH
685
   ori   $2,$0,'h'
686
   sb    $2,0($20)
687 29 rhoads
   ori   $4,$0,0xf000
688 15 rhoads
   ori   $2,$0,0x4142
689 29 rhoads
   sh    $2,16($4)
690
   lb    $3,16($4)
691 15 rhoads
   sb    $3,0($20)
692 29 rhoads
   lb    $2,17($4)
693 15 rhoads
   sb    $2,0($20)
694
   sb    $21,0($20)
695
 
696 23 rhoads
   #i: SW
697
   ori   $2,$0,'i'
698
   sb    $2,0($20)
699 15 rhoads
   ori   $2,$0,0xf000
700
   li    $3,0x41424344
701
   sw    $3,16($2)
702
   lb    $4,16($2)
703
   sb    $4,0($20)
704
   lb    $4,17($2)
705
   sb    $4,0($20)
706
   lb    $4,18($2)
707
   sb    $4,0($20)
708
   lb    $2,19($2)
709
   sb    $2,0($20)
710
   sb    $21,0($20)
711
 
712 23 rhoads
   #j: SWL & SWR
713
   ori   $2,$0,'j'
714
   sb    $2,0($20)
715 15 rhoads
   ori   $2,$0,0xf000
716
   li    $3,0x41424344
717
   swl   $3,16($2)
718
   swr   $3,16($2)
719
   lb    $4,16($2)
720
   sb    $4,0($20)
721
   lb    $4,17($2)
722
   sb    $4,0($20)
723
   lb    $4,18($2)
724
   sb    $4,0($20)
725
   lb    $2,19($2)
726
   sb    $2,0($20)
727
   sb    $21,0($20)
728
 
729
 
730
   ######################################
731
   #Logical Instructions
732
   ######################################
733
   ori   $2,$0,'L'
734
   sb    $2,0($20)
735
   ori   $2,$0,'o'
736
   sb    $2,0($20)
737
   ori   $2,$0,'g'
738
   sb    $2,0($20)
739
   ori   $2,$0,'i'
740
   sb    $2,0($20)
741
   ori   $2,$0,'c'
742
   sb    $2,0($20)
743
   sb    $21,0($20)
744
 
745 23 rhoads
   #a: AND
746
   ori   $2,$0,'a'
747
   sb    $2,0($20)
748 15 rhoads
   ori   $2,$0,0x0741
749
   ori   $3,$0,0x60f3
750
   and   $4,$2,$3
751
   sb    $4,0($20)
752
   sb    $21,0($20)
753
 
754 23 rhoads
   #b: ANDI
755
   ori   $2,$0,'b'
756
   sb    $2,0($20)
757 15 rhoads
   ori   $2,$0,0x0741
758
   andi  $4,$2,0x60f3
759
   sb    $4,0($20)
760
   sb    $21,0($20)
761
 
762 23 rhoads
   #c: LUI
763
   ori   $2,$0,'c'
764
   sb    $2,0($20)
765 15 rhoads
   lui   $2,0x41
766
   srl   $3,$2,16
767
   sb    $3,0($20)
768
   sb    $21,0($20)
769
 
770 23 rhoads
   #d: NOR
771
   ori   $2,$0,'d'
772
   sb    $2,0($20)
773 15 rhoads
   li    $2,0xf0fff08e
774
   li    $3,0x0f0f0f30
775
   nor   $4,$2,$3
776
   sb    $4,0($20)
777
   sb    $21,0($20)
778
 
779 23 rhoads
   #e: OR
780
   ori   $2,$0,'e'
781
   sb    $2,0($20)
782 15 rhoads
   ori   $2,$0,0x40
783
   ori   $3,$0,0x01
784
   or    $4,$2,$3
785
   sb    $4,0($20)
786
   sb    $21,0($20)
787
 
788 23 rhoads
   #f: ORI
789
   ori   $2,$0,'f'
790
   sb    $2,0($20)
791 15 rhoads
   ori   $2,$0,0x40
792
   ori   $4,$2,0x01
793
   sb    $4,0($20)
794
   sb    $21,0($20)
795
 
796 23 rhoads
   #g: XOR
797
   ori   $2,$0,'g'
798
   sb    $2,0($20)
799 15 rhoads
   ori   $2,$0,0xf043
800
   ori   $3,$0,0xf002
801
   xor   $4,$2,$3
802
   sb    $4,0($20)
803
   sb    $21,0($20)
804
 
805 23 rhoads
   #h: XORI
806
   ori   $2,$0,'h'
807
   sb    $2,0($20)
808 15 rhoads
   ori   $2,$0,0xf043
809
   xor   $4,$2,0xf002
810
   sb    $4,0($20)
811
   sb    $21,0($20)
812
 
813
 
814
   ######################################
815
   #Move Instructions
816
   ######################################
817
   ori   $2,$0,'M'
818
   sb    $2,0($20)
819
   ori   $2,$0,'o'
820
   sb    $2,0($20)
821
   ori   $2,$0,'v'
822
   sb    $2,0($20)
823
   ori   $2,$0,'e'
824
   sb    $2,0($20)
825
   sb    $21,0($20)
826
 
827 23 rhoads
   #a: MFHI
828
   ori   $2,$0,'a'
829
   sb    $2,0($20)
830 15 rhoads
   ori   $2,$0,65
831
   mthi  $2
832
   mfhi  $3
833
   sb    $3,0($20)
834
   sb    $21,0($20)
835
 
836 23 rhoads
   #b: MFLO
837
   ori   $2,$0,'b'
838
   sb    $2,0($20)
839 15 rhoads
   ori   $2,$0,65
840
   mtlo  $2
841
   mflo  $3
842
   sb    $3,0($20)
843
   sb    $21,0($20)
844
 
845 23 rhoads
   #c: MTHI
846
   ori   $2,$0,'c'
847
   sb    $2,0($20)
848 15 rhoads
   ori   $2,$0,65
849
   mthi  $2
850
   mfhi  $3
851
   sb    $3,0($20)
852
   sb    $21,0($20)
853
 
854 23 rhoads
   #d: MTLO
855
   ori   $2,$0,'d'
856
   sb    $2,0($20)
857 15 rhoads
   ori   $2,$0,65
858
   mtlo  $2
859
   mflo  $3
860
   sb    $3,0($20)
861
   sb    $21,0($20)
862
 
863
 
864
   ######################################
865
   #Shift Instructions
866
   ######################################
867
   ori   $2,$0,'S'
868
   sb    $2,0($20)
869
   ori   $2,$0,'h'
870
   sb    $2,0($20)
871
   ori   $2,$0,'i'
872
   sb    $2,0($20)
873
   ori   $2,$0,'f'
874
   sb    $2,0($20)
875
   ori   $2,$0,'t'
876
   sb    $2,0($20)
877
   sb    $21,0($20)
878
 
879 23 rhoads
   #a: SLL
880
   ori   $2,$0,'a'
881
   sb    $2,0($20)
882 15 rhoads
   li    $2,0x40414243
883
   sll   $3,$2,8
884
   srl   $3,$3,24
885
   sb    $3,0($20)
886
   sb    $21,0($20)
887
 
888 23 rhoads
   #b: SLLV
889
   ori   $2,$0,'b'
890
   sb    $2,0($20)
891 15 rhoads
   li    $2,0x40414243
892
   ori   $3,$0,8
893
   sllv  $3,$2,$3
894
   srl   $3,$3,24
895
   sb    $3,0($20)
896
   sb    $21,0($20)
897
 
898 23 rhoads
   #c: SRA
899
   ori   $2,$0,'c'
900
   sb    $2,0($20)
901 15 rhoads
   li    $2,0x40414243
902
   sra   $3,$2,16
903
   sb    $3,0($20)
904
   li    $2,0x84000000
905
   sra   $3,$2,25
906
   sub   $3,$3,0x80
907
   sb    $3,0($20)
908
   sb    $21,0($20)
909
 
910 23 rhoads
   #d: SRAV
911
   ori   $2,$0,'d'
912
   sb    $2,0($20)
913 15 rhoads
   li    $2,0x40414243
914
   ori   $3,$0,16
915
   srav  $3,$2,$3
916
   sb    $3,0($20)
917
   ori   $3,$0,25
918
   li    $2,0x84000000
919 29 rhoads
   srav  $3,$2,$3
920 15 rhoads
   sub   $3,$3,0x80
921
   sb    $3,0($20)
922
   sb    $21,0($20)
923
 
924 23 rhoads
   #e: SRL
925
   ori   $2,$0,'e'
926
   sb    $2,0($20)
927 15 rhoads
   li    $2,0x40414243
928
   srl   $3,$2,16
929
   sb    $3,0($20)
930
   li    $2,0x84000000
931 29 rhoads
   srl   $3,$2,25
932 15 rhoads
   sb    $3,0($20)
933
   sb    $21,0($20)
934
 
935 23 rhoads
   #f: SRLV
936
   ori   $2,$0,'f'
937
   sb    $2,0($20)
938 15 rhoads
   li    $2,0x40414243
939
   ori   $3,$0,16
940
   srlv  $4,$2,$3
941
   sb    $4,0($20)
942
   ori   $3,$0,25
943
   li    $2,0x84000000
944 29 rhoads
   srlv  $3,$2,$3
945 15 rhoads
   sb    $3,0($20)
946
   sb    $21,0($20)
947
 
948
 
949
   ori   $2,$0,'D'
950
   sb    $2,0($20)
951
   ori   $2,$0,'o'
952
   sb    $2,0($20)
953
   ori   $2,$0,'n'
954
   sb    $2,0($20)
955
   ori   $2,$0,'e'
956
   sb    $2,0($20)
957
   sb    $21,0($20)
958
 
959
 
960
$DONE:
961
   j     $DONE
962
   nop
963
 
964
   .set reorder
965
        .end    entry
966
 

powered by: WebSVN 2.1.0

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