本文已收录到:MIPS汇编语言学习笔记 专题
- MIPS汇编语言学习笔记03:print HelloWorld
- MIPS汇编语言学习笔记04:print character
- MIPS汇编语言学习笔记05:print integer
- MIPS汇编语言学习笔记06:print a float
- MIPS汇编语言学习笔记07:print a double
- MIPS汇编语言学习笔记08:Adding Integers
- MIPS汇编语言学习笔记09:Subtracting Integers
- MIPS汇编语言学习笔记10:Multiplying Integers (mul方法)
- MIPS汇编语言学习笔记11:Multiplying Integers (mult方法)
- MIPS汇编语言学习笔记12:Multiplying Integers sll
- MIPS汇编语言学习笔记13:Dividing Integers part 1
- MIPS汇编语言学习笔记14:Dividing Integers part 2
- MIPS汇编语言学习笔记15:Introduction to Functions
- MIPS汇编语言学习笔记16:Function Arguments and Return Values
- MIPS汇编语言学习笔记17:将寄存器保存到堆栈
- MIPS汇编语言学习笔记18:函数嵌套调用、递归
- MIPS汇编语言学习笔记19:获取用户输入的整数
- MIPS汇编语言学习笔记20:获取用户输入的单精度浮点数
- MIPS汇编语言学习笔记21:获取用户输入的双精度浮点数
- MIPS汇编语言学习笔记22:获取用户输入的文本
- MIPS汇编语言学习笔记23:if 语句分支指令
- MIPS汇编语言学习笔记26:MIPS While 循环
- MIPS汇编语言学习笔记27:数组
- MIPS汇编语言学习笔记28:使用While循环打印数组
- MIPS汇编语言学习笔记29:数组初始化
- MIPS汇编语言学习笔记30:浮点数(小数)运算
- MIPS汇编语言学习笔记32:浮点数 与 If 语句
视频:
https://www.bilibili.com/video/BV19J411y7pA?p=7
程序功能:
设定两个双精度浮点型数据,将其相加后打印输出。
代码:
.data myDouble: .double 7.202 zeroDouble: .double 0.0 .text # 加载 load ldc1 $f2, myDouble ldc1 $f0, zeroDouble li $v0, 3 add.d $f12, $f2, $f0 syscall
通过前几节的学习,加上通过MARS的单步调试,是能够读懂程序的。
这里需要提的就是ldc1指令:从内存地址的单元中读取双字数据并保存到寄存器中。
与lw指令类似,但lw指令是同内存中加载单字数据到寄存器中。
关于双字节在内存中的存储问题,我单独又录了一个视频,简单的说下双字节的存储和字节序(大端法、小端法)问题。
关于字节序,这里简单的两张图就能区分大端法和小端法:
讲解视频:
nb,这个笔记真的是拯救了我的coursework
提示:博客中的视频如果播放卡顿可以在阿里云盘上下载/在线看视频:
「2021-03-18-14-17-30.mp4」https://www.aliyundrive.com/s/xnTEqyHGKnY
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。
捉虫:“与lw指令类型”,应该是“类似”?
感谢捉虫,已经修改 :good: