汇编MIPS指令集 add两数相加、syscall输出字符串、bgt分支语句、ble循环语句 |
您所在的位置:网站首页 › add指令是怎么相加 › 汇编MIPS指令集 add两数相加、syscall输出字符串、bgt分支语句、ble循环语句 |
关于伪指令与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 |