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

Subversion Repositories yacc

[/] [yacc/] [trunk/] [doc/] [instruction.htm] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 tak.sugawa
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<HTML>
3
<HEAD>
4
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5
<META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 9.0.2.0 for Windows">
6
<META http-equiv="Content-Style-Type" content="text/css">
7
<TITLE></TITLE>
8
</HEAD>
9
<BODY>
10
<P><B>2.3 Supported Instructions</B><BR>
11
<BR>
12
Not supported item is displayed as <FONT color="#ff0000">red characters</FONT>.<BR>
13
Unaligned load and store operations (LWL,SWL,LWR,SWR) are not supported.<BR>
14
</P>
15
<H3>ADD -- <I>Add</I></H3>
16
<TABLE border=1>
17
<TBODY>
18
<TR>
19
<TD>Description:
20
 
21
 
22
      <TD>Adds two registers and stores the result in a register<FONT color="#ff0000">(Exception by Overflow)</FONT>
23
 
24
 
25
 
26
    <TR>
27
<TD>Operation:
28
 
29
 
30
      <TD>$d = $s + $t;
31
 
32
 
33
 
34
    <TR>
35
<TD>Syntax:
36
 
37
 
38
      <TD>add $d, $s, $t
39
 
40
 
41
 
42
 
43
    <TR>
44
<TD>Encoding:
45
 
46
 
47
      <TD>
48
      <TABLE border="1" width="476">
49
        <TBODY>
50
          <TR>
51
            <TD width="93" height="35">OPCODE</TD>
52
            <TD width="25" height="35">Source</TD>
53
            <TD width="82" height="35">Target</TD>
54
            <TD width="62" height="35">Destination</TD>
55
            <TD width="134" height="35">Shift</TD>
56
            <TD height="35">Function</TD>
57
          </TR>
58
          <TR>
59
            <TD width="93" height="30">6fbOOOOOO</TD>
60
            <TD width="25" height="30">5bit</TD>
61
            <TD width="82" height="30">5bit</TD>
62
            <TD width="62" height="30">5bit</TD>
63
            <TD width="134" height="30">5bit</TD>
64
            <TD height="30">6'b100_000</TD>
65
          </TR>
66
        </TBODY>
67
      </TABLE>
68
 
69
 
70
    </TR>
71
  </TBODY>
72
</TABLE>
73
<H3>ADDI -- <I>Add immediate</I></H3>
74
<TABLE border=1>
75
<TBODY>
76
<TR>
77
<TD>Description:
78
 
79
 
80
      <TD>Adds a register and a signed immediate value and stores the result in a
81
register
82
 
83
 
84
 
85
 
86
    <TR>
87
<TD>Operation:
88
 
89
 
90
      <TD>$t = $s + imm;
91
 
92
 
93
 
94
    <TR>
95
<TD>Syntax:
96
 
97
 
98
      <TD>addi $t, $s, imm
99
 
100
 
101
 
102
 
103
    <TR>
104
<TD>Encoding:
105
 
106
 
107
      <TD>
108
      <TABLE border="1" width="507">
109
        <TBODY>
110
          <TR>
111
            <TD width="93" height="35">OPCODE</TD>
112
            <TD width="25" height="35">Source</TD>
113
            <TD width="82" height="35">Target</TD>
114
            <TD colspan="4">Immediate</TD>
115
          </TR>
116
          <TR>
117
            <TD width="93" height="30"><CODE>6'b001000</CODE></TD>
118
            <TD width="25" height="30">5bit</TD>
119
            <TD width="82" height="30">5bit</TD>
120
            <TD colspan="4">16bit</TD>
121
          </TR>
122
        </TBODY>
123
      </TABLE>
124
 
125
 
126
    </TR>
127
  </TBODY>
128
</TABLE>
129
<H3>ADDIU -- <I>Add immediate unsigned</I></H3>
130
<TABLE border="1" width="595" height="152">
131
<TBODY>
132
<TR>
133
<TD>Description:
134
 
135
 
136
      <TD>Adds a register and an unsigned immediate value and stores the result in a
137
register
138
 
139
 
140
 
141
 
142
    <TR>
143
<TD>Operation:
144
 
145
 
146
      <TD>$t = $s + imm;
147
 
148
 
149
 
150
    <TR>
151
<TD>Syntax:
152
 
153
 
154
      <TD>addiu $t, $s, imm
155
 
156
 
157
 
158
 
159
    <TR>
160
<TD>Encoding:
161
 
162
 
163
      <TD>
164
      <TABLE border="1" width="507">
165
        <TBODY>
166
          <TR>
167
            <TD width="93" height="35">OPCODE</TD>
168
            <TD width="25" height="35">Source</TD>
169
            <TD width="82" height="35">Target</TD>
170
            <TD colspan="4">Immediate</TD>
171
          </TR>
172
          <TR>
173
            <TD width="93" height="30"><CODE>6'b001001</CODE></TD>
174
            <TD width="25" height="30">5bit</TD>
175
            <TD width="82" height="30">5bit</TD>
176
            <TD colspan="4">16bit</TD>
177
          </TR>
178
        </TBODY>
179
      </TABLE>
180
 
181
 
182
    </TR>
183
  </TBODY>
184
</TABLE>
185
<H3>ADDU -- <I>Add unsigned</I></H3>
186
<TABLE border=1>
187
<TBODY>
188
<TR>
189
<TD>Description:
190
 
191
 
192
      <TD>Adds two registers and stores the result in a register
193
 
194
 
195
 
196
    <TR>
197
<TD>Operation:
198
 
199
 
200
      <TD>$d = $s + $t;
201
 
202
 
203
 
204
    <TR>
205
<TD>Syntax:
206
 
207
 
208
      <TD>addu $d, $s, $t
209
 
210
 
211
 
212
 
213
    <TR>
214
<TD>Encoding:
215
 
216
 
217
      <TD>
218
      <TABLE border="1" width="476">
219
        <TBODY>
220
          <TR>
221
            <TD width="93" height="35">OPCODE</TD>
222
            <TD width="25" height="35">Source</TD>
223
            <TD width="82" height="35">Target</TD>
224
            <TD width="62" height="35">Destination</TD>
225
            <TD width="134" height="35">Shift</TD>
226
            <TD height="35">Function</TD>
227
          </TR>
228
          <TR>
229
            <TD width="93" height="30">6fbOOOOOO</TD>
230
            <TD width="25" height="30">5bit</TD>
231
            <TD width="82" height="30">5bit</TD>
232
            <TD width="62" height="30">5bit</TD>
233
            <TD width="134" height="30">5'h0</TD>
234
            <TD height="30">6'b100_001</TD>
235
          </TR>
236
        </TBODY>
237
      </TABLE>
238
 
239
 
240
    </TR>
241
  </TBODY>
242
</TABLE>
243
<H3>AND -- <I>Bitwise and</I></H3>
244
<TABLE border=1>
245
<TBODY>
246
<TR>
247
<TD>Description:
248
 
249
 
250
      <TD>Bitwise ands two registers and stores the result in a register
251
 
252
 
253
 
254
 
255
    <TR>
256
<TD>Operation:
257
 
258
 
259
      <TD>$d = $s &amp; $t;
260
 
261
 
262
 
263
    <TR>
264
<TD>Syntax:
265
 
266
 
267
      <TD>and $d, $s, $t
268
 
269
 
270
 
271
 
272
    <TR>
273
<TD>Encoding:
274
 
275
 
276
      <TD>
277
      <TABLE border="1" width="476">
278
        <TBODY>
279
          <TR>
280
            <TD width="98" height="42">OPCODE</TD>
281
            <TD width="32" height="42">Source</TD>
282
            <TD width="82" height="42">Target</TD>
283
            <TD width="62" height="42">Destination</TD>
284
            <TD width="134" height="42">Shift</TD>
285
            <TD height="42">Function</TD>
286
          </TR>
287
          <TR>
288
            <TD width="98" height="25">6fbOOOOOO</TD>
289
            <TD width="32" height="25">5bit</TD>
290
            <TD width="82" height="25">5bit</TD>
291
            <TD width="62" height="25">5bit</TD>
292
            <TD width="134" height="25">5'h0</TD>
293
            <TD height="25">6'b100100</TD>
294
          </TR>
295
        </TBODY>
296
      </TABLE>
297
 
298
 
299
    </TR>
300
  </TBODY>
301
</TABLE>
302
<H3>ANDI -- <I>Bitwise and immediate</I></H3>
303
<TABLE border=1>
304
<TBODY>
305
<TR>
306
<TD>Description:
307
 
308
 
309
      <TD>Bitwise ands a register and an immediate value and stores the result in a
310
register
311
 
312
 
313
 
314
 
315
    <TR>
316
<TD>Operation:
317
 
318
 
319
      <TD>$t = $s &amp; imm;
320
 
321
 
322
 
323
    <TR>
324
<TD>Syntax:
325
 
326
 
327
      <TD>andi $t, $s, imm
328
 
329
 
330
 
331
 
332
    <TR>
333
<TD>Encoding:
334
 
335
 
336
      <TD>
337
      <TABLE border="1" width="519">
338
        <TBODY>
339
          <TR>
340
            <TD width="93" height="37">OPCODE</TD>
341
            <TD width="25" height="37">Source</TD>
342
            <TD width="82" height="37">Target</TD>
343
            <TD colspan="4" width="286" height="37">Immediate</TD>
344
          </TR>
345
          <TR>
346
            <TD width="93" height="28"><CODE>6'b001100</CODE></TD>
347
            <TD width="25" height="28">5bit</TD>
348
            <TD width="82" height="28">5bit</TD>
349
            <TD colspan="4" width="286" height="28">16bit</TD>
350
          </TR>
351
        </TBODY>
352
      </TABLE>
353
 
354
 
355
    </TR>
356
  </TBODY>
357
</TABLE>
358
<H3>BEQ -- <I>Branch on equal</I></H3>
359
<TABLE border=1>
360
<TBODY>
361
<TR>
362
<TD>Description:
363
 
364
 
365
      <TD>Branches if the two registers are equal
366
 
367
 
368
 
369
 
370
    <TR>
371
<TD>Operation:
372
 
373
 
374
      <TD>if $s == $t PC +=imm &lt;&lt; 2;
375
 
376
 
377
 
378
    <TR>
379
<TD>Syntax:
380
 
381
 
382
      <TD>beq $s, $t, imm
383
 
384
 
385
 
386
    <TR>
387
<TD>Encoding:
388
 
389
 
390
      <TD>
391
      <TABLE border="1" width="507">
392
        <TBODY>
393
          <TR>
394
            <TD width="93" height="35">OPCODE</TD>
395
            <TD width="25" height="35">Source</TD>
396
            <TD width="82" height="35">Target</TD>
397
            <TD colspan="4">Immediate</TD>
398
          </TR>
399
          <TR>
400
            <TD width="93" height="30"><CODE>6'b000100</CODE></TD>
401
            <TD width="25" height="30">5bit</TD>
402
            <TD width="82" height="30">5'h0</TD>
403
            <TD colspan="4">16bit</TD>
404
          </TR>
405
        </TBODY>
406
      </TABLE>
407
 
408
 
409
    </TR>
410
  </TBODY>
