mips程序的代码转换

mips程序的代码转换,mips,Mips,我想知道是否有人能帮我找到一个简单的解决方案。我在汇编中有一个程序,它从0-31开始计算小数,从第五位开始计算二进制数。我想将程序转换为二进制计数0-31,并在控制台中以正常计数从右数字开始显示它。以下是第一个代码: main: addi $9,$0,27 #example number addi $10,$0,5 addi $2,$0,1 L1: and $4,$9,$2 syscall srl $9,$9,1 addi

我想知道是否有人能帮我找到一个简单的解决方案。我在汇编中有一个程序,它从0-31开始计算小数,从第五位开始计算二进制数。我想将程序转换为二进制计数0-31,并在控制台中以正常计数从右数字开始显示它。以下是第一个代码:

main:

    addi $9,$0,27 #example number

    addi $10,$0,5

    addi $2,$0,1

L1:

    and $4,$9,$2

    syscall

    srl $9,$9,1

    addi $10,$10,-1

    nbe $10,$0,L1

    end
提前谢谢你

刚刚找到它:

.data 
.text

main:
    addi $9,$0,23
    addi $10,$0,5
    addi $2,$0,1
    sll $8,$2,4  
Loop1:
    and $4,$8,$9
    srl $4,$4,4
    syscall
    sll $9,$9,1  
    addi $10,$0,-1
    bne $10,$0, Loop1
.end main

那么你的问题是什么?没有人会为你做所有的事情,但是如果你有一个特定的问题阻碍你完成这个任务,那么请说明它是什么。这个未注释的代码应该做什么,它在做什么?提示:有一个
srlv
指令(尽管解决这个问题的方法不止一种).这段代码在屏幕上显示了一个二进制数,从'00000'开始,0'10000'开始,1'01000'结束,直到31。我想反转它,程序将显示1'00001',2'00010'结束时的确切二进制数,使用诸如移位之类的简单指令,我不需要十进制到二进制的完整代码。只需要一个提示,说明使用哪种逻辑移位,以及什么样的逻辑指令是“and”和“or”。我刚开始学Mips。谢谢你,迈克尔,我会试试的。