MIPS指令详解 |
您所在的位置:网站首页 › mpis是什么意思医学 › MIPS指令详解 |
目录
一.R型指令(1)R型指令格式(2)具体R型指令【1】带有3个寄存器【2】带有2个寄存器【3】带有1个寄存器
二.I型指令(1)I型指令格式(2)具体I型指令【1】面向运算的I型指令【2】面向访存的I型指令【3】面向数位设置的I型指令【4】面向条件转移(分支)的I型指令
三.J型指令(1)J型指令格式(2)具体J型指令
四.举例
一.R型指令
(1)R型指令格式
000000 (op)RsRtRdshamtfunct6bits5bits5bits5bits5bits6bits
注意: 该类型指令操作数和保存结果均通过寄存器进行。 操作含义op操作码,所有R型指令都全为0rs寄存器编号,对应第一个源操作数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把数据保存到存储器MIPS 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 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |