作者:非妃是公主
专栏:《汇编》
个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩

转载请标明,原文链接:https://blog.csdn.net/myf_666/article/details/116612972
syscall为系统调用指令,在使用Mars来运行MIPS汇编时,往往无法显示结果,需要去对应的寄存器去观察,很不方便。
今天总结利用syscall输出结果:
首先,我们要知道输出的步骤:
第1步、 在寄存器 v 0 中加载服务号。第 2 步、将参数值(如果有的话)载入 v0中加载服务号。 第2步、将参数值(如果有的话)载入 v0中加载服务号。第2步、将参数值(如果有的话)载入a0、 a 1 、 a1、 a1、a2或$f12中。
第3步、发出SYSCALL指令。
第4步、如果有的话,按规定从结果寄存器中获取返回值。

// An highlighted block
addi $s0,$s0,1 #将1装入寄存器
li $v0,1       #服务指令
la $a0,($s0)   #将$s0中的值,放入到$a0中后续将其输出
syscall        #系统调用指令

如图:为运行结果

这里1是整形值,所以我们调用li $v0,1 #服务指令 这个服务指令。
如果是float类型,我们则调用li $v0,2 #服务指令
如果是double类型,我们则调用li $v0,3 #服务指令
如果是string类型,我们则调用li $v0,4 #服务指令
其他的类型在此不在列举,可以参考链接: http://www.voidcn.com/article/p-zusprvly-xz.html.
利用MIPS进行浮点运算需要一些转换代码;
所以,下面只给出第四种种输出的可运行代码

.datamyMessage: .asciiz"hello world \n"  #相当于在内存中申请了一块static空间用于存放myMessage
.textli $v0,4          #利用第四种服务号la $a0,myMessage  #将myMessage放入$a0中用于下一步输出syscall

mips汇编之利用syscall输出结果相关推荐

  1. mips汇编计算开方_清华考研辅导班-2020清华大学912计算机专业基础综合考研经验真题参考书目...

    清华大学912计算机专业基础综合考试科目,2020年初试时间安排为12月22日下午14:00-17:00业务课二进行笔试,清华大学自主命题,考试时间3小时. 一.适用院系及专业 清华大学计算机科学与技 ...

  2. MIPS汇编实现冒泡排序法

    要求: 利用MIPS汇编实现冒泡排序法 初始化数据为:8,6,3,7,1,0,9,4,5,2 代码实现与解释: 数据: 主函数 排序函数: SWAP函数(交换数组当中两个元素) 输出函数: 运行程序: ...

  3. 如何获取MIPS汇编对应的机器码

    在看<自己动手写CPU>的时候,里面需要将MIPS转换成机器码作为输入的指令,不过书上的工具以及一些步骤在实际中是不能用的,因此在这里将"从MIPS汇编转换成机器码"的 ...

  4. MIPS介绍与MIPS汇编的常用指令

    描述 CTF做题时会遇见MIPS汇编的题目,而我们接触的是8086汇编,IDA是不能反汇编的需要自己了解一些MIPS方面的知识; 1. List 1 在不同的设备中,汇编语言对应着不同的机器语言指令集 ...

  5. 【汇编语言与计算机系统结构笔记17】MIPS 汇编初步

    本次笔记内容: 25.MIPS汇编初步-1 26.MIPS汇编初步-2 27.MIPS指令集与汇编程序设计 注:我找到了对应内容的课件,请见我于GitHub的CS笔记仓库.因此,为了节省时间,我只记录 ...

  6. php编程输出心形图案_利用php输出不同的心形图案,php心形图案_PHP教程

    利用php输出不同的心形图案,php心形图案 首先为大家分享php输出心形曲线的代码,代码如下 效果如下: 利用php输出笛卡尔心形图案,代码如下 复制代码 代码如下:$width = 600; $h ...

  7. php 实现心芯图案,利用php输出不同的心形图案

    首先为大家分享php输出心形曲线的代码,代码如下 效果如下: 利用php输出笛卡尔心形图案,代码如下 复制代码 代码如下: $width = 600; $height = 650; header(&q ...

  8. 成功解决利用pandas输出DataFrame格式数据表时没有最左边的索引编号(我去,这个问题折腾了我半个多小时)

    成功解决利用pandas输出DataFrame格式数据表时没有最左边的索引编号(我去,这个问题折腾了我半个多小时) 导读:首先,关于这个问题,博主想骂街,经过各种查询,没找到类似问题,然后博主自己不断 ...

  9. C语言学习之利用指针输出二维数组任一行任一列元素的值

    利用指针输出二维数组任一行任一列元素的值. int main(){int a[3][4];int i,j,x,y;int (*p)[4];//指针变量p指向包含4个整型元素的一维数组printf(&q ...

最新文章

  1. python从菜鸟到高手电子书下载_PYTHON从菜鸟到高手 清华大学出版社
  2. python多线程代码_Python多线程代码求改错
  3. 泉州服务器维修,泉州云服务器
  4. LA4234 Binary Clock(进制转换)
  5. Google Map App 问题集锦
  6. 对于变态数据搜索的心得
  7. spring源码分析之@ImportSelector、@Import、ImportResource工作原理分析
  8. input的readonly属性与TextBox的ReadOnly和Enabled属性区别
  9. MyBatisPlus条件构造器带条件更新update使用
  10. 一文梳理多任务学习(MMoE/PLE/DUPN/ESSM等)
  11. aspx转发php_asp,php,aspx一句话合集
  12. 深入理解C语言系列之C语言语法陷阱(考题常设置的陷阱点、必须避免的错误和缺陷类型)
  13. 《Go学习笔记 . 雨痕》流程控制(if、switch、for range、goto、continue、break)
  14. Windows Server 2008 多元密码策略之ADSIEDIT篇
  15. mysql数据结构_MySQL索引深入理解底层数据结构
  16. 小心Java中封装类的值比较
  17. CAD工具——导出JPG
  18. StataIC——协整检验与误差修正模型
  19. 班主任工作总结中职计算机网络,中职班主任工作总结(精选5篇)
  20. 配置thinkphp路由,隐藏index.php

热门文章

  1. Navicat的安装及简单使用
  2. Matlab基础知识五
  3. c语言编写图形登录窗口,C语言实现图形界面登陆窗口
  4. JetsonXavierAGX配置Yolov5环境
  5. Nginx设置开启/关闭/重启/开机自启
  6. Python编程课程好学吗?能学会吗?
  7. css层叠样式表——css基础介绍
  8. Windows的hosts文件所在位置
  9. 研究发现有适用于欧洲GDPR法规的加密货币解决方案
  10. 码元,码元速率,波特率,比特率,数据率的理解