Cheyanne
Ist das die vollständige Frage? Wenn ja, folgen Sie diesem Code
TITLE schreiben Sie ein Programm, das n ganze Zahlen vom Benutzer akzeptiert und summiert die Zahlen und zeigt die Summe der Zahlen
Durchschnitt der n Zahlen
INCLUDE Irvine32.inc
WriteString PROTO ; optional
ReadInt PROTO ; optional
.data
mess1 BYTE "Geben Sie 10 ganze Zahlen ein: ",0
mess2 BYTE "die Summe von zehn ganzen Zahlen: ",0
myarray SDWORD 10 DUP(?)
.code
main PROC
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
call inputfornum ; Rufen Sie die Prozedur auf, um die Zahlen einzugeben
mov esi, OFFSET myarray
mov ecx, LENGTHOF myarray
call arraysum ; Call-Prozedur zum Hinzufügen der Nummern
Call displaysum ; Prozedur aufrufen, um die Summe anzuzeigen
exit
main ENDP
inputfornum PROC ; Start der Eingabefornum-Prozedur
pushad ; Speichern Sie die Register
mov edx, OFFSET mess1 ; "Geben Sie die Zahlen ein"
; ======START der Schleife
L1:
Call WriteString
call ReadInt ; Nummer
eingeben Call Crlf
mov [esi], eax
add esi, TYPE myarray
loop L1 ; Schleife zurück, wenn ECX ungleich null ist
poppad ; die Register wiederherstellen
ret; Rückkehr zu der Prozedur, die den Aufruf
inputfornum ENDP ausführt; Ende des PROC-
Arraysum PROC ;
drücken esi ; Speichern Sie esi und ecx
push ecx
mov eax,0
L2:
Add eax, [esi]
add esi,4
loop L2
pop ecx ; ecx wiederherstellen, esi
pop esi
ret
arraysum ENDP
; Prozedur zum Anzeigen der Summe
Displaysum PROC
pushad
mov edx, OFFSET mess2
call writeString
call writeInt
call Crlf
popad
ret
Displaysum ENDP
END main
Das Programm fragt einen Benutzer nach zehn Nummern und fügt sie mit dem Verfahren hinzu,
wenn Sie Fragen haben, senden Sie mir eine E-Mail an rdeus@ben,bfit.edu