411
</TABLE>
412
<H3>BGEZ -- <I>Branch on greater than or equal to zero</I></H3>
413
<TABLE border=1>
414
<TBODY>
415
<TR>
416
<TD>Description:
417
 
418
 
419
      <TD>Branches if the register is greater than or equal to zero
420
 
421
 
422
 
423
 
424
    <TR>
425
<TD>Operation:
426
 
427
 
428
      <TD>if $s &gt;= 0 PC +=offset &lt;&lt; 2;
429
 
430
 
431
 
432
    <TR>
433
<TD>Syntax:
434
 
435
 
436
      <TD>bgez $s, offset
437
 
438
 
439
 
440
 
441
    <TR>
442
<TD>Encoding:
443
 
444
 
445
      <TD>
446
      <TABLE border="1" width="507">
447
        <TBODY>
448
          <TR>
449
            <TD width="93" height="35">OPCODE</TD>
450
            <TD width="25" height="35">Source</TD>
451
            <TD width="82" height="35">Target</TD>
452
            <TD colspan="4">Immediate</TD>
453
          </TR>
454
          <TR>
455
            <TD width="93" height="30"><CODE>6'b000001</CODE></TD>
456
            <TD width="25" height="30">5bit</TD>
457
            <TD width="82" height="30">5'b00001</TD>
458
            <TD colspan="4">16bit</TD>
459
          </TR>
460
        </TBODY>
461
      </TABLE>
462
 
463
 
464
    </TR>
465
  </TBODY>
466
</TABLE>
467
<H3><FONT color="#ff0000">BGEZAL -- Branch on greater than or equal to zero and link</FONT></H3>
468
<TABLE border=1>
469
<TBODY>
470
<TR>
471
<TD>Description:
472
 
473
 
474
      <TD>Branches if the register is greater than or equal to zero and saves the
475
return address in $31
476
 
477
 
478
 
479
 
480
    <TR>
481
<TD>Operation:
482
 
483
 
484
      <TD>if $s &gt;= 0 $31 = PC + 8 ; PC +=imm &lt;&lt; 2;
485
 
486
 
487
 
488
    <TR>
489
<TD>Syntax:
490
 
491
 
492
      <TD>bgezal $s, imm
493
 
494
 
495
 
496
    <TR>
497
<TD>Encoding:
498
 
499
 
500
      <TD>
501
      <TABLE border="1" width="595">
502
        <TBODY>
503
          <TR>
504
            <TD width="93" height="35">OPCODE</TD>
505
            <TD width="25" height="35">Source</TD>
506
            <TD width="82" height="35">Target</TD>
507
            <TD colspan="4">Immediate</TD>
508
          </TR>
509
          <TR>
510
            <TD width="93" height="30"><CODE>6'b000001</CODE></TD>
511
            <TD width="25" height="30">5bit</TD>
512
            <TD width="82" height="30">5'h10001</TD>
513
            <TD colspan="4">16bit</TD>
514
          </TR>
515
        </TBODY>
516
      </TABLE>
517
 
518
 
519
    </TR>
520
  </TBODY>
521
</TABLE>
522
<H3>BGTZ -- <I>Branch on greater than zero</I></H3>
523
<TABLE border=1>
524
<TBODY>
525
<TR>
526
<TD>Description:
527
 
528
 
529
      <TD>Branches if the register is greater than zero
530
 
531
 
532
 
533
 
534
    <TR>
535
<TD>Operation:
536
 
537
 
538
      <TD>if $s &gt; 0 PC +=imm &lt;&lt; 2;
539
 
540
 
541
 
542
    <TR>
543
<TD>Syntax:
544
 
545
 
546
      <TD>bgtz $s, imm
547
 
548
 
549
 
550
    <TR>
551
<TD>Encoding:
552
 
553
 
554
      <TD>
555
      <TABLE border="1" width="507">
556
        <TBODY>
557
          <TR>
558
            <TD width="93" height="35">OPCODE</TD>
559
            <TD width="25" height="35">Source</TD>
560
            <TD width="82" height="35">Target</TD>
561
            <TD colspan="4">Immediate</TD>
562
          </TR>
563
          <TR>
564
            <TD width="93" height="30"><CODE>6'b000111</CODE></TD>
565
            <TD width="25" height="30">5bit</TD>
566
            <TD width="82" height="30">5'h0</TD>
567
            <TD colspan="4">16bit</TD>
568
          </TR>
569
        </TBODY>
570
      </TABLE>
571
 
572
 
573
    </TR>
574
  </TBODY>
575
</TABLE>
576
<H3>BLEZ -- <I>Branch on less than or equal to zero</I></H3>
577
<TABLE border=1>
578
<TBODY>
579
<TR>
580
<TD>Description:
581
 
582
 
583
      <TD>Branches if the register is less than or equal to zero
584
 
585
 
586
 
587
 
588
    <TR>
589
<TD>Operation:
590
 
591
 
592
      <TD>if $s &lt;= 0 PC +=imm &lt;&lt; 2;
593
 
594
 
595
 
596
    <TR>
597
<TD>Syntax:
598
 
599
 
600
      <TD>blez $s, imm
601
 
602
 
603
 
604
    <TR>
605
<TD>Encoding:
606
 
607
 
608
      <TD>
609
      <TABLE border="1" width="507">
610
        <TBODY>
611
          <TR>
612
            <TD width="93" height="35">OPCODE</TD>
613
            <TD width="25" height="35">Source</TD>
614
            <TD width="82" height="35">Target</TD>
615
            <TD colspan="4">Immediate</TD>
616
          </TR>
617
          <TR>
618
            <TD width="93" height="30"><CODE>6'b000110</CODE></TD>
619
            <TD width="25" height="30">5bit</TD>
620
            <TD width="82" height="30">5'h0</TD>
621
            <TD colspan="4">16bit</TD>
622
          </TR>
623
        </TBODY>
624
      </TABLE>
625
 
626
 
627
    </TR>
628
  </TBODY>
629
</TABLE>
630
<H3>BLTZ -- <I>Branch on less than zero</I></H3>
631
<TABLE border=1>
632
<TBODY>
633
<TR>
634
<TD>Description:
635
 
636
 
637
      <TD>Branches if the register is less than zero
638
 
639
 
640
 
641
 
642
    <TR>
643
<TD>Operation:
644
 
645
 
646
      <TD>if $s &lt; 0 PC+=imm &lt;&lt; 2;
647
 
648
 
649
 
650
    <TR>
651
<TD>Syntax:
652
 
653
 
654
      <TD>bltz $s, imm
655
 
656
 
657
 
658
    <TR>
659
<TD>Encoding:
660
 
661
 
662
      <TD>
663
      <TABLE border="1" width="507">
664
        <TBODY>
665
          <TR>
666
            <TD width="93" height="35">OPCODE</TD>
667
            <TD width="25" height="35">Source</TD>
668
            <TD width="82" height="35">Target</TD>
669
            <TD colspan="4">Immediate</TD>
670
          </TR>
671
          <TR>
672
            <TD width="93" height="30"><CODE>6'b00001</CODE></TD>
673
            <TD width="25" height="30">5bit</TD>
674
            <TD width="82" height="30">5'b00000</TD>
675
            <TD colspan="4">16bit</TD>
676
          </TR>
677
        </TBODY>
678
      </TABLE>
679
 
680
 
681
    </TR>
682
  </TBODY>
683
</TABLE>
684
<H3><FONT color="#ff0000">BLTZAL -- Branch on less than zero and link</FONT></H3>
685
<TABLE border=1>
686
<TBODY>
687
<TR>
688
<TD>Description:
689
 
690
 
691
      <TD>Branches if the register is less than zero and saves the return address in
692
$31
693
 
694
 
695
 
696
 
697
    <TR>
698
<TD>Operation:
699
 
700
 
701
      <TD>if $s &lt; 0 $31 = PC + 8 ; PC+=imm &lt;&lt; 2;
702
 
703
 
704
 
705
    <TR>
706
<TD>Syntax:
707
 
708
 
709
      <TD>bltzal $s, imm
710
 
711
 
712
 
713
    <TR>
714
<TD>Encoding:
715
 
716
 
717
      <TD>
718
      <TABLE border="1" width="507">
719
        <TBODY>
720
          <TR>
721
            <TD width="93" height="35">OPCODE</TD>
722
            <TD width="25" height="35">Source</TD>
723
            <TD width="82" height="35">Target</TD>
724
            <TD colspan="4">Immediate</TD>
725
          </TR>
726
          <TR>
727
            <TD width="93" height="30"><CODE>6'b000001</CODE></TD>
728
            <TD width="25" height="30">5bit</TD>
729
            <TD width="82" height="30">5'b10000</TD>
730
            <TD colspan="4">16bit</TD>
731
          </TR>
732
        </TBODY>
733
      </TABLE>
734
 
735
 
736
    </TR>
737
  </TBODY>
738
</TABLE>
739
<H3>BNE -- <I>Branch on not equal</I></H3>
740
<TABLE border=1>
741
<TBODY>
742
<TR>
743
<TD>Description:
744
 
745
 
746
      <TD>Branches if the two registers are not equal
747
 
748
 
749
 
750
 
751
    <TR>
752
<TD>Operation:
753
 
754
 
755
      <TD>if $s != $t PC+=imm &lt;&lt; 2;
756
 
757
 
758
 
759
    <TR>
760
<TD>Syntax:
761
 
762
 
763
      <TD>bne $s, $t, imm
764
 
765
 
766
 
767
    <TR>
768
<TD>Encoding:
769
 
770
 
771
      <TD>
772
      <TABLE border="1" width="507">
773
        <TBODY>
774
          <TR>
775
            <TD width="93" height="35">OPCODE</TD>
776
            <TD width="25" height="35">Source</TD>
777
            <TD width="82" height="35">Target</TD>
778
            <TD colspan="4">Immediate</TD>
779
          </TR>
780
          <TR>
781
            <TD width="93" height="30"><CODE>6'b000101</CODE></TD>
782
            <TD width="25" height="30">5bit</TD>
783
            <TD width="82" height="30">5'h0</TD>
784
            <TD colspan="4">16bit</TD>
785
          </TR>
786
        </TBODY>
787
      </TABLE>
788
 
789
 
790
    </TR>
791
  </TBODY>
792
</TABLE>
793
<H3><FONT color="#ff0000">Break -- Break</FONT> </H3>
794
<TABLE border=1>
795
<TBODY>
796
<TR>
797
<TD>Description:
798
 
799
 
800
 
801
      <TD>Generates break point.
802
 
803
 
804
 
805
    <TR>
806
<TD>Operation:
807
 
808
 
809
 
810
      <TD>
811
 
812
 
813
 
814
 
815
 
816
    <TR>
817
<TD>Syntax:
818
 
819
 
820
 
821
      <TD>break
822
 
823
 
824
 
825
    <TR>
826
<TD>Encoding:
827
 
828
 
829
 
830
      <TD>
831
      <TABLE border="1" width="476">
832
        <TBODY>
833
          <TR>
834
            <TD width="98" height="42">OPCODE</TD>
835
            <TD width="32" height="42">Source</TD>
836
            <TD width="82" height="42">Target</TD>
837
            <TD width="62" height="42">Destination</TD>
