[masm32] Сколько элементов одномерного массива удовлетворяют условию c <= a[i]<=d - Assembler
Формулировка задачи:
Для ассемблера masm32 нужно написать программку, которая находит, сколько элементов одномерного массива удовлетворяют условие c <= a[i]<=d
Буду рада любой помощи! )
Решение задачи: «[masm32] Сколько элементов одномерного массива удовлетворяют условию c <= a[i]<=d»
textual
Листинг программы
.486 .model flat, stdcall option casemap :none include \masm32\include\windows.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\masm32.inc includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\masm32.lib .data N dd 16 Array dd 6, -51, 87, 3, -90, -23, 60, 8, -36, -51, -71, -95, 2, 98, -15, -25 RangeLo dd -20 RangeHi dd 20 Result dd ? aszMsgResult db 'Result: ', 0 hConsoleOutput HANDLE ? hConsoleInput HANDLE ? aszPressEnter db 0Dh, 0Ah, 0Dh, 0Ah, "Press ENTER to exit", 0 Buffer db 1024 dup(?) BufLen dd ? .code start: ; получение описателей ввода и вывода консоли invoke GetStdHandle, STD_INPUT_HANDLE mov hConsoleInput, eax invoke GetStdHandle, STD_OUTPUT_HANDLE mov hConsoleOutput, eax invoke ClearScreen ;подсчёт количества элементов в поддиапазоне mov [Result], 0 cld lea esi, [Array] mov ecx, [N] @@ForI: lodsd cmp eax, RangeLo jl @@Next cmp eax, RangeHi jg @@Next inc Result @@Next: loop @@ForI ;вывод результата invoke WriteConsole, hConsoleOutput, ADDR aszMsgResult,\ LENGTHOF aszMsgResult - 1, ADDR BufLen, NULL invoke ltoa, [Result], ADDR Buffer invoke StrLen, ADDR Buffer mov [BufLen], eax invoke WriteConsole, hConsoleOutput, ADDR Buffer,\ BufLen, ADDR BufLen, NULL ;ожидание нажатия ENTER invoke WriteConsole, hConsoleOutput, ADDR aszPressEnter,\ LENGTHOF aszPressEnter - 1, ADDR BufLen, NULL invoke ReadConsole, hConsoleInput, ADDR Buffer,\ LENGTHOF Buffer, ADDR BufLen, NULL invoke ExitProcess, 0 ;завершение программы invoke ExitProcess, 0 end start
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д