Assembly MIPS将二进制转换为ascii字符串

Assembly MIPS将二进制转换为ascii字符串,assembly,x86,ascii,mips,Assembly,X86,Ascii,Mips,我得到一个32位二进制数,并被告知将其转换为mips指令、整数和四个字符的ASCII字符串。我转换成dec和指令,没问题,但ascii字符串给我带来了麻烦。我有一个提供ascii值的表,但我无法从这个数字中获得四个字符的单词: 0000 0010 0001 0001 0100 0000 0010 0000 我真的很想,如果有人能简单解释如何转换,数字应该返回4个字符,应该有一些意义。我不需要任何代码,只需手动转换即可 为了了解我是否误解了这些问题,这里是全文: 32位字没有固有的含义,可以用许

我得到一个32位二进制数,并被告知将其转换为mips指令、整数和四个字符的ASCII字符串。我转换成dec和指令,没问题,但ascii字符串给我带来了麻烦。我有一个提供ascii值的表,但我无法从这个数字中获得四个字符的单词:

0000 0010 0001 0001 0100 0000 0010 0000
我真的很想,如果有人能简单解释如何转换,数字应该返回4个字符,应该有一些意义。我不需要任何代码,只需手动转换即可

为了了解我是否误解了这些问题,这里是全文:

32位字没有固有的含义,可以用许多同样有效的方式表示。将以下内容解码为二进制表示、指令、正整数和四个字符的ASCII字符串

0000 0010 0001 0001 0100 0000 0010 0000

ASCII字符串

指令? 添加$t0、$s0、$s1

正整数? 34684960


给出了二进制表示,我输入了指令/int。

据我所知,您被告知将每个8位转换为一个ascii字符,但前2个字节“不可打印”(2是ascii表示“文本开始”,17是ascii表示“设备控制1”),因此,如果输出似乎关闭,这不是您的错,只要简单地更改号码,看看它是否工作正常

f、 e:

通过简单的编码,我们就可以知道这些位代表什么(剧透警报:这是我的名字:))


你确定你正确理解了这个练习吗?如果您在ASCII表中查找这4个字节,您会发现前两个字符不能代表有意义的字符串。为了清楚起见,我提供了一些问题,我肯定遗漏了一些内容,希望您提供帮助。您的编辑是否有意将位设为“2”?不过,只要看看您的ASCII表就可以了。至少问题的这一部分不是不清楚,就是你应该逐字记下它说了什么,更不用说它不是一个有意义的字符串。谢谢你的回答,我终于找到了老师,她建议我只需要提供一个直接翻译,这可能没有意义。抱歉,2应该是二进制的下标。那么,我的翻译应该是“@”还是应该包括STX(文本开头)和DC1(设备控制1)@空格?
0100 0001 0100 1100 0100 0101 0101 1000
.text
main:

li  $v0, 5
syscall


andi    $t1, $v0, 0xFF000000
srl $t1, $t1, 24

andi    $t2, $v0, 0x00FF0000
srl $t2, $t2, 16

andi    $t3, $v0, 0x0000FF00
srl $t3, $t3, 8

andi    $t4, $v0, 0x000000FF

li  $v0, 11

la  $a0, ($t1)
syscall

la  $a0, ($t2)
syscall

la  $a0, ($t3)
syscall

la  $a0, ($t4)
syscall


li  $v0, 10
syscall