838
            <TD width="134" height="42">Shift</TD>
839
            <TD height="42">Function</TD>
840
          </TR>
841
          <TR>
842
            <TD width="98" height="25">6fbOOOOOO</TD>
843
            <TD width="32" height="25">?????</TD>
844
            <TD width="82" height="25">?????</TD>
845
            <TD width="62" height="25">?????</TD>
846
            <TD width="134" height="25">?????</TD>
847
            <TD height="25">6'b001101</TD>
848
          </TR>
849
        </TBODY>
850
      </TABLE>
851
 
852
 
853
    </TR>
854
  </TBODY>
855
</TABLE>
856
<P><BR>
857
<BR>
858
</P>
859
<H3>DIV -- <I>Divide</I></H3>
860
<TABLE border="1" width="597" height="167">
861
<TBODY>
862
<TR>
863
<TD>Description:
864
 
865
 
866
      <TD>Divides $s by $t and stores the quotient in $LO and the remainder in $HI
867
 
868
 
869
 
870
 
871
    <TR>
872
<TD>Operation:
873
 
874
 
875
      <TD>$LO = $s / $t; $HI = $s % $t;
876
 
877
 
878
 
879
    <TR>
880
<TD>Syntax:
881
 
882
 
883
      <TD>div $s, $t
884
 
885
 
886
 
887
 
888
    <TR>
889
<TD>Encoding:
890
 
891
 
892
      <TD>
893
      <TABLE border="1" width="515">
894
        <TBODY>
895
          <TR>
896
            <TD width="99" height="25">OPCODE</TD>
897
            <TD width="30" height="25">Source</TD>
898
            <TD width="82" height="25">Target</TD>
899
            <TD width="62" height="25">Destination</TD>
900
            <TD width="134" height="25">Shift</TD>
901
            <TD width="115" height="25">Function</TD>
902
          </TR>
903
          <TR>
904
            <TD width="99" height="42">6fbOOOOOO</TD>
905
            <TD width="30" height="42">5bit</TD>
906
            <TD width="82" height="42">5bit</TD>
907
            <TD width="62" height="42">5'h0</TD>
908
            <TD width="134" height="42">5'h0</TD>
909
            <TD width="115" height="42">6'b011010</TD>
910
          </TR>
911
        </TBODY>
912
      </TABLE>
913
 
914
 
915
    </TR>
916
  </TBODY>
917
</TABLE>
918
<H3>DIVU -- <I>Divide unsigned</I></H3>
919
<TABLE border="1" width="615">
920
<TBODY>
921
<TR>
922
<TD>Description:
923
 
924
 
925
      <TD>Divides $s by $t and stores the quotient in $LO and the remainder in $HI
926
 
927
 
928
 
929
 
930
    <TR>
931
<TD>Operation:
932
 
933
 
934
      <TD>$LO = $s / $t; $HI = $s % $t;
935
 
936
 
937
 
938
    <TR>
939
<TD>Syntax:
940
 
941
 
942
      <TD>divu $s, $t
943
 
944
 
945
 
946
 
947
    <TR>
948
<TD>Encoding:
949
 
950
 
951
      <TD>
952
      <TABLE border="1" width="524">
953
        <TBODY>
954
          <TR>
955
            <TD width="100" height="39">OPCODE</TD>
956
            <TD width="31" height="39">Source</TD>
957
            <TD width="52" height="39">Target</TD>
958
            <TD width="62" height="39">Destination</TD>
959
            <TD width="134" height="39">Shift</TD>
960
            <TD width="94" height="39">Function</TD>
961
          </TR>
962
          <TR>
963
            <TD width="100" height="32">6fbOOOOOO</TD>
964
            <TD width="31" height="32">5bit</TD>
965
            <TD width="52" height="32">5bit</TD>
966
            <TD width="62" height="32">5'h0</TD>
967
            <TD width="134" height="32">5'h0</TD>
968
            <TD width="94" height="32">6'b011011</TD>
969
          </TR>
970
        </TBODY>
971
      </TABLE>
972
 
973
 
974
    </TR>
975
  </TBODY>
976
</TABLE>
977
<H3>J -- <I>Jump</I></H3>
978
<TABLE border=1>
979
<TBODY>
980
<TR>
981
<TD>Description:
982
 
983
 
984
      <TD>Jumps to the calculated address
985
 
986
 
987
 
988
 
989
    <TR>
990
<TD>Operation:
991
 
992
 
993
      <TD>PC = nPC; nPC = (PC &amp; 0xf0000000) | (imm26 &lt;&lt; 2);
994
 
995
 
996
 
997
    <TR>
998
<TD>Syntax:
999
 
1000
 
1001
      <TD>j imm26
1002
 
1003
 
1004
 
1005
    <TR>
1006
<TD>Encoding:
1007
 
1008
 
1009
      <TD>
1010
      <TABLE border="1" width="476">
1011
        <TBODY>
1012
          <TR>
1013
            <TD width="93" height="35">OPCODE</TD>
1014
            <TD height="35" colspan="5">Immediate</TD>
1015
          </TR>
1016
          <TR>
1017
            <TD width="93" height="30">6'b000010</TD>
1018
            <TD height="30" width="31" colspan="5">26bit</TD>
1019
          </TR>
1020
        </TBODY>
1021
      </TABLE>
1022
 
1023
 
1024
    </TR>
1025
  </TBODY>
1026
</TABLE>
1027
<H3>JAL -- <I>Jump and link</I></H3>
1028
<TABLE border=1>
1029
<TBODY>
1030
<TR>
1031
<TD>Description:
1032
 
1033
 
1034
      <TD>Jumps to the calculated address and stores the return address in $31
1035
 
1036
 
1037
 
1038
 
1039
    <TR>
1040
<TD>Operation:
1041
 
1042
 
1043
      <TD>$31 = PC + 8 ; PC = nPC; nPC = (PC &amp; 0xf0000000) | (imm26 &lt;&lt;
1044
      2);
1045
 
1046
 
1047
 
1048
    <TR>
1049
<TD>Syntax:
1050
 
1051
 
1052
      <TD>jal imm26
1053
 
1054
 
1055
 
1056
    <TR>
1057
<TD>Encoding:
1058
 
1059
 
1060
      <TD>
1061
      <TABLE border="1" width="476">
1062
        <TBODY>
1063
          <TR>
1064
            <TD width="93" height="35">OPCODE</TD>
1065
            <TD height="35" colspan="5">Immediate</TD>
1066
          </TR>
1067
          <TR>
1068
            <TD width="93" height="30">6'b000011</TD>
1069
            <TD height="30" width="31" colspan="5">26bit</TD>
1070
          </TR>
1071
        </TBODY>
1072
      </TABLE>
1073
 
1074
 
1075
    </TR>
1076
  </TBODY>
1077
</TABLE>
1078
<H3>JALR -- <I>Jump and link Register</I></H3>
1079
<TABLE border=1>
1080
<TBODY>
1081
<TR>
1082
<TD>Description:
1083
 
1084
 
1085
 
1086
      <TD>Jump to the address contained in register $s and stores the return address
1087
      in $d
1088
 
1089
 
1090
 
1091
    <TR>
1092
<TD>Operation:
1093
 
1094
 
1095
 
1096
      <TD>$d = PC + 8 ; PC = $s
1097
 
1098
 
1099
 
1100
    <TR>
1101
<TD>Syntax:
1102
 
1103
 
1104
 
1105
      <TD>jalr $d,$s
1106
 
1107
 
1108
 
1109
    <TR>
1110
<TD>Encoding:
1111
 
1112
 
1113
 
1114
      <TD>
1115
      <TABLE border="1" width="524">
1116
        <TBODY>
1117
          <TR>
1118
            <TD width="100" height="39">OPCODE</TD>
1119
            <TD width="31" height="39">Source</TD>
1120
            <TD width="52" height="39">Target</TD>
1121
            <TD width="62" height="39">Destination</TD>
1122
            <TD width="134" height="39">Shift</TD>
1123
            <TD width="94" height="39">Function</TD>
1124
          </TR>
1125
          <TR>
1126
            <TD width="100" height="32">6fbOOOOOO</TD>
1127
            <TD width="31" height="32">5bit</TD>
1128
            <TD width="52" height="32">5'h0</TD>
1129
            <TD width="62" height="32">5bit</TD>
1130
            <TD width="134" height="32">5'h0</TD>
1131
            <TD width="94" height="32">6'b001001</TD>
1132
          </TR>
1133
        </TBODY>
1134
      </TABLE>
1135
 
1136
 
1137
    </TR>
1138
  </TBODY>
1139
</TABLE>
1140
<H3>JR -- <I>Jump register</I></H3>
1141
<TABLE border=1>
1142
<TBODY>
1143
<TR>
1144
<TD>Description:
1145
 
1146
 
1147
      <TD>Jump to the address contained in register $s
1148
 
1149
 
1150
 
1151
    <TR>
1152
<TD>Operation:
1153
 
1154
 
1155
      <TD>PC = nPC; nPC = $s;
1156
 
1157
 
1158
 
1159
 
1160
    <TR>
1161
<TD>Syntax:
1162
 
1163
 
1164
      <TD>jr $s
1165
 
1166
 
1167
 
1168
 
1169
    <TR>
1170
<TD>Encoding:
1171
 
1172
 
1173
      <TD>
1174
      <TABLE border="1" width="524">
1175
        <TBODY>
1176
          <TR>
1177
            <TD width="100" height="39">OPCODE</TD>
1178
            <TD width="31" height="39">Source</TD>
1179
            <TD width="52" height="39">Target</TD>
1180
            <TD width="62" height="39">Destination</TD>
1181
            <TD width="134" height="39">Shift</TD>
1182
            <TD width="94" height="39">Function</TD>
1183
          </TR>
1184
          <TR>
1185
            <TD width="100" height="32">6fbOOOOOO</TD>
1186
            <TD width="31" height="32">5bit</TD>
1187
            <TD width="52" height="32">5'h0</TD>
1188
            <TD width="62" height="32">5'h0</TD>
1189
            <TD width="134" height="32">5'h0</TD>
1190
            <TD width="94" height="32">6'b001000</TD>
1191
          </TR>
1192
        </TBODY>
1193
      </TABLE>
1194
 
1195
 
1196
    </TR>
1197
  </TBODY>
1198
</TABLE>
1199
<H3>LB -- <I>Load byte</I></H3>
1200
<TABLE border=1>
1201
<TBODY>
1202
<TR>
1203
<TD>Description:
1204
 
1205
 
1206
      <TD>A signed extented byte is loaded into a register from the specified address.
1207
 
1208
 
1209
 
1210
    <TR>
1211
<TD>Operation:
1212
 
1213
 
1214
      <TD>$t = MEM[$s + imm]; ;
1215
 
1216
 
1217
 
1218
    <TR>
1219
<TD>Syntax:
1220
 
1221
 
1222
      <TD>lb $t, imm($s)
1223
 
1224
 
1225
 
1226
    <TR>
1227
<TD>Encoding:
1228
 
1229
 
1230
      <TD>
1231
      <TABLE border="1" width="507">
1232
        <TBODY>
1233
          <TR>
1234
            <TD width="93" height="35">OPCODE</TD>
1235
            <TD width="25" height="35">Source</TD>
