Schreiben Sie ein Assemblersprachenprogramm, um die Summe der Zahlen von 1 bis 10 anzuzeigen?

1 Antworten


  • 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

Schreibe deine Antwort

Ihre Antwort erscheint nach der Moderation appear