Assembly MIPS将二进制转换为ascii字符串
我得到一个32位二进制数,并被告知将其转换为mips指令、整数和四个字符的ASCII字符串。我转换成dec和指令,没问题,但ascii字符串给我带来了麻烦。我有一个提供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位字没有固有的含义,可以用许
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