1236
            <TD width="82" height="35">Target</TD>
1237
            <TD colspan="4">Immediate</TD>
1238
          </TR>
1239
          <TR>
1240
            <TD width="93" height="30"><CODE>6'b100000</CODE></TD>
1241
            <TD width="25" height="30">5bit</TD>
1242
            <TD width="82" height="30">5bit</TD>
1243
            <TD colspan="4">16bit</TD>
1244
          </TR>
1245
        </TBODY>
1246
      </TABLE>
1247
 
1248
 
1249
    </TR>
1250
  </TBODY>
1251
</TABLE>
1252
<H3>LBU -- <I>Load byte unsigned</I></H3>
1253
<TABLE border=1>
1254
<TBODY>
1255
<TR>
1256
<TD>Description:
1257
 
1258
 
1259
 
1260
      <TD>A unsigned extented byte is loaded into a register from the specified address.
1261
 
1262
 
1263
 
1264
    <TR>
1265
<TD>Operation:
1266
 
1267
 
1268
 
1269
      <TD>$t = MEM[$s + imm]; ;
1270
 
1271
 
1272
 
1273
 
1274
 
1275
    <TR>
1276
<TD>Syntax:
1277
 
1278
 
1279
 
1280
      <TD>lbu $t, imm($s)
1281
 
1282
 
1283
 
1284
    <TR>
1285
<TD>Encoding:
1286
 
1287
 
1288
 
1289
      <TD>
1290
      <TABLE border="1" width="507">
1291
        <TBODY>
1292
          <TR>
1293
            <TD width="93" height="35">OPCODE</TD>
1294
            <TD width="25" height="35">Source</TD>
1295
            <TD width="82" height="35">Target</TD>
1296
            <TD colspan="4">Immediate</TD>
1297
          </TR>
1298
          <TR>
1299
            <TD width="93" height="30"><CODE>6'b100100</CODE></TD>
1300
            <TD width="25" height="30">5bit</TD>
1301
            <TD width="82" height="30">5bit</TD>
1302
            <TD colspan="4">16bit</TD>
1303
          </TR>
1304
        </TBODY>
1305
      </TABLE>
1306
 
1307
 
1308
    </TR>
1309
  </TBODY>
1310
</TABLE>
1311
<P><BR>
1312
</P>
1313
<H3>LH -- <I>Load Half</I></H3>
1314
<TABLE border=1>
1315
<TBODY>
1316
<TR>
1317
<TD>Description:
1318
 
1319
 
1320
 
1321
      <TD>A signed extented half word is loaded into a register from the specified
1322
      address.
1323
 
1324
 
1325
 
1326
    <TR>
1327
<TD>Operation:
1328
 
1329
 
1330
 
1331
      <TD>$t = MEM[$s + imm]; ;
1332
 
1333
 
1334
 
1335
 
1336
 
1337
    <TR>
1338
<TD>Syntax:
1339
 
1340
 
1341
 
1342
      <TD>lh $t, imm($s)
1343
 
1344
 
1345
 
1346
    <TR>
1347
<TD>Encoding:
1348
 
1349
 
1350
 
1351
      <TD>
1352
      <TABLE border="1" width="507">
1353
        <TBODY>
1354
          <TR>
1355
            <TD width="93" height="35">OPCODE</TD>
1356
            <TD width="25" height="35">Source</TD>
1357
            <TD width="82" height="35">Target</TD>
1358
            <TD colspan="4">Immediate</TD>
1359
          </TR>
1360
          <TR>
1361
            <TD width="93" height="30"><CODE>6'b100001</CODE></TD>
1362
            <TD width="25" height="30">5bit</TD>
1363
            <TD width="82" height="30">5bit</TD>
1364
            <TD colspan="4">16bit</TD>
1365
          </TR>
1366
        </TBODY>
1367
      </TABLE>
1368
 
1369
 
1370
    </TR>
1371
  </TBODY>
1372
</TABLE>
1373
<P><BR>
1374
</P>
1375
<H3>LHU -- <I>Load Half unsigned</I></H3>
1376
<TABLE border=1>
1377
<TBODY>
1378
<TR>
1379
<TD>Description:
1380
 
1381
 
1382
 
1383
 
1384
      <TD>A byte is loaded into a register from the specified address.
1385
 
1386
 
1387
 
1388
 
1389
 
1390
 
1391
 
1392
 
1393
    <TR>
1394
<TD>Operation:
1395
 
1396
 
1397
 
1398
 
1399
      <TD>$t = MEM[$s + imm]; ;
1400
 
1401
 
1402
 
1403
 
1404
 
1405
 
1406
 
1407
    <TR>
1408
<TD>Syntax:
1409
 
1410
 
1411
 
1412
 
1413
      <TD>lhu $t, imm($s)
1414
 
1415
 
1416
 
1417
    <TR>
1418
<TD>Encoding:
1419
 
1420
 
1421
 
1422
 
1423
      <TD>
1424
      <TABLE border="1" width="507">
1425
        <TBODY>
1426
          <TR>
1427
            <TD width="93" height="35">OPCODE</TD>
1428
            <TD width="25" height="35">Source</TD>
1429
            <TD width="82" height="35">Target</TD>
1430
            <TD colspan="4">Immediate</TD>
1431
          </TR>
1432
          <TR>
1433
            <TD width="93" height="30"><CODE>6'b100101</CODE></TD>
1434
            <TD width="25" height="30">5bit</TD>
1435
            <TD width="82" height="30">5bit</TD>
1436
            <TD colspan="4">16bit</TD>
1437
          </TR>
1438
        </TBODY>
1439
      </TABLE>
1440
 
1441
 
1442
    </TR>
1443
  </TBODY>
1444
</TABLE>
1445
<P><BR>
1446
</P>
1447
<H3>LUI -- <I>Load upper immediate</I></H3>
1448
<TABLE border=1>
1449
<TBODY>
1450
<TR>
1451
<TD>Description:
1452
 
1453
 
1454
      <TD>The immediate value is shifted left 16 bits and stored in the register. The
1455
lower 16 bits are zeroes.
1456
 
1457
 
1458
 
1459
 
1460
    <TR>
1461
<TD>Operation:
1462
 
1463
 
1464
      <TD>$t = (imm &lt;&lt; 16);
1465
 
1466
 
1467
 
1468
    <TR>
1469
<TD>Syntax:
1470
 
1471
 
1472
      <TD>lui $t, imm
1473
 
1474
 
1475
 
1476
 
1477
    <TR>
1478
<TD>Encoding:
1479
 
1480
 
1481
      <TD>
1482
      <TABLE border="1" width="634">
1483
        <TBODY>
1484
          <TR>
1485
            <TD width="93" height="35">OPCODE</TD>
1486
            <TD width="25" height="35">Source</TD>
1487
            <TD width="82" height="35">Target</TD>
1488
            <TD colspan="4">Immediate</TD>
1489
          </TR>
1490
          <TR>
1491
            <TD width="93" height="30"><CODE>6'b001111</CODE></TD>
1492
            <TD width="25" height="30">?????</TD>
1493
            <TD width="82" height="30">5bit</TD>
1494
            <TD colspan="4">16bit</TD>
1495
          </TR>
1496
        </TBODY>
1497
      </TABLE>
1498
 
1499
 
1500
    </TR>
1501
  </TBODY>
1502
</TABLE>
1503
<H3>LW -- <I>Load word</I></H3>
1504
<TABLE border=1>
1505
<TBODY>
1506
<TR>
1507
<TD>Description:
1508
 
1509
 
1510
      <TD>A word is loaded into a register from the specified address.
1511
 
1512
 
1513
 
1514
 
1515
    <TR>
1516
<TD>Operation:
1517
 
1518
 
1519
      <TD>$t = MEM[$s + imm];
1520
 
1521
 
1522
 
1523
    <TR>
1524
<TD>Syntax:
1525
 
1526
 
1527
      <TD>lw $t, imm($s)
1528
 
1529
 
1530
 
1531
    <TR>
1532
<TD>Encoding:
1533
 
1534
 
1535
      <TD>
1536
      <TABLE border="1" width="507">
1537
        <TBODY>
1538
          <TR>
1539
            <TD width="93" height="35">OPCODE</TD>
1540
            <TD width="25" height="35">Source</TD>
1541
            <TD width="82" height="35">Target</TD>
1542
            <TD colspan="4">Immediate</TD>
1543
          </TR>
1544
          <TR>
1545
            <TD width="93" height="30"><CODE>6'b100011</CODE></TD>
1546
            <TD width="25" height="30">5bit</TD>
1547
            <TD width="82" height="30">5bit</TD>
1548
            <TD colspan="4">16bit</TD>
1549
          </TR>
1550
        </TBODY>
1551
      </TABLE>
1552
 
1553
 
1554
    </TR>
1555
  </TBODY>
1556
</TABLE>
1557
<H3>MFHI -- <I>Move from HI</I></H3>
1558
<TABLE border=1>
1559
<TBODY>
1560
<TR>
1561
<TD>Description:
1562
 
1563
 
1564
      <TD>The contents of register HI are moved to the specified register.
1565
 
1566
 
1567
 
1568
 
1569
    <TR>
1570
<TD>Operation:
1571
 
1572
 
1573
      <TD>$d = $HI;
1574
 
1575
 
1576
 
1577
    <TR>
1578
<TD>Syntax:
1579
 
1580
 
1581
      <TD>mfhi $d
1582
 
1583
 
1584
 
1585
 
1586
    <TR>
1587
<TD>Encoding:
1588
 
1589
 
1590
      <TD>
1591
      <TABLE border="1" width="524">
1592
        <TBODY>
1593
          <TR>
1594
            <TD width="100" height="39">OPCODE</TD>
1595
            <TD width="31" height="39">Source</TD>
1596
            <TD width="52" height="39">Target</TD>
1597
            <TD width="62" height="39">Destination</TD>
1598
            <TD width="134" height="39">Shift</TD>
1599
            <TD width="94" height="39">Function</TD>
1600
          </TR>
1601
          <TR>
1602
            <TD width="100" height="32">6fbOOOOOO</TD>
1603
            <TD width="31" height="32">5'h0</TD>
1604
            <TD width="52" height="32">5'h0</TD>
1605
            <TD width="62" height="32">5bit</TD>
1606
            <TD width="134" height="32">5'h0</TD>
1607
            <TD width="94" height="32">6'b010000</TD>
1608
          </TR>
1609
        </TBODY>
1610
      </TABLE>
1611
 
1612
 
1613
    </TR>
1614
  </TBODY>
1615
</TABLE>
1616
<H3>MFLO -- <I>Move from LO</I></H3>
1617
<TABLE border=1>
1618
<TBODY>
1619
<TR>
1620
<TD>Description:
1621
 
1622
 
1623
      <TD>The contents of register LO are moved to the specified register.
1624
 
1625
 
1626
 
1627
 
1628
    <TR>
1629
<TD>Operation:
1630
 
1631
 
1632
      <TD>$d = $LO;
1633
 
1634
 
1635
 
1636
    <TR>
1637
<TD>Syntax:
1638
 
1639
 
1640
      <TD>mflo $d
1641
 
1642
 
1643
 
1644
 
1645
    <TR>
1646
<TD>Encoding:
1647
 
