繁体   English   中英

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

[英]how to convert simple string cpp variable to MIPS code

听起来很简单,但我现在一直在寻找一个小时左右的时间。

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

例如,我可以; li $t0, 0具有设置 $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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM