ASCII二进制到十六进制和十进制

时间:2018-08-22 08:21:57

标签: assembly binary hex ascii mips

我一直在尝试按照这些说明来制作ASCII二进制十六进制转换器,但是在执行第3步及以后的操作时遇到了麻烦。 (不允许使用syscall 1和34)。希望对此有所帮助。

  1. 读取用户输入的程序参数(8位二进制数的补码二进制数)。

2。打印用户输入。

3。将ASCII字符串转换为带符号扩展的整数值,并将其存储在$ s0中。

4。将符号扩展的整数值转换为ASCII字符串,该字符串将其显示为十六进制数字。将ASCII字符串打印到控制台。

5。将符号扩展的整数值转换为ASCII字符串,该字符串将其显示为十进制数字。将ASCII字符串打印到控制台。


到目前为止的当前代码

.data
    prompt1: .asciiz "You entered the binary number: \n"
    prompt2: .asciiz "\nThe hex representation of the sign-extended number is: \n"
    prompt3: .asciiz "\nThe number in decimal is: \n"

.text



main:

li $v0,4       
la $a0,prompt1         # Insert value
syscall

lw $a1 ($a1)          # print argument
la $a0 ($a1)
li $v0 4              
syscall

la $a0,prompt2         # Insert value
syscall

signextend:

sll $a0, $a0, 24
sra $a0, $a0, 24

li $v0, 4
la $a0,              
syscall

我现在正在尝试打印出符号扩展部分。

0 个答案:

没有答案