我必須對由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? –