因为一个课程涉及mips汇编语言,自己做一些笔记。
博客https://blog.csdn.net/u012837895/article/details/79855896
还有一个b站的,查mips能查到那个文章。
计算机结构
(注意 汇编使用的地址也是逻辑地址,有偏移量,通过硬件进行转化。比如一个 la操作就会进行对内存的好几次访问)
1 mips寄存器
具体寄存器操作贴一个图
mips中断操作(很多都是IO相关)
1 往a0里写数据。
3种方式。1 写立即数 li $a0 1
2 寄存器寻址
sw $t0 $s0 // t0寄存器内容放到s0所在的内存地址中
lw $t0 $s0 从s0中的内容做地址,从内存中读放t0中。
sw s0) 带偏移量
2 设置关键字。4是打印字符串。1是输出数字。具体百度。
3 进行中断syscall (喜欢printf调试代码的同学有福了。就这样搞就行)
另外还有俩问题。写一下
1 move t3 是移动,但是我看代码,好多有 add t3,$zero (zero永是0,所以这俩意思一样,但是区别是啥。)
2 跳转指令这里还不太会。jar 跳转出一个死循环。。jr没用过。我跳转是用 if语句跳转的。
这里需要加强一下。