本文已收录到: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 语句
视频:
YouTube原视频(带机翻字幕):https://www.youtube.com/watch?v=m_iQTl9lbQE&list=RDCMUCPZ473Q4kbG98JmL71PgXTA&index=22
哔哩哔哩:https://www.bilibili.com/video/BV19J411y7pA?p=6
代码功能:
打印出一个单精度浮点数(单精度小数)
代码:
lwc1指令与lw指令大致相似,功能都是从内存中加载一个字到寄存器中,也就是将内存中的内容加载到寄存器中。如果不明白lw指令可以参考:MIPS中,lw和la指令有什么区别?
其中,lwc1指令是针对FPU(协处理器),也就是针对浮点数专门拎出来的一条指令。功能与lw一样。
# 这里要注意,浮点数会进入协处理器CP1 .data PI: .float 3.14 .text li $v0, 2 # 中断调用号 2 lwc1 $f12, PI syscall
大致流程与之前的打印字符、打印整型一样。
- 设置变量(标签)PI,将其存储的内容放入数据段(在内存中)中。
- 先设置中断调用号,保存至指令的寄存器v0中。
- 将标签PI存放的内存中存储的实际值(3.14)加载到寄存器f12中。
- 调用系统中断,打印。
关于浮点数,这里我录制了一个视频,详细讲解下。
视频中用到的小工具:IEE
给大佬献上膝盖
提示:博客中的视频如果播放卡顿可以在阿里云盘上下载/在线看视频:
「2021-03-16-13-57-02.mp4」https://www.aliyundrive.com/s/iD8rDwQ8qu8
点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。