Jacynthe
Schreiben Sie ein Assemblerprogramm, um die folgenden Zahlen mit Bubble-Sort in absteigender Reihenfolge mit Vorzeichen zu sortieren:
-10, -30, -25, 50, 15, 20, 35, 40, 45, 0
Das heißt, am Ende Ihres Programms , die Zahlen müssen in der folgenden Reihenfolge stehen:
50, 45, 40, 35, 20, 15, 0, -10, -25, -30
Bo
Machen Sie Ihre Hausaufgaben selbst. Gehen Sie zu
Seite 37 der CS401 Handouts und Sie werden dort Hilfe bekommen.
Mit
freundlichen Grüßen Instructor CS401
Wyman
Schreiben Sie ein Assemblerprogramm, um 3 Zahlen einzugeben, dann addieren Sie die Zahlen und berechnen Sie den Durchschnitt gerundet, drucken Sie die Summe und den Durchschnitt aus?
Jerad
Daten: Dw -10, -30, -25, 50, 15, 20, 35, 40, 45, 0
swap: Db 0
bubblesort: Dec cx ;letztes Element nicht verglichen
shl cx,1
mainloop: Mov si,0 ;initialize Array-Index auf null
mov word [swap],0 ;rest swap flage auf no swap
innerloop: Mov ax,[bx+si] ;Zahl in ax
laden cmp ax,[bx+si+2] ;mit nächster Zahl vergleichen
jl noswap ;kein Tausch wenn bereits in Ordnung
mov dx,[bx+si+2 ;zweites Element in dx laden
mov [bx+si],dx ;ersten Nummer in zweiter
mov speichern
[bx+si+2],ax ;zweites speichern numberin first
mov word [swap],1 ;Flag, dass ein Swap durchgeführt wurde
noswap: Add si,2 ;si zum nächsten Index vorrücken
cmp si,cx ;sind wir endlich index
jle innerloop ;wenn nicht vergleiche die nächsten beiden
cmp-Worte [swap],1 ;prüfe, ob ein Swap durchgeführt wurde
jnl mainloop ;wenn ja, mach einen weiteren Durchgang
ret ;gehe zurück, wo wir
hergekommen sind
start: Mov bx,data ;Start des Arrays in bx senden
mov cx,10 ;Anzahl der Elemente in cx senden
Bubblesort aufrufen ;unsere Subroutine aufrufen