1648
 
1649
      <TD>
1650
      <TABLE border="1" width="524">
1651
        <TBODY>
1652
          <TR>
1653
            <TD width="100" height="39">OPCODE</TD>
1654
            <TD width="31" height="39">Source</TD>
1655
            <TD width="52" height="39">Target</TD>
1656
            <TD width="62" height="39">Destination</TD>
1657
            <TD width="134" height="39">Shift</TD>
1658
            <TD width="94" height="39">Function</TD>
1659
          </TR>
1660
          <TR>
1661
            <TD width="100" height="32">6fbOOOOOO</TD>
1662
            <TD width="31" height="32">5'h0</TD>
1663
            <TD width="52" height="32">5'h0</TD>
1664
            <TD width="62" height="32">5bit</TD>
1665
            <TD width="134" height="32">5'h0</TD>
1666
            <TD width="94" height="32">6'b010010</TD>
1667
          </TR>
1668
        </TBODY>
1669
      </TABLE>
1670
 
1671
 
1672
    </TR>
1673
  </TBODY>
1674
</TABLE>
1675
<H3><FONT color="#ff0000">MTHI -- Move to HI</FONT></H3>
1676
<TABLE border=1>
1677
<TBODY>
1678
<TR>
1679
<TD>Description:
1680
 
1681
 
1682
 
1683
      <TD>The contents of register $s are moved to $HI.
1684
 
1685
 
1686
 
1687
    <TR>
1688
<TD>Operation:
1689
 
1690
 
1691
 
1692
      <TD> $HI=$s;
1693
 
1694
 
1695
 
1696
    <TR>
1697
<TD>Syntax:
1698
 
1699
 
1700
 
1701
      <TD>mthi $s
1702
 
1703
 
1704
 
1705
    <TR>
1706
<TD>Encoding:
1707
 
1708
 
1709
 
1710
      <TD>
1711
      <TABLE border="1" width="524">
1712
        <TBODY>
1713
          <TR>
1714
            <TD width="100" height="39">OPCODE</TD>
1715
            <TD width="31" height="39">Source</TD>
1716
            <TD width="52" height="39">Target</TD>
1717
            <TD width="62" height="39">Destination</TD>
1718
            <TD width="134" height="39">Shift</TD>
1719
            <TD width="94" height="39">Function</TD>
1720
          </TR>
1721
          <TR>
1722
            <TD width="100" height="32">6fbOOOOOO</TD>
1723
            <TD width="31" height="32">5'bit</TD>
1724
            <TD width="52" height="32">5'h0</TD>
1725
            <TD width="62" height="32">5'h0</TD>
1726
            <TD width="134" height="32">5'h0</TD>
1727
            <TD width="94" height="32">6'b010001</TD>
1728
          </TR>
1729
        </TBODY>
1730
      </TABLE>
1731
 
1732
 
1733
    </TR>
1734
  </TBODY>
1735
</TABLE>
1736
<H3><FONT color="#ff0000">MTLO -- Move to LO</FONT></H3>
1737
<TABLE border=1>
1738
<TBODY>
1739
<TR>
1740
<TD>Description:
1741
 
1742
 
1743
 
1744
 
1745
      <TD>The contents of register $s are moved to $HI.
1746
 
1747
 
1748
 
1749
    <TR>
1750
<TD>Operation:
1751
 
1752
 
1753
 
1754
 
1755
      <TD>$LO=$s;
1756
 
1757
 
1758
 
1759
    <TR>
1760
<TD>Syntax:
1761
 
1762
 
1763
 
1764
 
1765
      <TD>mtlo $s
1766
 
1767
 
1768
 
1769
    <TR>
1770
<TD>Encoding:
1771
 
1772
 
1773
 
1774
 
1775
      <TD>
1776
      <TABLE border="1" width="524">
1777
        <TBODY>
1778
          <TR>
1779
            <TD width="100" height="39">OPCODE</TD>
1780
            <TD width="31" height="39">Source</TD>
1781
            <TD width="52" height="39">Target</TD>
1782
            <TD width="62" height="39">Destination</TD>
1783
            <TD width="134" height="39">Shift</TD>
1784
            <TD width="94" height="39">Function</TD>
1785
          </TR>
1786
          <TR>
1787
            <TD width="100" height="32">6fbOOOOOO</TD>
1788
            <TD width="31" height="32">5'bit</TD>
1789
            <TD width="52" height="32">5'h0</TD>
1790
            <TD width="62" height="32">5'h0</TD>
1791
            <TD width="134" height="32">5'h0</TD>
1792
            <TD width="94" height="32">6'b010011</TD>
1793
          </TR>
1794
        </TBODY>
1795
      </TABLE>
1796
 
1797
 
1798
 
1799
    </TR>
1800
  </TBODY>
1801
</TABLE>
1802
<P><BR>
1803
</P>
1804
<H3>MULT -- <I>Multiply</I></H3>
1805
<TABLE border=1>
1806
<TBODY>
1807
<TR>
1808
<TD>Description:
1809
 
1810
 
1811
      <TD>Multiplies $s by $t and stores the result in $LO.
1812
 
1813
 
1814
 
1815
 
1816
    <TR>
1817
<TD>Operation:
1818
 
1819
 
1820
      <TD>$LO = $s * $t;
1821
 
1822
 
1823
 
1824
    <TR>
1825
<TD>Syntax:
1826
 
1827
 
1828
      <TD>mult $s, $t
1829
 
1830
 
1831
 
1832
 
1833
    <TR>
1834
<TD>Encoding:
1835
 
1836
 
1837
      <TD>
1838
      <TABLE border="1" width="515">
1839
        <TBODY>
1840
          <TR>
1841
            <TD width="99" height="25">OPCODE</TD>
1842
            <TD width="30" height="25">Source</TD>
1843
            <TD width="82" height="25">Target</TD>
1844
            <TD width="62" height="25">Destination</TD>
1845
            <TD width="134" height="25">Shift</TD>
1846
            <TD width="115" height="25">Function</TD>
1847
          </TR>
1848
          <TR>
1849
            <TD width="99" height="42">6fbOOOOOO</TD>
1850
            <TD width="30" height="42">5bit</TD>
1851
            <TD width="82" height="42">5bit</TD>
1852
            <TD width="62" height="42">5'h0</TD>
1853
            <TD width="134" height="42">5'h0</TD>
1854
            <TD width="115" height="42">6'b011000</TD>
1855
          </TR>
1856
        </TBODY>
1857
      </TABLE>
1858
 
1859
 
1860
    </TR>
1861
  </TBODY>
1862
</TABLE>
1863
<H3>MULTU -- <I>Multiply unsigned</I></H3>
1864
<TABLE border=1>
1865
<TBODY>
1866
<TR>
1867
<TD>Description:
1868
 
1869
 
1870
      <TD>Multiplies $s by $t and stores the result in $LO.
1871
 
1872
 
1873
 
1874
 
1875
    <TR>
1876
<TD>Operation:
1877
 
1878
 
1879
      <TD>$LO = $s * $t;
1880
 
1881
 
1882
 
1883
    <TR>
1884
<TD>Syntax:
1885
 
1886
 
1887
      <TD>multu $s, $t
1888
 
1889
 
1890
 
1891
 
1892
    <TR>
1893
<TD>Encoding:
1894
 
1895
 
1896
      <TD>
1897
      <TABLE border="1" width="515">
1898
        <TBODY>
1899
          <TR>
1900
            <TD width="99" height="25">OPCODE</TD>
1901
            <TD width="30" height="25">Source</TD>
1902
            <TD width="82" height="25">Target</TD>
1903
            <TD width="62" height="25">Destination</TD>
1904
            <TD width="134" height="25">Shift</TD>
1905
            <TD width="115" height="25">Function</TD>
1906
          </TR>
1907
          <TR>
1908
            <TD width="99" height="42">6fbOOOOOO</TD>
1909
            <TD width="30" height="42">5bit</TD>
1910
            <TD width="82" height="42">5bit</TD>
1911
            <TD width="62" height="42">5'h0</TD>
1912
            <TD width="134" height="42">5'h0</TD>
1913
            <TD width="115" height="42">6'b011001</TD>
1914
          </TR>
1915
        </TBODY>
1916
      </TABLE>
1917
 
1918
 
1919
    </TR>
1920
  </TBODY>
1921
</TABLE>
1922
<H3>NOR -- <I>Bitwise nor</I></H3>
1923
<TABLE border=1>
1924
<TBODY>
1925
<TR>
1926
<TD>Description:
1927
 
1928
 
1929
 
1930
      <TD>Bitwise logical nors two registers and stores the result in a register
1931
 
1932
 
1933
 
1934
    <TR>
1935
<TD>Operation:
1936
 
1937
 
1938
 
1939
      <TD>$d = ~($s | $t);
1940
 
1941
 
1942
 
1943
    <TR>
1944
<TD>Syntax:
1945
 
1946
 
1947
 
1948
      <TD>nor $d, $s, $t
1949
 
1950
 
1951
 
1952
    <TR>
1953
<TD>Encoding:
1954
 
1955
 
1956
 
1957
      <TD>
1958
      <TABLE border="1" width="476">
1959
        <TBODY>
1960
          <TR>
1961
            <TD width="98" height="42">OPCODE</TD>
1962
            <TD width="32" height="42">Source</TD>
1963
            <TD width="82" height="42">Target</TD>
1964
            <TD width="62" height="42">Destination</TD>
1965
            <TD width="134" height="42">Shift</TD>
1966
            <TD height="42">Function</TD>
1967
          </TR>
1968
          <TR>
1969
            <TD width="98" height="25">6fbOOOOOO</TD>
1970
            <TD width="32" height="25">5bit</TD>
1971
            <TD width="82" height="25">5bit</TD>
1972
            <TD width="62" height="25">5bit</TD>
1973
            <TD width="134" height="25">5'h0</TD>
1974
            <TD height="25">6'b100111</TD>
1975
          </TR>
1976
        </TBODY>
1977
      </TABLE>
1978
 
1979
 
1980
 
1981
    </TR>
1982
  </TBODY>
1983
</TABLE>
1984
<P>
1985
<BR>
1986
</P>
1987
<H3>OR -- <I>Bitwise or</I></H3>
1988
<TABLE border=1>
1989
<TBODY>
1990
<TR>
1991
<TD>Description:
1992
 
1993
 
1994
      <TD>Bitwise logical ors two registers and stores the result in a register
1995
 
1996
 
1997
 
1998
 
1999
    <TR>
2000
<TD>Operation:
2001
 
2002
 
2003
      <TD>$d = $s | $t;
2004
 
2005
 
2006
 
2007
    <TR>
2008
<TD>Syntax:
2009
 
2010
 
2011
      <TD>or $d, $s, $t
2012
 
2013
 
2014
 
2015
 
2016
    <TR>
2017
<TD>Encoding:
2018
 
2019
 
2020
      <TD>
2021
      <TABLE border="1" width="476">
2022
        <TBODY>
2023
          <TR>
2024
            <TD width="98" height="42">OPCODE</TD>
2025
            <TD width="32" height="42">Source</TD>
2026
            <TD width="82" height="42">Target</TD>
2027
            <TD width="62" height="42">Destination</TD>
