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以外的其他寄存器。现在您正在将它用于所有内容,它将被覆盖。伪代码可能会有所帮助。