资源描述:
《MIPS汇编范例》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、mips汇编语言之实现swap函数收藏此程序用来交换两个整数已在pcspim下编译通过#########################################################programedbysteviezou####purpose:toswaptwovalues######10-15-2008########################################textsegment###############.text.globlmainmain:la$t0,number#读取两个整数并放入寄存器$t1,$t2lw$t1,0($t0)lw$t2,
2、4($t0)li$v0,4#打印msg1la$a0,msg1syscallli$v0,1#打印转换前$t1中的值move$a0,$t1syscallli$v0,4#打印msg2la$a0,msg2syscallli$v0,1#打印转换前$t2中的值move$a0,$t2syscallmove$t3,$t1#关键部分,在寄存器间move数据move$t1,$t2move$t2,$t3li$v0,4#打印msg3la$a0,msg3syscallli$v0,1#打印转换后$t1中的值move$a0,$t1syscallli$v0,4#打印换行符/nla$a0,msg4syscallli$v0,1
3、#打印转换后$t2中的值move$a0,$t2syscall###########datasegment##############.datanumber:.word12,34msg1:.asciiz"thefirstnumberis:"msg2:.asciiz"thesecondnumberis:"msg3:.asciiz"nowtheyareswappedas:"msg4:.ascii""##endoffile程序运行结果为:本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yihaozou/archive/2008/10/19/30
4、81322.aspxmips汇编简单实例——一个小计算器收藏其实开始的时候一直在看mips的指令格式,看了、忘了,没什么效果。现在通过这个例子,简单训练一下:mips汇编中:常用寄存器的使用;系统调用:1(print_int),4(print_str),5(read_int),10(exit);算术运算:add,sub,mul,div;逻辑运算及跳转;上代码:(汇编写的少,代码书写、风格还很差劲,感谢请大虾指教):viewplaincopytoclipboardprint?#sampleexample'asmallcalculater’.text#textsection.globlmain#
5、callmainbySPIMmain:la$t0,value#loadaddress"value"into$t0la$a0,msg0li$v0,4syscall#print"pleasechoosetheoperation:"li$v0,5syscallsw$v0,8($t0)la$a0,msg1li$v0,4syscall#print"firstnum:"li$v0,5syscallsw$v0,0($t0)la$a0,msg2li$v0,4syscall#print"secondnum:"li$v0,5syscallsw$v0,4($t0)#readtheothernumla$a0,new
6、lineli$v0,4syscall#print""lw$t1,0($t0)#loadthefirstnumlw$t2,4($t0)#loadthesecondnumlw$t3,8($t0)#loadtheoperationbeq$t3,1,addOp#if+beq$t3,2,subOp#if-beq$t3,3,mulOp#if*beq$t3,4,divOp#if/addOp:add$t4,$t1,$t2#$t1+$t2=$t4sw$t4,12($t0)#la$t5,addFlagjprintResultsubOp:sub$t4,$t1,$t2#$t1-$t2=$t4sw$t4,12($
7、t0)la$t5,subFlagjprintResultmulOp:mul$t4,$t1,$t2#$t1*$t2=$t4sw$t4,12($t0)la$t5,mulFlagjprintResultdivOp:div$t4,$t1,$t2#$t1/$t2=$t4sw$t4,12($t0)la$t5,divFlagjprintResultprintResult:lw$a0,0($t0)li$v0,1syscall