2028
            <TD width="134" height="42">Shift</TD>
2029
            <TD height="42">Function</TD>
2030
          </TR>
2031
          <TR>
2032
            <TD width="98" height="25">6fbOOOOOO</TD>
2033
            <TD width="32" height="25">5bit</TD>
2034
            <TD width="82" height="25">5bit</TD>
2035
            <TD width="62" height="25">5bit</TD>
2036
            <TD width="134" height="25">5'h0</TD>
2037
            <TD height="25">6'b100101</TD>
2038
          </TR>
2039
        </TBODY>
2040
      </TABLE>
2041
 
2042
 
2043
    </TR>
2044
  </TBODY>
2045
</TABLE>
2046
<H3>ORI -- <I>Bitwise or immediate</I></H3>
2047
<TABLE border=1>
2048
<TBODY>
2049
<TR>
2050
<TD>Description:
2051
 
2052
 
2053
      <TD>Bitwise ors a register and an immediate value and stores the result in a
2054
register
2055
 
2056
 
2057
 
2058
 
2059
    <TR>
2060
<TD>Operation:
2061
 
2062
 
2063
      <TD>$t = $s | imm;
2064
 
2065
 
2066
 
2067
    <TR>
2068
<TD>Syntax:
2069
 
2070
 
2071
      <TD>ori $t, $s, imm
2072
 
2073
 
2074
 
2075
 
2076
    <TR>
2077
<TD>Encoding:
2078
 
2079
 
2080
      <TD>
2081
      <TABLE border="1" width="507">
2082
        <TBODY>
2083
          <TR>
2084
            <TD width="93" height="34">OPCODE</TD>
2085
            <TD width="25" height="34">Source</TD>
2086
            <TD width="82" height="34">Target</TD>
2087
            <TD colspan="4" width="261" height="34">Immediate</TD>
2088
          </TR>
2089
          <TR>
2090
            <TD width="93" height="31"><CODE>6'b001101</CODE></TD>
2091
            <TD width="25" height="31">5bit</TD>
2092
            <TD width="82" height="31">5bit</TD>
2093
            <TD colspan="4" width="261" height="31">16bit</TD>
2094
          </TR>
2095
        </TBODY>
2096
      </TABLE>
2097
 
2098
 
2099
    </TR>
2100
  </TBODY>
2101
</TABLE>
2102
<H3>SB -- <I>Store byte</I></H3>
2103
<TABLE border=1>
2104
<TBODY>
2105
<TR>
2106
<TD>Description:
2107
 
2108
 
2109
      <TD>The least significant byte of $t is stored at the specified address.
2110
 
2111
 
2112
 
2113
 
2114
    <TR>
2115
<TD>Operation:
2116
 
2117
 
2118
      <TD>MEM[$s + imm] = (0xff &amp; $t);
2119
 
2120
 
2121
 
2122
    <TR>
2123
<TD>Syntax:
2124
 
2125
 
2126
      <TD>sb $t, imm($s)
2127
 
2128
 
2129
 
2130
    <TR>
2131
<TD>Encoding:
2132
 
2133
 
2134
      <TD>
2135
      <TABLE border="1" width="507">
2136
        <TBODY>
2137
          <TR>
2138
            <TD width="93" height="35">OPCODE</TD>
2139
            <TD width="25" height="35">Source</TD>
2140
            <TD width="82" height="35">Target</TD>
2141
            <TD colspan="4">Immediate</TD>
2142
          </TR>
2143
          <TR>
2144
            <TD width="93" height="30"><CODE>6'b101000</CODE></TD>
2145
            <TD width="25" height="30">5bit</TD>
2146
            <TD width="82" height="30">5bit</TD>
2147
            <TD colspan="4">16bit</TD>
2148
          </TR>
2149
        </TBODY>
2150
      </TABLE>
2151
 
2152
 
2153
    </TR>
2154
  </TBODY>
2155
</TABLE>
2156
<H3>SH -- <I>Store Half</I></H3>
2157
<TABLE border=1>
2158
<TBODY>
2159
<TR>
2160
<TD>Description:
2161
 
2162
 
2163
 
2164
      <TD>The least significant half word of $t is stored at the specified address.
2165
 
2166
 
2167
 
2168
    <TR>
2169
<TD>Operation:
2170
 
2171
 
2172
 
2173
      <TD>MEM[$s + imm] = (0xffff &amp; $t);
2174
 
2175
 
2176
 
2177
    <TR>
2178
<TD>Syntax:
2179
 
2180
 
2181
 
2182
      <TD>sh $t, imm($s)
2183
 
2184
 
2185
 
2186
    <TR>
2187
<TD>Encoding:
2188
 
2189
 
2190
 
2191
      <TD>
2192
      <TABLE border="1" width="507">
2193
        <TBODY>
2194
          <TR>
2195
            <TD width="93" height="35">OPCODE</TD>
2196
            <TD width="25" height="35">Source</TD>
2197
            <TD width="82" height="35">Target</TD>
2198
            <TD colspan="4">Immediate</TD>
2199
          </TR>
2200
          <TR>
2201
            <TD width="93" height="30"><CODE>6'b101001</CODE></TD>
2202
            <TD width="25" height="30">5bit</TD>
2203
            <TD width="82" height="30">5bit</TD>
2204
            <TD colspan="4">16bit</TD>
2205
          </TR>
2206
        </TBODY>
2207
      </TABLE>
2208
 
2209
 
2210
    </TR>
2211
  </TBODY>
2212
</TABLE>
2213
<P><BR>
2214
</P>
2215
<H3>SLL -- <I>Shift left logical </I></H3>
2216
<TABLE border=1>
2217
<TBODY>
2218
<TR>
2219
<TD>Description:
2220
 
2221
 
2222
      <TD>Shifts a register value left by the shift amount listed in the instruction
2223
and places the result in a third register. Zeroes are shifted in.
2224
 
2225
 
2226
 
2227
 
2228
    <TR>
2229
<TD>Operation:
2230
 
2231
 
2232
      <TD>$d = $t &lt;&lt; h;
2233
 
2234
 
2235
 
2236
    <TR>
2237
<TD>Syntax:
2238
 
2239
 
2240
      <TD>sll $d, $t, h
2241
 
2242
 
2243
 
2244
 
2245
    <TR>
2246
<TD>Encoding:
2247
 
2248
 
2249
      <TD>
2250
      <TABLE border="1" width="779">
2251
        <TBODY>
2252
          <TR>
2253
            <TD width="98" height="38">OPCODE</TD>
2254
            <TD width="32" height="38">Source</TD>
2255
            <TD width="82" height="38">Target</TD>
2256
            <TD width="62" height="38">Destination</TD>
2257
            <TD width="134" height="38">Shift</TD>
2258
            <TD width="388" height="38">Function</TD>
2259
          </TR>
2260
          <TR>
2261
            <TD width="98" height="36">6fbOOOOOO</TD>
2262
            <TD width="32" height="36">5bit</TD>
2263
            <TD width="82" height="36">5bit</TD>
2264
            <TD width="62" height="36">5bit</TD>
2265
            <TD width="134" height="36">h</TD>
2266
            <TD width="388" height="36">6'b000000</TD>
2267
          </TR>
2268
        </TBODY>
2269
      </TABLE>
2270
 
2271
 
2272
    </TR>
2273
  </TBODY>
2274
</TABLE>
2275
<H3>SLLV -- <I>Shift left logical variable</I></H3>
2276
<TABLE border=1>
2277
<TBODY>
2278
<TR>
2279
<TD>Description:
2280
 
2281
 
2282
      <TD>Shifts a register value left by the value in a second register and places
2283
the result in a third register. Zeroes are shifted in.
2284
 
2285
 
2286
 
2287
 
2288
    <TR>
2289
<TD>Operation:
2290
 
2291
 
2292
      <TD>$d = $t &lt;&lt; $s;
2293
 
2294
 
2295
 
2296
    <TR>
2297
<TD>Syntax:
2298
 
2299
 
2300
      <TD>sllv $d, $t, $s
2301
 
2302
 
2303
 
2304
 
2305
    <TR>
2306
<TD>Encoding:
2307
 
2308
 
2309
      <TD>
2310
      <TABLE border="1" width="775">
2311
        <TBODY>
2312
          <TR>
2313
            <TD width="98" height="37">OPCODE</TD>
2314
            <TD width="32" height="37">Source</TD>
2315
            <TD width="82" height="37">Target</TD>
2316
            <TD width="62" height="37">Destination</TD>
2317
            <TD width="134" height="37">Shift</TD>
2318
            <TD width="415" height="37">Function</TD>
2319
          </TR>
2320
          <TR>
2321
            <TD width="98" height="37">6fbOOOOOO</TD>
2322
            <TD width="32" height="37">5bit</TD>
2323
            <TD width="82" height="37">5bit</TD>
2324
            <TD width="62" height="37">5bit</TD>
2325
            <TD width="134" height="37">?????</TD>
2326
            <TD width="415" height="37">6'b000100</TD>
2327
          </TR>
2328
        </TBODY>
2329
      </TABLE>
2330
 
2331
 
2332
    </TR>
2333
  </TBODY>
2334
</TABLE>
2335
<H3>SLT -- <I>Set on less than (signed)</I></H3>
2336
<TABLE border=1>
2337
<TBODY>
2338
<TR>
2339
<TD>Description:
2340
 
2341
 
2342
      <TD>If $s is less than $t, $d is set to one. It gets zero otherwise.
2343
 
2344
 
2345
 
2346
 
2347
    <TR>
2348
<TD>Operation:
2349
 
2350
 
2351
      <TD>if $s &lt; $t $d = 1;  else $d = 0;
2352
 
2353
 
2354
 
2355
    <TR>
2356
<TD>Syntax:
2357
 
2358
 
2359
      <TD>slt $d, $s, $t
2360
 
2361
 
2362
 
2363
 
2364
    <TR>
2365
<TD>Encoding:
2366
 
2367
 
2368
      <TD>
2369
      <TABLE border="1" width="476">
2370
        <TBODY>
2371
          <TR>
2372
            <TD width="98" height="42">OPCODE</TD>
2373
            <TD width="32" height="42">Source</TD>
2374
            <TD width="82" height="42">Target</TD>
2375
            <TD width="62" height="42">Destination</TD>
2376
            <TD width="134" height="42">Shift</TD>
2377
            <TD height="42">Function</TD>
2378
          </TR>
2379
          <TR>
2380
            <TD width="98" height="25">6fbOOOOOO</TD>
2381
            <TD width="32" height="25">5bit</TD>
2382
            <TD width="82" height="25">5bit</TD>
2383
            <TD width="62" height="25">5bit</TD>
2384
            <TD width="134" height="25">5'h0</TD>
2385
            <TD height="25">6'b101010</TD>
2386
          </TR>
2387
        </TBODY>
2388
      </TABLE>
2389
 
2390
 
2391
    </TR>
2392
  </TBODY>
2393
</TABLE>
2394
<H3>SLTI -- <I>Set on less than immediate (signed)</I></H3>
2395
<TABLE border=1>
2396
<TBODY>
2397
<TR>
2398
<TD>Description:
2399
 
2400
 
2401
      <TD>If $s is less than immediate, $t is set to one. It gets zero otherwise.
