MIPS编写数字列表的实践

MIPS编写数字列表的实践,mips,Mips,根据以下问题的要求 用MIPS32汇编语言编写一个程序,读取一个正整数N并打印出以下内容: 1. 12 123 1234 12345 ... 1 2 3 4 5 6 ... N 下面是我的代码,如下所示: .data word: .asciiz "Please enter a random row: \n" .text .globl main main: la $a0, word # load word li $v0, 4

根据以下问题的要求

用MIPS32汇编语言编写一个程序,读取一个正整数N并打印出以下内容: 1. 12 123 1234 12345 ... 1 2 3 4 5 6 ... N

下面是我的代码,如下所示:

    .data
word:   .asciiz "Please enter a random row: \n"
    .text
    .globl main

main:   
    la $a0, word        # load word
    li $v0, 4
    syscall

    li $v0, 1           # service 1 is print integer
    move $a0, $t0       # move register to be printed into argument 
register $a0
    syscall

    lw $s0, row         # $s0 = row
    addi $s0, $s0, -1   # for accommodating loop condition
    li $s1, 1           # set i = 1
    li $s2, 1           # set j = 1


loop1:
    blt $s0, $s1, Exit  # for(i = 0; i < row; i++)
    addi $s1, $s1, 1    # i++
    li $s2, 1           # resets j to 1 after every iteration of for 
loop
    move $a0, $t0       # move register to be printed into argument 
register $a0
    j loop2             # executing the nested for loop


loop2:
    blt $s1, $s2, loop1 # for(i = 0; i < j; i++)
    li  $v0, 1          # read_double => scanf("%d")
    move $a0, $t0       # move register to be printed into argument $a0
    syscall
    j loop2


   li $v0, 10           # loading exit code
   syscall              # execute exit
.data
word:.asciiz“请输入一个随机行:\n”
文本
格洛博梅因酒店
主要内容:
la$a0,单词#加载单词
李$v0,4
系统调用
li$v0,1#服务1为打印整数
移动$a0,$t0#移动要打印到参数中的寄存器
注册$a0
系统调用
lw$s0,第#$s0行=第
附加$s0,$s0,-1#用于调节回路条件
li$s1,1#集i=1
li$s2,1#集j=1
循环1:
blt$s0,$s1,退出#for(i=0;iscanf(“%d”)
移动$a0,$t0#移动要打印到参数$a0中的寄存器
系统调用
j循环2
li$v0,10#加载退出代码
系统调用#执行退出

由于我倾向于运行它,因此我仍然无法实现预期的结果。

下面是如何编写代码来实现这一点:

要求用户输入N值并保存(&S)

创建一个循环,该循环将持续到N次迭代(请参见条件分支)

对于N次迭代,保存值1,1+=1。。。在登记册上

记住每个单词是4个字节。确保您正在更改访问注册表的位置以正确保存值,否则它们将相互覆盖

使用另一个循环打印所有值(同样,条件分支)


如果您需要代码方面的帮助,请尝试先编写一些。:-)

任务是什么?编写C代码来实现这一点?编写MIPS代码来执行此操作?或者将现有的C转换为MIPS?无论如何,请展示你自己的努力,并提出更具体的问题。没有人会(或应该)仅仅为您提供免费的代码编写服务。特别是不要做作业。你好,谢谢你的回复。现在我已经在上面提供了我的代码,希望你能给我一些反馈。