MIPS汇编语言学习笔记03:print HelloWorld

本文已收录于 MIPS汇编语言学习笔记 系列,共计 27 篇,本篇是第 1 篇

本文已收录到:MIPS汇编语言学习笔记 专题

视频:

https://www.bilibili.com/video/BV19J411y7pA?p=3

 

程序要求:

打印出“HelloWord”。

 

程序分析:

每个mips程序都分为数据部分(.data)和文本部分(.text)。

# .data 包含程序所有的数据部分,就像c语言中的 变量、
.data
	# 这是一个消息,需要将消息放入 随机存储寄存器 中,在此之前我必须告诉其数据类型是什么。
	myMessage:	.asciiz "Hello World \n"

# 文本部分包含所有的声明
.text
	li $v0, 4	# 连接加载指令,将立即数 4 放入 $v0 寄存器中。如果不清楚可以看MARS软件的单步调试。
	la $a0, myMessage
	syscall

.asciiz数据类型:类似String数据类型。

下图是MARS软件的自动提示功能,显示出了很多mips数据类型(更多mips数据类型可参考下面的pdf文档)。

关于mips数据类型,可以看下面的pdf文档。总结了很多mips数据类型。

补充:关于浮点数操作指令

L.S 从存储器中读取单精度浮点数到寄存器中 L.S R1, 0(R2)

L.D 从存储器中读取双精度浮点数到寄存器中 L.D R1, 0(R2)

S.S 把单精度浮点数从寄存器存储到存储器中 S.S R1, 0(R2)

S.D 把双精度数据从存储器存储到存储器中 S.D R1, 0(R2)

MOV.S 把一个单精度浮点数从一个浮点寄存器复制到另一个浮点寄存器 MOV.S F0,F1

MOV.D 把一个双精度浮点数从一个浮点寄存器复制到另一个浮点寄存器 MOV.D F0,F1

ADD.S 把一个单精度浮点数加上一个双精度浮点数,结果是单精度浮点数 ADD.S F0,F1,F2

ADD.D 把一个双精度浮点数加上一个单精度浮点数,结果是双精度浮点数 ADD.D F0,F1,F2

SUB.S 一个双精度浮点数减去一个单精度浮点数,结果为单精度 SUB.S F1,F2,F3

SUB.D 一个双精度浮点数减去一个单精度浮点数,结果为双精度浮点数 SUB.D F1,F2,F3

MUL.S 一个双精度浮点数乘以一个单精度浮点数,结果为单精度浮点数 DMUL.S F1,F2,F3

MUL.D 一个双精度浮点数乘以一个单精度浮点数,结果为双精度浮点数 DMUL.D F1,F2,F3

DIV.S 一个双精度浮点数除以一个单精度浮点数,结果为单精度浮点数 DIV.S F1,F2,F3

DIV.D 一个双精度浮点数除以一个单精度浮点数,结果为双精度浮点数 DIV.D F1,F2,F3

# .data 包含程序所有的数据部分,就像c语言中的 变量、
.data
	# 这是一个消息,需要将消息放入 随机存储寄存器 中,在此之前我必须告诉其数据类型是什么。
	myMessage:	.asciiz "Hello World!\n"

# 文本部分包含所有的声明
.text
	li $v0, 4	# 连接加载指令,将立即数 4 放入 $v0 寄存器中。作用:打印字符串,在屏幕上输出字符串。
	la $a0, myMessage	# 把myMessage在主存(RAM)中的地址拷贝到寄存器a0中。
	syscall

B站限制未登录最高720P画质。可切换其他播放源或点击右上角“去bilibili观看”登录后享受1080p画质。

疑问?li $v0, 4 指令是干啥用的??

答:MIPS编程之系统调用,syscell指令,system call table

作者: 高志远

高志远,24岁,男生

《MIPS汇编语言学习笔记03:print HelloWorld》有5条评论

  1. 提示:博客中的视频如果播放卡顿可以在阿里云盘上下载/在线看视频:
    「2021-03-14-13-56-31.mp4」https://www.aliyundrive.com/s/y2GJijZYdgj
    点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

    B站也上传了:https://www.bilibili.com/video/BV1jY411b7Sd/

    1. 启动MARS后,菜单 – Settings – Editor – Font Size 可以修改文本大小。右边和下面软件本身的文字大小我也不知道怎么调,最简单的方法是调整下分辨率,Win10中把缩放改为125%,这样文字不算小。 :hehe:

  2. 感谢您的讲解,萌新结合您的笔记懂得了很多。大家可以多多支持一下。当然您也可以在访问文档的时候可以更加熟练一点,当然只是建议

    1. 非常开心您的访问和留言,这里MIPS笔记中的视频是我学习期间录制的,可能会有一些错误,大家可以一起学习。感谢您的建议,我会改进的 :haha:

发表评论

邮箱地址不会被公开。