Assembly 如何循环这个循环,直到有一个人作为输出

Assembly 如何循环这个循环,直到有一个人作为输出,assembly,arm,Assembly,Arm,我有生成以下输出的代码。如何再次循环代码以生成如下所示的输出 verses DEFW 4 temp DEFW 0 text DEFB " men went to mow a meadow\nWent to mow a meadow\n",0 text1 DEFB " men, ",0 text2 DEFB "1 man and his dog, spot\nWent to a meadow",0

我有生成以下输出的代码。如何再次循环代码以生成如下所示的输出

  verses    DEFW    4
    temp    DEFW    0
    text    DEFB    " men went to mow a meadow\nWent to mow a meadow\n",0
    text1   DEFB    " men, ",0
    text2   DEFB    "1 man and his dog, spot\nWent to a meadow",0



        ALIGN

    main    LDR R0,verses   
        SWI 4

        ADR R0,text
        SWI 3

        LDR R0,verses
        SWI 4

        ADR R0,text1
        SWI 3

        LDR R0,verses



    loop SUB R0,R0,#1
        SWI 4
        STR R0,verses
        ADR R0,text1
        SWI 3
        LDR R0,verses
        CMP R0,#2
        BNE loop

        ADR R0,text2
        SWI 3

        SWI 2
这是电流输出

我不知道如何才能做到这一点


添加架构。我怀疑MIPS,但我不确定。这看起来像是添加封闭循环的问题。每节诗的第1行取决于循环变量。第2行总是一样的。第3行需要一个嵌套的循环,最多2人,然后每次“1人[etc]”。第4行总是一样的。请注意第1行中的棘手部分,无论是
man
还是
man
输出。现在坚持使用
men
,最后解决这个问题。将“1人”部分作为一个单独的字符串。对于循环计数器,使用r0以外的其他寄存器。现在您正在将它用于所有内容,它将被覆盖。伪代码可能会有所帮助。