2402
 
2403
 
2404
 
2405
 
2406
    <TR>
2407
<TD>Operation:
2408
 
2409
 
2410
      <TD>if $s &lt; imm $t = 1;  else $t = 0;
2411
 
2412
 
2413
 
2414
    <TR>
2415
<TD>Syntax:
2416
 
2417
 
2418
      <TD>slti $t, $s, imm
2419
 
2420
 
2421
 
2422
 
2423
    <TR>
2424
<TD>Encoding:
2425
 
2426
 
2427
      <TD>
2428
      <TABLE border="1" width="530">
2429
        <TBODY>
2430
          <TR>
2431
            <TD width="93" height="35">OPCODE</TD>
2432
            <TD width="25" height="35">Source</TD>
2433
            <TD width="82" height="35">Target</TD>
2434
            <TD colspan="4">Immediate</TD>
2435
          </TR>
2436
          <TR>
2437
            <TD width="93" height="30"><CODE>6'b001010</CODE></TD>
2438
            <TD width="25" height="30">5bit</TD>
2439
            <TD width="82" height="30">5bit</TD>
2440
            <TD colspan="4">16bit</TD>
2441
          </TR>
2442
        </TBODY>
2443
      </TABLE>
2444
 
2445
 
2446
    </TR>
2447
  </TBODY>
2448
</TABLE>
2449
<H3>SLTIU -- <I>Set on less than immediate unsigned</I></H3>
2450
<TABLE border=1>
2451
<TBODY>
2452
<TR>
2453
<TD>Description:
2454
 
2455
 
2456
      <TD>If $s is less than the unsigned immediate, $t is set to one. It gets zero
2457
otherwise.
2458
 
2459
 
2460
 
2461
 
2462
    <TR>
2463
<TD>Operation:
2464
 
2465
 
2466
      <TD>if $s &lt; imm $t = 1;  else $t = 0;
2467
 
2468
 
2469
 
2470
    <TR>
2471
<TD>Syntax:
2472
 
2473
 
2474
      <TD>sltiu $t, $s, imm
2475
 
2476
 
2477
 
2478
 
2479
    <TR>
2480
<TD>Encoding:
2481
 
2482
 
2483
      <TD>
2484
      <TABLE border="1" width="530">
2485
        <TBODY>
2486
          <TR>
2487
            <TD width="93" height="35">OPCODE</TD>
2488
            <TD width="25" height="35">Source</TD>
2489
            <TD width="82" height="35">Target</TD>
2490
            <TD colspan="4">Immediate</TD>
2491
          </TR>
2492
          <TR>
2493
            <TD width="93" height="30"><CODE>6'b001011</CODE></TD>
2494
            <TD width="25" height="30">5bit</TD>
2495
            <TD width="82" height="30">5bit</TD>
2496
            <TD colspan="4">16bit</TD>
2497
          </TR>
2498
        </TBODY>
2499
      </TABLE>
2500
 
2501
 
2502
    </TR>
2503
  </TBODY>
2504
</TABLE>
2505
<H3>SLTU -- <I>Set on less than unsigned</I></H3>
2506
<TABLE border=1>
2507
<TBODY>
2508
<TR>
2509
<TD>Description:
2510
 
2511
 
2512
      <TD>If $s is less than $t, $d is set to one. It gets zero otherwise.
2513
 
2514
 
2515
 
2516
 
2517
    <TR>
2518
<TD>Operation:
2519
 
2520
 
2521
      <TD>if $s &lt; $t $d = 1;  else $d = 0;
2522
 
2523
 
2524
 
2525
    <TR>
2526
<TD>Syntax:
2527
 
2528
 
2529
      <TD>sltu $d, $s, $t
2530
 
2531
 
2532
 
2533
 
2534
    <TR>
2535
<TD>Encoding:
2536
 
2537
 
2538
      <TD>
2539
      <TABLE border="1" width="476">
2540
        <TBODY>
2541
          <TR>
2542
            <TD width="98" height="42">OPCODE</TD>
2543
            <TD width="32" height="42">Source</TD>
2544
            <TD width="82" height="42">Target</TD>
2545
            <TD width="62" height="42">Destination</TD>
2546
            <TD width="134" height="42">Shift</TD>
2547
            <TD height="42">Function</TD>
2548
          </TR>
2549
          <TR>
2550
            <TD width="98" height="25">6fbOOOOOO</TD>
2551
            <TD width="32" height="25">5bit</TD>
2552
            <TD width="82" height="25">5bit</TD>
2553
            <TD width="62" height="25">5bit</TD>
2554
            <TD width="134" height="25">5'h0</TD>
2555
            <TD height="25">6'b101011</TD>
2556
          </TR>
2557
        </TBODY>
2558
      </TABLE>
2559
 
2560
 
2561
    </TR>
2562
  </TBODY>
2563
</TABLE>
2564
<H3>SRA -- <I>Shift right arithmetic</I></H3>
2565
<TABLE border=1>
2566
<TBODY>
2567
<TR>
2568
<TD>Description:
2569
 
2570
 
2571
      <TD>Shifts a register value right by the shift amount (shamt) and places the
2572
value in the destination register. The sign bit is shifted in.
2573
 
2574
 
2575
 
2576
 
2577
    <TR>
2578
<TD>Operation:
2579
 
2580
 
2581
      <TD>$d = $t &gt;&gt; h;
2582
 
2583
 
2584
 
2585
    <TR>
2586
<TD>Syntax:
2587
 
2588
 
2589
      <TD>sra $d, $t, h
2590
 
2591
 
2592
 
2593
 
2594
    <TR>
2595
<TD>Encoding:
2596
 
2597
 
2598
      <TD>
2599
      <TABLE border="1" width="775">
2600
        <TBODY>
2601
          <TR>
2602
            <TD width="98" height="42">OPCODE</TD>
2603
            <TD width="32" height="42">Source</TD>
2604
            <TD width="82" height="42">Target</TD>
2605
            <TD width="62" height="42">Destination</TD>
2606
            <TD width="134" height="42">Shift</TD>
2607
            <TD width="415" height="42">Function</TD>
2608
          </TR>
2609
          <TR>
2610
            <TD width="98" height="32">6fbOOOOOO</TD>
2611
            <TD width="32" height="32">5bit</TD>
2612
            <TD width="82" height="32">5bit</TD>
2613
            <TD width="62" height="32">5bit</TD>
2614
            <TD width="134" height="32">h</TD>
2615
            <TD width="415" height="32">6'b000011</TD>
2616
          </TR>
2617
        </TBODY>
2618
      </TABLE>
2619
 
2620
 
2621
    </TR>
2622
  </TBODY>
2623
</TABLE>
2624
<P><BR>
2625
</P>
2626
<H3>SRAV -- <I>Shift right arithmatic variable</I></H3>
2627
<TABLE border=1>
2628
<TBODY>
2629
<TR>
2630
<TD>Description:
2631
 
2632
 
2633
 
2634
      <TD>Shifts a register value right by the value in a second register and places
2635
      the result in a third register. the sign bit is shifterd in.
2636
 
2637
 
2638
 
2639
    <TR>
2640
<TD>Operation:
2641
 
2642
 
2643
 
2644
      <TD>$d = $t &gt;&gt; $s;
2645
 
2646
 
2647
 
2648
    <TR>
2649
<TD>Syntax:
2650
 
2651
 
2652
 
2653
      <TD>srav $d, $t, $s
2654
 
2655
 
2656
 
2657
    <TR>
2658
<TD>Encoding:
2659
 
2660
 
2661
 
2662
      <TD>
2663
      <TABLE border="1" width="775">
2664
        <TBODY>
2665
          <TR>
2666
            <TD width="98" height="37">OPCODE</TD>
2667
            <TD width="32" height="37">Source</TD>
2668
            <TD width="82" height="37">Target</TD>
2669
            <TD width="62" height="37">Destination</TD>
2670
            <TD width="134" height="37">Shift</TD>
2671
            <TD width="415" height="37">Function</TD>
2672
          </TR>
2673
          <TR>
2674
            <TD width="98" height="37">6fbOOOOOO</TD>
2675
            <TD width="32" height="37">5bit</TD>
2676
            <TD width="82" height="37">5bit</TD>
2677
            <TD width="62" height="37">5bit</TD>
2678
            <TD width="134" height="37">?????</TD>
2679
            <TD width="415" height="37">6'b000111</TD>
2680
          </TR>
2681
        </TBODY>
2682
      </TABLE>
2683
 
2684
 
2685
 
2686
    </TR>
2687
  </TBODY>
2688
</TABLE>
2689
<P><BR>
2690
</P>
2691
<H3>SRL -- <I>Shift right logical</I></H3>
2692
<TABLE border=1>
2693
<TBODY>
2694
<TR>
2695
<TD>Description:
2696
 
2697
 
2698
      <TD>Shifts a register value right by the shift amount (shamt) and places the
2699
value in the destination register. Zeroes are shifted in.
2700
 
2701
 
2702
 
2703
 
2704
    <TR>
2705
<TD>Operation:
2706
 
2707
 
2708
      <TD>$d = $t &gt;&gt; h;
2709
 
2710
 
2711
 
2712
    <TR>
2713
<TD>Syntax:
2714
 
2715
 
2716
      <TD>srl $d, $t, h
2717
 
2718
 
2719
 
2720
 
2721
    <TR>
2722
<TD>Encoding:
2723
 
2724
 
2725
      <TD>
2726
      <TABLE border="1" width="476">
2727
        <TBODY>
2728
          <TR>
2729
            <TD width="98" height="42">OPCODE</TD>
2730
            <TD width="32" height="42">Source</TD>
2731
            <TD width="82" height="42">Target</TD>
2732
            <TD width="62" height="42">Destination</TD>
2733
            <TD width="134" height="42">Shift</TD>
2734
            <TD height="42">Function</TD>
2735
          </TR>
2736
          <TR>
2737
            <TD width="98" height="25">6fbOOOOOO</TD>
2738
            <TD width="32" height="25">5bit</TD>
2739
            <TD width="82" height="25">5bit</TD>
2740
            <TD width="62" height="25">5bit</TD>
2741
            <TD width="134" height="25">h</TD>
2742
            <TD height="25">6'b000010</TD>
2743
          </TR>
2744
        </TBODY>
2745
      </TABLE>
2746
 
2747
 
2748
    </TR>
2749
  </TBODY>
2750
</TABLE>
2751
<H3>SRLV -- <I>Shift right logical variable</I></H3>
2752
<TABLE border=1>
2753
<TBODY>
2754
<TR>
2755
<TD>Description:
2756
 
2757
 
2758
      <TD>Shifts a register value right by the amount specified in $s and places the
2759
value in the destination register. Zeroes are shifted in.
2760
 
2761
 
2762
 
2763
 
2764
    <TR>
2765
<TD>Operation:
2766
 
2767
 
2768
      <TD>$d = $t &gt;&gt; $s;
2769
 
2770
 
2771
 
2772
    <TR>
2773
<TD>Syntax:
2774
 
2775
 
2776
      <TD>srlv $d, $t, $s
2777
 
2778
 
2779
 
2780
 
2781
    <TR>
2782
<TD>Encoding:
2783
 
2784
 
2785
      <TD>
