企业网站定制开发MIPS指令详解

目录

一.R型指令

(1)R企业网站定制开发型指令格式

000000 (op)RsRtRdshamtfunct
6bits5bits5bits5bits5bits6bits

注意: 企业网站定制开发该类型指令操作数和保企业网站定制开发存结果均通过寄存器进行。

操作含义
op操作码,所有R企业网站定制开发型指令都全为0
rs企业网站定制开发寄存器编号,对应第一个源操作数
rt寄存器编号,对应第二个源操作数
rd寄存器编号,保存结果
shamt常数,在移位指令中使用
funct功能码,指定指令的具体功能

(2)具体R型指令

注意: R型指令根据操作的寄存器数可以分为三种不同类型。

【1】带有3个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
add000000rsrtrd00000100000寄存器加
sub000000rsrtrd00000100010寄存器减
and000000rsrtrd00000100100寄存器与
or000000rsrtrd00000100101寄存器或
xor000000rsrtrd00000100110寄存器异或

$rd = $rs op $ rt

【2】带有2个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
sll00000000000rtrdsa100000逻辑左移
srl00000000000rtrdsa000010逻辑右移
sll00000000000rtrdsa000011算术右移

$rd = $rt shift sa

【3】带有1个寄存器

指令[31 : 26][25 : 21][20 : 16][15 : 11][10 : 6][5 : 0]指令功能
jr000000rs000000000000000001000寄存器跳转

jr rs;
PC = rs

二.I型指令

(1)I型指令格式

OPRsRtimm(立即数)
6bits5bits5bits16bits

注意: 操作数中涉及立即数,结果保存到寄存器

操作含义
op标识指令的操作功能
rs第一个源操作数,是寄存器操作数
rt目的寄存器编号,用来保存运算结果
imm第二个源操作数,立即数

(2)具体I型指令

注意: I型指令存在4种不同的类型

【1】面向运算的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
addi001000rsrtimm寄存器和立即数“加”
andi001100rsrtimm寄存器和立即数“与”
ori001101rsrtimm寄存器和立即数“或”
xori001110rsrtimm寄存器和立即数“异或”

第一条指令是对立即数进行符号拓展,其他都是0拓展
addi rt, rs, imm;
$rt = $rs op E(imm)

【2】面向访存的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
lw100011rsrtimm从存储器种读取数据
sw101011rsrtimm把数据保存到存储器

32中唯一两条访问存储器的指令(RISC)
lw rt, imm(rs) # r t = m e m [ rt = mem[ rt=mem[rs+E(imm)]
sw rt, imm(rs) # m e m [ mem[ mem[rs+E(imm)] = $rt

【3】面向数位设置的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
lui00111100000rtimm设置寄存器的高16位

lui rt, imm #$rt = imm<<16(空位补0)

【4】面向条件转移(分支)的I型指令

指令[31 : 26][25 : 21][20 : 16][15 : 0]指令功能
beq000100rsrtimm寄存器相等则转移
bne000101rsrtimm寄存器不相等则转移

beq rs, rt, imm #if( r s = = rs== rs==rt) PC=PC+E(imm)<<2
bne rs, rt, imm #if( r s ! = rs!= rs!=rt) PC=PC+E(imm)<<2
标准的PC相对寻址方式

三.J型指令

(1)J型指令格式

OP立即数
6bits26bits

(2)具体J型指令

指令[31 : 26][25 : 0]指令功能
j000010address无条件跳转
jal001100address调用与联接

j address;
$ PC=($PC+4)H4U(address<<2)

jal address;
$ra = $PC+4(保存返回地址)
$ PC=($PC+4)H4U(address<<2)

四.举例

(1)关于R型指令

不同功能的R型指令使用的寄存器数量不一定相同,有一个、两个、三个

所有R型指令的操作码OP字段均为000000

R型指令既有算术运算指令,也有逻辑运算指令,它不支持访问主存的指令

(2)关于J造型指令

J型指令支持无条件跳转指令

J性指令只使用伪直接寻址方式

J型指令执行后,PC寄存器的值最后两位一定为00

J型指令需要使用ra寄存器

参考:华中科技大学mooc计算机组成原理

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发