MIPS汇编中的分段处理
.data #数据段
.text #代码段
传送指令
加载立即数指令 li
li(load immediate) :用于将立即数传送给寄存器
li $t0,1 ;十六进制数据使用...move
用于将一个寄存器中的数据传送至另一个寄存器当中
move $t0,$t1 # 将寄存器$t1中的数据传送至$t0
系统服务指令 syscall
在C语言中输出文本可以使用printf函数,但是汇编中没有...sub # 如果$t0中的数据小于$t1,则跳转到sub分支,执行sub中的代码,否则,按照顺序执行bgt下面的代码, sub是一个代号,可以自定义
sub:
练习1: 将以下c代码转换成mips汇编代码...:
scanf("%d",$a);
scanf("%d",$b);
if(a>b){
printf("YES");
}else{
printf("NO");
}
汇编代码:
# 用$t0...,如果我们要依次打印1,2,3三个整数,那么汇编如下:
print1:
li $v0,1
li $a0,1
syscall
jr $ra
print2:
li $v0,1
li $a0,2