Project

General

Profile

Plasma instruction set » History » Version 1

Alexander Protsenko, 10/12/2016 02:53 PM

1 1 Alexander Protsenko
h1. Plasma instruction set
2
3
table=.
4
{font-weight:bold; background:#ddd}. | *сategory* | *instructions* | *amount* | 
5
{background:#cfc}. | Arithmetic Logic Unit |     ADD rd,rs,rt
6
    ADDI rt,rs,imm
7
    ADDIU rt,rs,imm
8
    ADDU rd,rs,rt
9
    AND rd,rs,rt
10
    ANDI rt,rs,imm
11
    LUI rt,imm
12
    NOR rd,rs,rt
13
    OR rd,rs,rt
14
    ORI rt,rs,imm
15
    SLT rd,rs,rt
16
    SLTI rt,rs,imm
17
    SLTIU rt,rs,imm
18
    SLTU rd,rs,rt
19
    SUB rd,rs,rt
20
    SUBU rd,rs,rt
21
    XOR rd,rs,rt
22
    XORI rt,rs,imm | 17 |
23
{background:#cfc}. | Shifter | SLL rd,rt,sa
24
    SLLV rd,rt,rs
25
    SRA rd,rt,sa
26
    SRAV rd,rt,rs
27
    SRL rd,rt,sa
28
    SRLV rd,rt,rs | 6 |
29
{background:#cfc}. | Multiply| DIV rs,rt
30
    DIVU rs,rt
31
    MFHI rd
32
    MFLO rd
33
    MTHI rs
34
    MTLO rs
35
    MULT rs,rt
36
    MULTU rs,rt | 8 |
37
{background:#cfc}. | Branch| BEQ rs,rt,offset
38
    BGEZ rs,offset
39
    BGEZAL rs,offset
40
    BGTZ rs,offset
41
    BLEZ rs,offset
42
    BLTZ rs,offset
43
    BLTZAL rs,offset
44
    BNE rs,rt,offset
45
    BREAK
46
    J target
47
    JAL target
48
    JALR rs
49
    JR rs
50
    MFC0 rt,rd
51
    MTC0 rt,rd
52
    SYSCALL | 16 |
53
{background:#cfc}. | Memory Access | LB rt,offset(rs)
54
    LBU rt,offset(rs)
55
    LH rt,offset(rs)
56
    LHU rt,offset(rs)
57
    LW rt,offset(rs)
58
    SB rt,offset(rs)
59
    SH rt,offset(rs)
60
    SW rt,offset(rs) | 8 |
61
{background:#ddd}. | Total: || 55 |
62
63
{background:#cfc}. |100%|
64
{background:#ff9}. |50+%|
65
{background:#fcc}. |0+%|
66
67
References
68
http://opencores.org/project,plasma,opcodes