2786
      <TABLE border="1" width="476">
2787
        <TBODY>
2788
          <TR>
2789
            <TD width="98" height="42">OPCODE</TD>
2790
            <TD width="32" height="42">Source</TD>
2791
            <TD width="82" height="42">Target</TD>
2792
            <TD width="62" height="42">Destination</TD>
2793
            <TD width="134" height="42">Shift</TD>
2794
            <TD height="42">Function</TD>
2795
          </TR>
2796
          <TR>
2797
            <TD width="98" height="25">6fbOOOOOO</TD>
2798
            <TD width="32" height="25">5bit</TD>
2799
            <TD width="82" height="25">5bit</TD>
2800
            <TD width="62" height="25">5bit</TD>
2801
            <TD width="134" height="25">5'h0</TD>
2802
            <TD height="25">6'b000110</TD>
2803
          </TR>
2804
        </TBODY>
2805
      </TABLE>
2806
 
2807
 
2808
    </TR>
2809
  </TBODY>
2810
</TABLE>
2811
<H3>SUB -- <I>Subtract</I></H3>
2812
<TABLE border=1>
2813
<TBODY>
2814
<TR>
2815
<TD>Description:
2816
 
2817
 
2818
      <TD>Subtracts two registers and stores the result in a register<FONT color="#ff0000">(Exception by Overflow)</FONT>
2819
 
2820
 
2821
 
2822
    <TR>
2823
<TD>Operation:
2824
 
2825
 
2826
      <TD>$d = $s - $t;
2827
 
2828
 
2829
 
2830
    <TR>
2831
<TD>Syntax:
2832
 
2833
 
2834
      <TD>sub $d, $s, $t
2835
 
2836
 
2837
 
2838
 
2839
    <TR>
2840
<TD>Encoding:
2841
 
2842
 
2843
      <TD>
2844
      <TABLE border="1" width="476">
2845
        <TBODY>
2846
          <TR>
2847
            <TD width="98" height="42">OPCODE</TD>
2848
            <TD width="32" height="42">Source</TD>
2849
            <TD width="82" height="42">Target</TD>
2850
            <TD width="62" height="42">Destination</TD>
2851
            <TD width="134" height="42">Shift</TD>
2852
            <TD height="42">Function</TD>
2853
          </TR>
2854
          <TR>
2855
            <TD width="98" height="25">6fbOOOOOO</TD>
2856
            <TD width="32" height="25">5bit</TD>
2857
            <TD width="82" height="25">5bit</TD>
2858
            <TD width="62" height="25">5bit</TD>
2859
            <TD width="134" height="25">5'h0</TD>
2860
            <TD height="25">6'b100010</TD>
2861
          </TR>
2862
        </TBODY>
2863
      </TABLE>
2864
 
2865
 
2866
    </TR>
2867
  </TBODY>
2868
</TABLE>
2869
<H3>SUBU -- <I>Subtract unsigned</I></H3>
2870
<TABLE border=1>
2871
<TBODY>
2872
<TR>
2873
<TD>Description:
2874
 
2875
 
2876
      <TD>Subtracts two registers and stores the result in a register
2877
 
2878
 
2879
 
2880
 
2881
    <TR>
2882
<TD>Operation:
2883
 
2884
 
2885
      <TD>$d = $s - $t;
2886
 
2887
 
2888
 
2889
    <TR>
2890
<TD>Syntax:
2891
 
2892
 
2893
      <TD>subu $d, $s, $t
2894
 
2895
 
2896
 
2897
 
2898
    <TR>
2899
<TD>Encoding:
2900
 
2901
 
2902
      <TD>
2903
      <TABLE border="1" width="476">
2904
        <TBODY>
2905
          <TR>
2906
            <TD width="98" height="42">OPCODE</TD>
2907
            <TD width="32" height="42">Source</TD>
2908
            <TD width="82" height="42">Target</TD>
2909
            <TD width="62" height="42">Destination</TD>
2910
            <TD width="134" height="42">Shift</TD>
2911
            <TD height="42">Function</TD>
2912
          </TR>
2913
          <TR>
2914
            <TD width="98" height="25">6fbOOOOOO</TD>
2915
            <TD width="32" height="25">5bit</TD>
2916
            <TD width="82" height="25">5bit</TD>
2917
            <TD width="62" height="25">5bit</TD>
2918
            <TD width="134" height="25">5'h0</TD>
2919
            <TD height="25">6'b100011</TD>
2920
          </TR>
2921
        </TBODY>
2922
      </TABLE>
2923
 
2924
 
2925
    </TR>
2926
  </TBODY>
2927
</TABLE>
2928
<H3>SW -- <I>Store word</I></H3>
2929
<TABLE border=1>
2930
<TBODY>
2931
<TR>
2932
<TD>Description:
2933
 
2934
 
2935
      <TD>The contents of $t is stored at the specified address.
2936
 
2937
 
2938
 
2939
 
2940
    <TR>
2941
<TD>Operation:
2942
 
2943
 
2944
      <TD>MEM[$s + imm] = $t;
2945
 
2946
 
2947
 
2948
    <TR>
2949
<TD>Syntax:
2950
 
2951
 
2952
      <TD>sw $t, imm($s)
2953
 
2954
 
2955
 
2956
    <TR>
2957
<TD>Encoding:
2958
 
2959
 
2960
      <TD>
2961
      <TABLE border="1" width="507">
2962
        <TBODY>
2963
          <TR>
2964
            <TD width="93" height="35">OPCODE</TD>
2965
            <TD width="25" height="35">Source</TD>
2966
            <TD width="82" height="35">Target</TD>
2967
            <TD colspan="4">Immediate</TD>
2968
          </TR>
2969
          <TR>
2970
            <TD width="93" height="30"><CODE>6'b101011</CODE></TD>
2971
            <TD width="25" height="30">5bit</TD>
2972
            <TD width="82" height="30">5bit</TD>
2973
            <TD colspan="4">16bit</TD>
2974
          </TR>
2975
        </TBODY>
2976
      </TABLE>
2977
 
2978
 
2979
    </TR>
2980
  </TBODY>
2981
</TABLE>
2982
<H3><FONT color="#ff0000">SYSCALL -- System call</FONT></H3>
2983
<TABLE border=1>
2984
<TBODY>
2985
<TR>
2986
<TD>Description:
2987
 
2988
 
2989
      <TD>Generates a software interrupt.
2990
 
2991
 
2992
 
2993
 
2994
    <TR>
2995
<TD>Operation:
2996
 
2997
 
2998
      <TD>
2999
 
3000
 
3001
 
3002
    <TR>
3003
<TD>Syntax:
3004
 
3005
 
3006
      <TD>syscall
3007
 
3008
 
3009
 
3010
 
3011
    <TR>
3012
<TD>Encoding:
3013
 
3014
 
3015
      <TD>
3016
      <TABLE border="1" width="476">
3017
        <TBODY>
3018
          <TR>
3019
            <TD width="98" height="42">OPCODE</TD>
3020
            <TD width="32" height="42">Source</TD>
3021
            <TD width="82" height="42">Target</TD>
3022
            <TD width="62" height="42">Destination</TD>
3023
            <TD width="134" height="42">Shift</TD>
3024
            <TD height="42">Function</TD>
3025
          </TR>
3026
          <TR>
3027
            <TD width="98" height="25">6fbOOOOOO</TD>
3028
            <TD width="32" height="25">?????</TD>
3029
            <TD width="82" height="25">?????</TD>
3030
            <TD width="62" height="25">?????</TD>
3031
            <TD width="134" height="25">?????</TD>
3032
            <TD height="25">6'b001100</TD>
3033
          </TR>
3034
        </TBODY>
3035
      </TABLE>
3036
 
3037
 
3038
    </TR>
3039
  </TBODY>
3040
</TABLE>
3041
<H3>XOR -- <I>Bitwise exclusive or</I></H3>
3042
<TABLE border=1>
3043
<TBODY>
3044
<TR>
3045
<TD>Description:
3046
 
3047
 
3048
      <TD>Exclusive ors two registers and stores the result in a register
3049
 
3050
 
3051
 
3052
 
3053
    <TR>
3054
<TD>Operation:
3055
 
3056
 
3057
      <TD>$d = $s ^ $t;
3058
 
3059
 
3060
 
3061
    <TR>
3062
<TD>Syntax:
3063
 
3064
 
3065
      <TD>xor $d, $s, $t
3066
 
3067
 
3068
 
3069
 
3070
    <TR>
3071
<TD>Encoding:
3072
 
3073
 
3074
      <TD>
3075
      <TABLE border="1" width="476">
3076
        <TBODY>
3077
          <TR>
3078
            <TD width="98" height="42">OPCODE</TD>
3079
            <TD width="32" height="42">Source</TD>
3080
            <TD width="82" height="42">Target</TD>
3081
            <TD width="62" height="42">Destination</TD>
3082
            <TD width="134" height="42">Shift</TD>
3083
            <TD height="42">Function</TD>
3084
          </TR>
3085
          <TR>
3086
            <TD width="98" height="25">6fbOOOOOO</TD>
3087
            <TD width="32" height="25">5bit</TD>
3088
            <TD width="82" height="25">5bit</TD>
3089
            <TD width="62" height="25">5bit</TD>
3090
            <TD width="134" height="25">?????</TD>
3091
            <TD height="25">6'b100110</TD>
3092
          </TR>
3093
        </TBODY>
3094
      </TABLE>
3095
 
3096
 
3097
    </TR>
3098
  </TBODY>
3099
</TABLE>
3100
<H3>XORI -- <I>Bitwise exclusive or immediate</I></H3>
3101
<TABLE border=1>
3102
<TBODY>
3103
<TR>
3104
<TD>Description:
3105
 
3106
 
3107
      <TD>Bitwise exclusive ors a register and an immediate value and stores the
3108
result in a register
3109
 
3110
 
3111
 
3112
 
3113
    <TR>
3114
<TD>Operation:
3115
 
3116
 
3117
      <TD>$t = $s ^ imm;
3118
 
3119
 
3120
 
3121
    <TR>
3122
<TD>Syntax:
3123
 
3124
 
3125
      <TD>xori $t, $s, imm
3126
 
3127
 
3128
 
3129
 
3130
    <TR>
3131
<TD>Encoding:
3132
 
3133
 
3134
      <TD>
3135
      <TABLE border="1" width="577">
3136
        <TBODY>
3137
          <TR>
3138
            <TD width="93" height="35">OPCODE</TD>
3139
            <TD width="25" height="35">Source</TD>
3140
            <TD width="82" height="35">Target</TD>
3141
            <TD colspan="4">Immediate</TD>
3142
          </TR>
3143
          <TR>
3144
            <TD width="93" height="30"><CODE>6'b001110</CODE></TD>
3145
            <TD width="25" height="30">5bit</TD>
3146
            <TD width="82" height="30">5bit</TD>
3147
            <TD colspan="4">16bit</TD>
3148
          </TR>
3149
        </TBODY>
3150
      </TABLE>
3151
 
3152
 
3153
    </TR>
3154
  </TBODY>
3155
</TABLE>
3156
<P><BR>
3157
<BR>
3158
</P>
3159
</BODY>
3160
</HTML>

powered by: WebSVN 2.1.0

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