我必须对由ARY1给出的数组进行排序,在SORT函数中对其进行排序,然后将排序后的数组存储到ARY1S中。我选择不包括ARY2,但它的功能完全相同。 SORT应该适用于ARY1和ARY2。我使用了bubblesort算法(C++)并尽力将其转换为程序集,但遇到了错误。汇编语言Bubblesort
我D0
是数组的长度
我D1
是我
我D2
将Ĵ
和D3
是临时
这是我尝试(这不起作用)不仅因为语法问题:
ARY1 DC.B 7 //array size
DC.B 56,-5,8,23,-9,18,4 //my array
ARY1S DS.B 7 //storage size
SORT1 MOVEA.L #ARY1, A0 //moving values into A0
MOVEA.L #ARY1S, A1
MOVE.B (A0)+, D0 //Storing size (7) into D0
BSR SORT
SORT CMP.B D0,D1
BGE DONE
LOOP CMP.B D0,D2
BGE INC
CMP (A1,D2),(A1,D1) //this is not compiling/wrong syntax
BLE NOTLESS
MOVE.B (A1,D2),D3
MOVE.B (A1,D1),(A1,D2)
MOVE.B D3,(A1,D1)
NOTLESS ADDQ #1, D2
BRA LOOP
INC ADDQ #1, D1
MOVE.B D1,D2
BRA SORT
DONE RTS
此外,如果有人可以帮助我注释的代码行不起作用。提示语法错误。
哦哦感谢你,参考手册是两倍书 –
也一样好,如果我所有的值移入A0再没有什么,但存储在A1,所以做我必须将A0移动到A1然后排序,或在A0中排序然后将其移动到A1? –