¿Escribir un programa en lenguaje ensamblador para mostrar la suma de números del 1 al 10?

1 Respuestas


  • ¿Es esa la pregunta completa? Si es así, siga este código

    TITLE escriba un programa que acepte n números enteros del usuario y sume los números y muestre la suma del

    promedio de los n números

    INCLUDE Irvine32.inc

    WriteString PROTO;
    ReadInt PROTO opcional ; opcional

    .data

    mess1 BYTE "Ingrese 10 números enteros:", 0

    mess2 BYTE "la suma de diez números enteros:", 0
    myarray SDWORD 10 DUP (?)

    .code
    main PROC

    mov esi, OFFSET myarray
    mov ecx, LENGTHOF myarray
    llamada inputfornum ; Llame al procedimiento para ingresar los números
    mov esi, OFFSET myarray
    mov ecx, LENGTHOF myarray
    call arraysum; procedimiento de llamada para agregar los números
    Llamada displayum; procedimiento de llamada para mostrar la suma

    salida
    principal ENDP

    inputfornum PROC; inicio del procedimiento

    inputfornum pushad; guardar los registros

    mov edx, OFFSET mess1; "Ingrese los números"  

    ; ====== INICIO del bucle
    L1:

    Llamada WriteString
    llamada ReadInt; ingrese el número número
    Llamar Crlf
    mov [esi], eax
    agregar esi, TYPE myarray

    loop L1; retroceder si ECX no es igual a cero
    popad; restaurar los registros
    ret; volver al procedimiento que hace la llamada
    inputfornum ENDP; Fin de PROC

    arraysum PROC;

    empujar esi; Guarde el esi y ecx
    push ecx
    mov eax, 0

    L2:
    agregue eax, [esi]
    agregue esi, 4
    loop L2

    pop ecx; restaurar ecx, esi
    pop esi

    ret
    arraysum ENDP

    ; procedimiento para mostrar la suma displayum

    PROC

    pushad
    mov edx, OFFSET mess2
    llamada writeString
    llamada writeInt
    llamada Crlf

    popad
    ret
    displaysum ENDP

    END main

    el programa le pide a un usuario un número diez y

    agrégalo usando el procedimiento. Si tienes alguna pregunta, no dudes en enviarme un correo electrónico a rdeus @ ben, bfit.edu

Escribe tu respuesta

Tu respuesta aparecerá después de la moderación