Annotation of gforth/arch/mips/insts.fs, revision 1.10
1.5 anton 1: \ MIPS instruction encoding descriptions common to asm.fs and disasm.fs
2:
1.10 ! anton 3: \ Copyright (C) 2000,2007,2010 Free Software Foundation, Inc.
1.5 anton 4:
5: \ This file is part of Gforth.
6:
7: \ Gforth is free software; you can redistribute it and/or
8: \ modify it under the terms of the GNU General Public License
1.7 anton 9: \ as published by the Free Software Foundation, either version 3
1.5 anton 10: \ of the License, or (at your option) any later version.
11:
12: \ This program is distributed in the hope that it will be useful,
13: \ but WITHOUT ANY WARRANTY; without even the implied warranty of
14: \ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: \ GNU General Public License for more details.
16:
17: \ You should have received a copy of the GNU General Public License
1.7 anton 18: \ along with this program. If not, see http://www.gnu.org/licenses/.
1.5 anton 19:
1.2 anton 20: $00 constant asm-copz-MF
21: $02 constant asm-copz-CF
22: $04 constant asm-copz-MT
23: $06 constant asm-copz-CT
24: $08 constant asm-copz-BC
25: $10 constant asm-copz-C0
26:
27: $00 constant asm-copz-BCF
28: $01 constant asm-copz-BCT
29:
1.1 anton 30: $04 asm-op asm-I-rs,rt,imm beq,
31: $05 asm-op asm-I-rs,rt,imm bne,
32: $00 $06 asm-op asm-rt asm-I-rs,imm blez,
33: $00 $07 asm-op asm-rt asm-I-rs,imm bgtz,
34: $08 asm-op asm-I-rt,rs,imm addi,
35: $09 asm-op asm-I-rt,rs,imm addiu,
36: $0a asm-op asm-I-rt,rs,imm slti,
37: $0b asm-op asm-I-rt,rs,imm sltiu,
1.3 anton 38: $0c asm-op asm-I-rt,rs,uimm andi,
39: $0d asm-op asm-I-rt,rs,uimm ori,
40: $0e asm-op asm-I-rt,rs,uimm xori,
41: $0f asm-op asm-I-rt,uimm lui,
1.1 anton 42: $20 asm-op asm-I-rt,offset,rs lb,
43: $21 asm-op asm-I-rt,offset,rs lh,
44: $22 asm-op asm-I-rt,offset,rs lwl,
45: $23 asm-op asm-I-rt,offset,rs lw,
46: $24 asm-op asm-I-rt,offset,rs lbu,
47: $25 asm-op asm-I-rt,offset,rs lhu,
48: $26 asm-op asm-I-rt,offset,rs lwr,
49: $28 asm-op asm-I-rt,offset,rs sb,
50: $29 asm-op asm-I-rt,offset,rs sh,
51: $2a asm-op asm-I-rt,offset,rs swl,
52: $2b asm-op asm-I-rt,offset,rs sw,
53: $2e asm-op asm-I-rt,offset,rs swr,
54:
55: $02 asm-op asm-J-target j,
56: $03 asm-op asm-J-target jal,
57:
58: $00 asm-special-rd,rt,sa sll,
59: $02 asm-special-rd,rt,sa srl,
60: $03 asm-special-rd,rt,sa sra,
61: $04 asm-special-rd,rt,rs sllv,
62: $06 asm-special-rd,rt,rs srlv,
63: $07 asm-special-rd,rt,rs srav,
64: $08 asm-special-rs jr,
65: $09 asm-special-rd,rs jalr, \ !! rd,rs or rs,rd?
1.9 dvdkhlng 66: $0a asm-special-rd,rs,rt movz,
67: $0b asm-special-rd,rs,rt movn,
1.1 anton 68: $0c asm-special-nothing syscall,
69: $0d asm-special-nothing break,
70: $10 asm-special-rd mfhi,
71: $11 asm-special-rs mthi,
72: $12 asm-special-rd mflo,
73: $13 asm-special-rs mtlo,
74: $18 asm-special-rs,rt mult,
75: $19 asm-special-rs,rt multu,
76: $1a asm-special-rs,rt div,
77: $1b asm-special-rs,rt divu,
78: $20 asm-special-rd,rs,rt add,
79: $21 asm-special-rd,rs,rt addu,
80: $22 asm-special-rd,rs,rt sub,
81: $23 asm-special-rd,rs,rt subu,
82: $24 asm-special-rd,rs,rt and,
83: $25 asm-special-rd,rs,rt or,
84: $26 asm-special-rd,rs,rt xor,
85: $27 asm-special-rd,rs,rt nor,
86: $2a asm-special-rd,rs,rt slt,
87: $2b asm-special-rd,rs,rt sltu,
88:
1.9 dvdkhlng 89: $00 asm-special2-rs,rt madd,
90: $01 asm-special2-rs,rt maddu,
91: $02 asm-special2-rd,rs,rt mul,
92: $04 asm-special2-rs,rt msub,
93: $05 asm-special2-rs,rt msubu,
94: $20 asm-special2-rd,rs clz,
95: $21 asm-special2-rd,rs clo,
96:
1.1 anton 97: $00 asm-regimm-rs,imm bltz,
98: $01 asm-regimm-rs,imm bgez,
99: $10 asm-regimm-rs,imm bltzal,
100: $11 asm-regimm-rs,imm bgezal,
101:
102: $30 asm-copz-rt,offset,rs lwcz,
103: $38 asm-copz-rt,offset,rs swcz,
1.4 anton 104: $31 asm-op asm-I-rt,offset,rs lwc1,
105: $32 asm-op asm-I-rt,offset,rs lwc2,
106: $39 asm-op asm-I-rt,offset,rs swc1,
107: $3a asm-op asm-I-rt,offset,rs swc2,
1.1 anton 108: asm-copz-MF $00 asm-rs asm-copz-rt,rd mfcz,
109: asm-copz-CF $00 asm-rs asm-copz-rt,rd cfcz,
110: asm-copz-MT $00 asm-rs asm-copz-rt,rd mtcz,
111: asm-copz-CT $00 asm-rs asm-copz-rt,rd ctcz,
112: asm-copz-BC $00 asm-rs asm-copz-BCF swap asm-rt asm-copz-imm bczf,
113: asm-copz-BC $00 asm-rs asm-copz-BCT swap asm-rt asm-copz-imm bczt,
114: $01 asm-copz0 tlbr,
115: $02 asm-copz0 tlbwi,
116: $06 asm-copz0 tlbwr,
117: $08 asm-copz0 tlbl,
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>