有关指令

  1. li $t1,immediate #load immediate,立即数可正可负
  2. la $t1,address #load address
  3. move $t1,$t2 #move $t2 to $t1
  4. syscall #打印字符串时,将要输出的字符串的地址存到$a0,将$v0设置成4

关于syscall指令的使用,MARS中有详细文档,help--> syscalls

MIPS代码实现

c语言代码

  1. #include<stdio.h>
  2.  
  3. int main()
  4. {
  5. int a, b;
  6. scanf("%d", &a);
  7. scanf("%d", &b);
  8. if (a > b) printf("YES\n");
  9. else printf("NO\n");
  10.  
  11. return ;
  12. }

MIPS代码

  1. .data
  2. msg_yes: .asciiz "YES"
  3. msg_no: .asciiz "NO" #定义两个字符串
  4.  
  5. .text
  6. li $v0,
  7. syscall #读入a
  8. move $t0,$v0 #syscall读入的a存在$v0,要将它及时的转移到其它寄存器
  9.  
  10. li $v0,
  11. syscall
  12. move $t1,$v0 #读入b
  13.  
  14. bgt $t0,$t1,L1
  15. la $a0,msg_no #else
  16. li $v0,
  17. syscall
  18. j exit #要及时跳转到结束,否则L1中的指令也会执行
  19.  
  20. L1: #if
  21. la $a0,msg_yes
  22. li $v0,
  23. syscall
  24.  
  25. exit:
  26. li $v0,
  27. syscall #$v0 == ,运行终止

值得一提的是,由于存放两个字符串的地址是连续的,如果字符串结尾没加终止符'\0'或者使用的是.ascii而不是.asciiz(.asciiz自带终止符,.ascii不带)

MIPS——分支语句的更多相关文章

  1. 【java开发】分支语句、循环语句学习

    一.Java分支语句类型 if-else 语句 switch 关于if-esle语句可以拆分为三种 if语句 if(条件){语句块;} if-else语句if(条件语句){语句块;} if-else ...

  2. 运算符 与 分支语句:if ,else if,else;switch case

    分支语句: if        else if       else      :    switch          case --如何使用 if  else if  else: Console. ...

  3. JavaScript语法、对话框。分支语句

    一.用法 其所在的位置有三块,1.head里面  2.body里面  3.</html>后   一般都写在</html>后 其用法为<script></scr ...

  4. HTML基础--JS简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、数组、函数、函数调用.avi

    JS简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司(已被Oracle收 ...

  5. switch多分支语句

    1.switch多分支语句的语法 switch(表达式){ case 常量值:要执行的语句; break; case 常量值:要执行的语句; break; case 常量值:要执行的语句; break ...

  6. 分支语句 if的嵌套 循环语句

    0930 今天学习内容做以下总结: 语句的分类:顺序语句,分支语句(选择,条件),循环语句 分支语句 格式1:if(表达式(要么是true 要么是false)){} 格式2:if(){}slse{}  ...

  7. Linux Shell系列教程之(十三)Shell分支语句case … esac教程

    本文是Linux Shell系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell系列教程 分支语句非常实用,基本上高级语言都支持分支语句(python 没有),大多数都使 ...

  8. 分支语句:if

    (1)分支语句if: if(判断条件) { 满足条件要执行的语句(若满足则alert输出(“”)) } else { 不满足条件时执行的语句 } (若if满足,else绝对不走,反之,走else) 例 ...

  9. js简介、基本语法、类型转换、变量、运算符、分支语句、循环语句、函数、函数调用

    javascript是个脚本语言,需要有宿主文件,他的宿主文件是html文件. 三个常用对话框 alert("")警告对话框,弹出一个警告对话框 <script> al ...

随机推荐

  1. PYTHON实现DFS算法

    class Vertice: def __init__(self,index): self.no = index self.color = 0 # 0:white 1 gray 2 black sel ...

  2. C#简单的国际化

    1.新建一个资源文件夹,并在资源文件夹新建中英问的资源文件,如图: 2.中英文资源文档添加资源,如图: 3.Program.cs中添加根据系统语言确定中英文,这里默认为英文: using Intern ...

  3. B - Dungeon Master POJ - 2251

    //纯bfs #include <iostream> #include <algorithm> #include <cstring> #include <cs ...

  4. python操作rabbitmq实现消息过滤接收

    目标: 代码实现(direct_product.py) # __author__ = 'STEVEN' import pika,sys #开启socket connection = pika.Bloc ...

  5. Qt 2D绘图之五:图形视图框架的结构和坐标系统

    一.图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们.但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动.检测它们的碰撞和叠加:或者我们想让自己绘制的图 ...

  6. Codeforces 1119E(贪心)

    题目传送 贪心方法 按边从小到大扫,先凑3个,没凑足的记录一下数量,后面大的优先跟这些凑,俩带走一个,多余的再凑3个,再--就这样走到最后即可. const int maxn = 3e5 + 5; i ...

  7. hdu6311( 2018 Multi-University Training Contest 2)

    bryce1010模板 http://acm.hdu.edu.cn/showproblem.php?pid=6311 从dls思路中,我整理一下自己的思路: 1.首先也是建图 2.建图结束后,一个df ...

  8. C#项目中的bin目录和obj目录的区别

    C#项目中的bin目录和obj目录的区别 1.关于bin目录和obj目录 Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Re ...

  9. dubbo-spring

    一.需求 某个电商系统,订单服务需要调用用户服务获取某个用户的所有地址:创建两个服务模块进行测试 测试预期结果:订单服务web模块在A服务器,用户服务模块在B服务器,A可以远程调用B的功能. 二.工程 ...

  10. ZOJ How Many Nines 模拟 | 打表

    How Many Nines Time Limit: 1 Second      Memory Limit: 65536 KB If we represent a date in the format ...