MIPS汇编语言指令
MIPS汇编语言指令
- 寄存器
- 指令集
- 指令格式
- R型指令
- I型指令
- J型指令
寄存器
寄存器在MIPS体系结构中有32个通用寄存器,在汇编程序中可以用编号表示,
$0~31
, 也 可 以 用 名 称 表 示 , 如31,也可以用名称表示,如31,也可以用名称表示,如sp,$t1。
编号 | 名称 | 说明 |
---|---|---|
$0 | $zero | 零号寄存器,值恒等于0 |
$1 | $at | 保留寄存器,用于处理大的常数 |
$2 - $3 | $v0 - $v1 | 保留表达式或函数返回结果 |
$4 - $7 | $a0 - $a3 | 作为函数的前4个参数 |
$8-$15 | $t0 - $t7 | 供汇编程序使用的临时寄存器 |
$16-$23 | $s0 - $s7 | 子函数使用时需要先保存原寄存器的值 |
$24-$25 | $t8 - $9 | 供汇编程序的临时寄存器,补充 t0-t7 |
$26-$27 | $k0 - $k1 | 中断处理函数使用 |
28 | $gp | 全局指针 |
29 | $sp | 堆栈指针,指向堆栈的栈顶 |
30$ | fp | 保存栈指针 |
31 | $ra | 返回地址 |
指令集
指令集:一个给定的计算机体系结构所包含的指令集合。
指令格式
MIPS指令集有三种指令格式:R型指令,I型指令,J型指令
R型指令
Op:指令操作码
Rs:第一个源操作数寄存器号,参与运算使用
Rt:第二个源操作数寄存器号,参与运算使用
Rd:目的操作数寄存器号,保存结果使用
Shamt:位偏移量,仅在位移指令使用,在此直接置0
Func:指令函数码,用于选择Op操作中的具体函数
I型指令
Op:指令操作码
Rs:第一个源操作数寄存器号,参与运算使用
Rt:第二个源操作数寄存器号,参与运算使用
16位立即数:作为数据,参与运算使用
注:立即数,顾名思义,就是可以立即使用的数,即在指令中就给了具体的数据,而不用先给出寄存器号到寄存器中去找。
J型指令
Op:指令操作码
26位地址数:作为地址,参与寻址使用
通常用于指令的跳转使用,后面的数据用于提供跳转地址
参考资料
- 《计算机组成与设计——硬件/软件接口》
- https://blog.csdn.net/SundayO/article/details/101108385
- https://blog.csdn.net/weixin_45792450/article/details/109557734
MIPS汇编语言指令相关推荐
- mips j指令_计算机组成原理 指令
CPU 能处理的只有指令,我们写的程序归根结底就是指令,高级语言只有翻译成机器码,即计算机能够识别的指令,才能够被执行. 不同的 CPU 拥有不同的指令集,一般 PC 使用 Intel 的 CPU,i ...
- MIPS汇编语言学习笔记07:打印双精度浮点数
课程原视频: https://www.bilibili.com/video/BV19J411y7pA?p=7 程序功能: 设定两个双精度浮点型数据,将其相加后打印输出. 代码: .datamyDoub ...
- MIPS汇编语言学习笔记11:整数减法 (mult方法)
任务:整数相乘,并输出打印. 代码: .dataintA: .word 5intB: .word 2 .textli $v0, 1lw $a1, intAlw $a2, intBmult $a1, $ ...
- 8086汇编语言指令总结
根据工作需要,从基础学起,设计一台嵌入式CISC模型计算机,稍后上传. 先总结下,汇编语言指令,如下 1. MOV(传送) 指令写法:MOV target,source 功能描述:将源操作数sour ...
- [MIPS汇编语言]简单排序实现
排序是程序语言的基础操作 通过排序练习可以提高对语言的掌握程度 汇编是可以说是最底层的语言了,学习汇编,可以提高对几乎所有语言的理解程度.(个人看法) 下面展示了用MIPS汇编语言实现的简单排序 (对 ...
- 8051系列单片机汇编语言指令速查表(汇编语言的111条指
8051系列单片机汇编语言指令速查表(汇编语言的111条指_纳兰容若的左手_新浪博客 http://blog.sina.com.cn/s/blog_6486c0b30100gqew.html 编号 指 ...
- 汇编语言L0C,单片机汇编语言指令查表.doc
单片机汇编语言指令查表 目的操作数汇编指令机器码功能机器周期字节数Amov A ,#data74H datadata传至A12Amov A,directE5H direct direct 传至A12A ...
- PE文件-CPU寄存器-栈-常用汇编语言指令-push-move-sub-lea-rep-xor
文章目录 1.CPU寄存器 2.常用汇编指令 3.作者答疑 如果需要对恶意软件分析,或者修改现有可执行文件的功能,如果有软件的源代码,固然可以比较好的修改,如果没有,通过汇编指令的修改亦可做到.本 ...
- C语言转MIPS汇编语言的方法,将C程序转换为MIPS汇编语言程序
我试图将C程序转换为MIPS汇编程序.以下是该程序我的C代码:(注:灯泡[数字]是用于由用户输入的"数量"初始化为全零个值的数组)将C程序转换为MIPS汇编语言程序 for(int ...
- MIPS汇编语言学习笔记23:if 语句分支指令
C语言 #include<stdio.h> int main() {int i = 3;if (i < 5){printf("yes!\n");}else{pri ...
最新文章
- 搭建LAMP环境示例
- 复杂的xml转化为java实体
- DockOne微信分享( 九十):猎豹移动基于CoreOS在AWS上的项目实践
- 互联网时代的春节注意事项 PMcaff | 趣事
- kotlin 初始化数组
- C/C++ OpenCV方框滤波
- UIKit 框架之UIAlertController
- 20162316刘诚昊 第十一周学习总结
- 【滤波器】基于matlab GUI低通+带通+高通FIR与IIR滤波器设计【含Matlab源码 360期】
- 用ssh反向隧道访问内网机器
- Android音视频架构-学习路线规划
- skype国际版android,Skype国际版
- HTML第五章课后作业,第五章 组合逻辑电路 课后习题答案详解 资料资料资料.pdf...
- SLAM领域的优秀作者与实验室汇总
- buu刷题日记 asis2016_b00ks
- Python北京二手房房价数据集分析
- 机器人兴趣班奖状_美术兴趣班奖状称号
- Python之数据库编程
- PAT甲级 1027 Colors in Mars (20分)
- 174.123.15.31 index.php,腾讯内容开放平台
热门文章
- 埃夫特机器人示教器linux屏幕多少钱,不限 埃夫特机器人电路板维修
- STM32-串口通信详解
- VSCode + LaTeX 入门(学习记录)
- postman9.12汉化
- android ts合并_ts视频合并工具安卓版
- scanner读取带空格字符串_Scanner类提供了输入字符出的方法,下面哪个方法可以实现字符串的输入且该串可以含有空格()。-智慧树JAVA程序设计(山东联盟-山东农业大学)章节答案...
- Delft3D建模、水动力模拟方法及在地表水环境影响评价丨Delft3D标量输运、波浪、拉格朗日粒子及溢油模型
- Django下载、安装
- 持久层框架:Mybatis快速入门
- 小甲鱼c语言版:八皇后问题解决思路