Другие языки программирования и технологии

Код assembler. Ввести массив из 10 чисел и вычислить сумму его элементов, меньших 10. Помогите, пжлст

format PE console
entry N173194210
include "win32ax.inc"

Len = 10

section ".code" code readable executable
N173194210:
    mov edx, Message
    mov ecx, Len
    mov edi, Array
@@:
    mov eax, Len + 1
    sub eax, ecx
    push ecx
    cinvoke printf, edx, eax
    cinvoke scanf, inFormat, edi
    pop ecx
    mov edx, Prompt
    add edi, 4
    loop @R

    xor ebx, ebx
    mov ecx, Len
    mov esi, Array
@@:
    lodsd
    cmp eax, 10
    jge Next
    add ebx, eax
Next:
    loop @R

    cinvoke printf, Result, ebx

    cinvoke getch
    cinvoke exit, NULL

section ".data" data readable
Message db "Введите массив из 10 элементов: ", 13, 10
Prompt db "%2u-й элемент: ", 0
Result db 10, "Сумма элементов, меньших 10 = %d", 13, 10, 10,\
    "Для завершения работы нажмите любую клавишу... ", 0
inFormat db "%d", 0

section ".bss" data readable writeable
Array rd Len

section ".idata" import data readable
library msvcrt, "msvcrt.dll"
import msvcrt, getch,"_getch", printf,"printf",\
    scanf,"scanf", exit,"_exit"

РШ
Руслан Шакуро
51 590
Лучший ответ

Похожие вопросы