Annotation of gforth/arch/mips/insts.fs, revision 1.6
1.5 anton 1: \ MIPS instruction encoding descriptions common to asm.fs and disasm.fs
2:
3: \ Copyright (C) 2000 Free Software Foundation, Inc.
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
9: \ as published by the Free Software Foundation; either version 2
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
18: \ along with this program; if not, write to the Free Software
1.6 ! anton 19: \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
1.5 anton 20:
1.2 anton 21: $00 constant asm-copz-MF
22: $02 constant asm-copz-CF
23: $04 constant asm-copz-MT
24: $06 constant asm-copz-CT
25: $08 constant asm-copz-BC
26: $10 constant asm-copz-C0
27:
28: $00 constant asm-copz-BCF
29: $01 constant asm-copz-BCT
30:
1.1 anton 31: $04 asm-op asm-I-rs,rt,imm beq,
32: $05 asm-op asm-I-rs,rt,imm bne,
33: $00 $06 asm-op asm-rt asm-I-rs,imm blez,
34: $00 $07 asm-op asm-rt asm-I-rs,imm bgtz,
35: $08 asm-op asm-I-rt,rs,imm addi,
36: $09 asm-op asm-I-rt,rs,imm addiu,
37: $0a asm-op asm-I-rt,rs,imm slti,
38: $0b asm-op asm-I-rt,rs,imm sltiu,
1.3 anton 39: $0c asm-op asm-I-rt,rs,uimm andi,
40: $0d asm-op asm-I-rt,rs,uimm ori,
41: $0e asm-op asm-I-rt,rs,uimm xori,
42: $0f asm-op asm-I-rt,uimm lui,
1.1 anton 43: $20 asm-op asm-I-rt,offset,rs lb,
44: $21 asm-op asm-I-rt,offset,rs lh,
45: $22 asm-op asm-I-rt,offset,rs lwl,
46: $23 asm-op asm-I-rt,offset,rs lw,
47: $24 asm-op asm-I-rt,offset,rs lbu,
48: $25 asm-op asm-I-rt,offset,rs lhu,
49: $26 asm-op asm-I-rt,offset,rs lwr,
50: $28 asm-op asm-I-rt,offset,rs sb,
51: $29 asm-op asm-I-rt,offset,rs sh,
52: $2a asm-op asm-I-rt,offset,rs swl,
53: $2b asm-op asm-I-rt,offset,rs sw,
54: $2e asm-op asm-I-rt,offset,rs swr,
55:
56: $02 asm-op asm-J-target j,
57: $03 asm-op asm-J-target jal,
58:
59: $00 asm-special-rd,rt,sa sll,
60: $02 asm-special-rd,rt,sa srl,
61: $03 asm-special-rd,rt,sa sra,
62: $04 asm-special-rd,rt,rs sllv,
63: $06 asm-special-rd,rt,rs srlv,
64: $07 asm-special-rd,rt,rs srav,
65: $08 asm-special-rs jr,
66: $09 asm-special-rd,rs jalr, \ !! rd,rs or rs,rd?
67: $0c asm-special-nothing syscall,
68: $0d asm-special-nothing break,
69: $10 asm-special-rd mfhi,
70: $11 asm-special-rs mthi,
71: $12 asm-special-rd mflo,
72: $13 asm-special-rs mtlo,
73: $18 asm-special-rs,rt mult,
74: $19 asm-special-rs,rt multu,
75: $1a asm-special-rs,rt div,
76: $1b asm-special-rs,rt divu,
77: $20 asm-special-rd,rs,rt add,
78: $21 asm-special-rd,rs,rt addu,
79: $22 asm-special-rd,rs,rt sub,
80: $23 asm-special-rd,rs,rt subu,
81: $24 asm-special-rd,rs,rt and,
82: $25 asm-special-rd,rs,rt or,
83: $26 asm-special-rd,rs,rt xor,
84: $27 asm-special-rd,rs,rt nor,
85: $2a asm-special-rd,rs,rt slt,
86: $2b asm-special-rd,rs,rt sltu,
87:
88: $00 asm-regimm-rs,imm bltz,
89: $01 asm-regimm-rs,imm bgez,
90: $10 asm-regimm-rs,imm bltzal,
91: $11 asm-regimm-rs,imm bgezal,
92:
93: $30 asm-copz-rt,offset,rs lwcz,
94: $38 asm-copz-rt,offset,rs swcz,
1.4 anton 95: $31 asm-op asm-I-rt,offset,rs lwc1,
96: $32 asm-op asm-I-rt,offset,rs lwc2,
97: $39 asm-op asm-I-rt,offset,rs swc1,
98: $3a asm-op asm-I-rt,offset,rs swc2,
1.1 anton 99: asm-copz-MF $00 asm-rs asm-copz-rt,rd mfcz,
100: asm-copz-CF $00 asm-rs asm-copz-rt,rd cfcz,
101: asm-copz-MT $00 asm-rs asm-copz-rt,rd mtcz,
102: asm-copz-CT $00 asm-rs asm-copz-rt,rd ctcz,
103: asm-copz-BC $00 asm-rs asm-copz-BCF swap asm-rt asm-copz-imm bczf,
104: asm-copz-BC $00 asm-rs asm-copz-BCT swap asm-rt asm-copz-imm bczt,
105: $01 asm-copz0 tlbr,
106: $02 asm-copz0 tlbwi,
107: $06 asm-copz0 tlbwr,
108: $08 asm-copz0 tlbl,
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>