【发布时间】:2018-03-21 16:09:41
【问题描述】:
我的代码中有一个错误,它应该在非负数列表中找到最大值并将该值放入 R5。列表开头的内存位置在 R2 中,数字列表的结尾用负值表示。也就是说,如果R2=x4000,并且内存的内容是:x4000=5,x4001=1,x4002=-1,那么值5应该放在R5中。但是有一个错误可以防止这种情况发生。 我的教授说我只需要在某处添加一个单行就可以了。 任何帮助表示赞赏!
这是我的汇编代码:
.ORIG x3000
SETUP LEA R2, DATA ; set R2
START AND R5,R5,#0
LOOP LDR R3,R2,#0
ADD R2,R2,#1
NOT R4,R5
ADD R4,R4,#1
ADD R4,R3,R4
BRn LOOP
ADD R5,R3,#0
BRnzp LOOP ;loop
QUIT HALT
DATA .FILL #6
.FILL #8
.FILL #11
.FILL #2
.FILL #0
.FILL #5
.FILL #-4
.END
【问题讨论】:
-
所以你来这里是为了让我们为你做这件事?也许告诉你的教授你需要更多的解释。他因教你而获得报酬......
-
我是来寻求帮助的