如何将简单字符串cpp变量转换为MIPS代码

how to convert simple string cpp variable to MIPS code

本文关键字:转换 MIPS 代码 变量 cpp 简单 字符串      更新时间:2024-05-24

听起来很简单,但我已经搜索了一个小时左右。

我想知道是否有一种方法可以让我用字符串启动寄存器,而不必将字符串存储在.data中。

例如,我可以;CCD_ 1,其具有设置$t0=0的效果。这和我在cpp中说int a=0是一样的。

然而,对于我来说,有没有类似的方法将std::string a = "Hello"转换为MIPS?

目前我可以做一些类似的事情

.data
mes: .asciiz "Hello" #declares 'mes' as "Hello"
.text
la $t0, mes #sets $t0 equals to the content of 'mes'

但我希望我能跳过第一步,做一些类似的事情sc $t0, "Hello" #set $t0 to characters "Hello" (note: this is not valid MIPS)

字符串只不过是指向以0值字节结束的字节/字符的指针。由于MIPS编译器没有本机c++,我们可以用常识来争论在MIPS中定义和初始化字符串的最简单方法是

.data
mes: .asciiz "Hello"
.text
la $t0, mes