汇编MIPS指令集 add两数相加、syscall输出字符串、bgt分支语句、ble循环语句

您所在的位置:网站首页 add指令是怎么相加 汇编MIPS指令集 add两数相加、syscall输出字符串、bgt分支语句、ble循环语句

汇编MIPS指令集 add两数相加、syscall输出字符串、bgt分支语句、ble循环语句

2023-08-24 12:27| 来源: 网络整理| 查看: 265

关于伪指令与mips指令的区别:

MIPS标准定义cpu指令集的同时也定义了伪指令,伪指令可以使汇编语言可读性更好,更容易维护。每条伪指令都有对应的mips指令。汇编器负责将伪指令翻译成正式的mips指令。

伪指令的功能定义,可以在MARS->Help->Extended (pseudo) Instructions中查看

第一个程序: li add 指令的使用

功能:两数相加 在这里插入图片描述 运行效果 在这里插入图片描述

第二个程序:li la syscall指令的使用 程序的分段

功能:输出Hello World 在这里插入图片描述 运行结果:在run I/O中输出了Hello World 在这里插入图片描述

第三个程序 bgt分支语句

功能: 用户输入两个数字a,b 如果a>b,则输出yes 否自输出no

C语言代码 在这里插入图片描述 对应的汇编代码 在这里插入图片描述 以下可复制

#C program code # scanf("%d",&t0); # scanf("%d",&t1); # if(to>t1)printf("YES"); # else printf("NO"); #assemble code .data msg_yes: .ascii"YES\0" msg_no: .ascii"NO\0" .text #input t0 li $v0,5 #syscall read a num from I/O when v0=5 syscall #user input saved to v0 move $t0,$v0 #save v0 num to t0 #input t1 li $v0,5 #syscall read a num from I/O when v0=5 syscall #user input saved to v0 move $t1,$v0 #save v0 num to t1 #branch greater than bgt $t0,$t1,sub1 #if t0>t1, goto sub1, else goto next line #else la $a0,msg_no #print NO li $v0,4 syscall li $v0,10 #exit program syscall #if sub1: la $a0,msg_yes #print YES li $v0,4 syscall 运行结果

输入

4 5

输出

NO

输入

100 50

输出

YES

在这里插入图片描述 在这里插入图片描述

第四个程序 ble循环语句

功能:计算1+2+3+...+100

C语言代码 在这里插入图片描述 汇编语言代码 在这里插入图片描述 以下可复制

li $t0,1 #t0:looptimes(1~100) li $t1,0 #t1:sum loop: add $t1,$t1,$t0 #t1=t1+t0 add $t0,$t0,1 #t0=t0+1 #branch less equal ble $t0,100,loop #if t0


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3