【MIPS汇编编程练习Lab1】不同数据类型值的表示

本文介绍了使用MIPS汇编语言进行不同类型数据打印的方法,包括字符串、字符、整数、单精度浮点数及双精度浮点数。通过具体实例展示了如何利用li、la、lw及lwc1等指令来加载数据,并通过syscall执行系统调用来实现输出。
摘要由CSDN通过智能技术生成

.data域中表示变量的声名
.text域中表示指令的流程

打印 string 字符串
 .data
 	str: .asciiz "helloworld!\n" #声名一个字符串变量
 .text
	li $v0, 4	#li指令将特定数值加载到该寄存器中 此处4表示 system call code,表示准备输出地址单元的内容
	la $a0,str		#la指令,将变量的地址复制到寄存器$a0中,$a0此处表示为输出缓冲区
	syscall		#系统调用 执行代码

在这里插入图片描述

打印 char 字符
 .data
 	cha: .word 't' #声名一个字符变量
 .text
	li $v0, 4	#li指令将特定数值加载到该寄存器中 此处4表示 system call code,表示准备输出地址单元的内容
	la $a0,cha 	#la指令,将变量的地址复制到寄存器$a0中,$a0此处表示为输出缓冲区
	syscall		#系统调用 执行代码

在这里插入图片描述

打印 int 整数
 .data
 	intg: .byte 20 #声名一个字变量,32位的整数
 .text
	li $v0, 1	#li指令将特定数值加载到该寄存器中 此处1表示 system call code,表示准备输出32位立即数
	lw $a0,intg	 #lw指令,将变量(立即数)的值,加载到$a0寄存器中,$a0此处表示为输出缓冲区
	syscall		#系统调用 执行代码

在这里插入图片描述

打印Float浮点数(单精度)
.data
 	fnum: .float 3.14 #声名一个浮点数变量
 .text
	li $v0, 2	#li指令将特定数值加载到该寄存器中 此处2表示 system call code,表示准备输出32位浮点数
	lwc1 $f12,fnum	 #lwc1指令,将变量(浮点数)的值,加载到$f12寄存器中,$f12此处表示为浮点输出缓冲区
	syscall		#系统调用 执行代码

在这里插入图片描述

打印Double浮点数(双精度)
.data
	dnum: .double 5.123	
	zerodouble: .double 0.0
.text
	ldc1 $f2,dnum
	ldc1 $f0,zerodouble
	
	li $v0,3
	add.d $f12,$f2,$f0
	syscall

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值