File:  [gforth] / gforth / arch / mips / insts.fs
Revision 1.6: download - view: text, annotated - select for diffs
Sat Sep 23 15:47:03 2000 UTC (23 years, 7 months ago) by anton
Branches: MAIN
CVS tags: v0-6-2, v0-6-1, v0-6-0, v0-5-0, HEAD
changed FSF address in copyright messages

    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
   19: \ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA.
   20: 
   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: 
   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,
   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,
   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,
   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,
   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>