.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