ОТ
Оксана Тосун

Люди, которые хоть немного разбираются в ассемблере, помогите написать программу)

Поиск всех составных чисел на заданном диапазоне.
Надо написать программу, отображающую на экране все составные числа на диапазоне от 2 до введённого с клавиатуры целого положительного числа N. При запуске, программа должна запросить верхний предел диапазона проверяемых чисел с помощью функции scanf(). Все числа диапазона должны быть проверены на простоту и составные — выведены на экран с помощью функции printf().

АС
Алексей Свет-Ясный

MASM + Masm32 SDK, функции scanf и printf импортируются из библиотеки msvcrt.lib.
Проверка корректности ввода с клавиатуры не производится.

.386
.model flat, stdcall
option casemap:none

include kernel32.inc
include msvcrt.inc
includelib kernel32.lib
includelib msvcrt.lib

.stack 100h

.data
Prompt db 'Введите верхний предел диапазона: ',0
InpFormat db '%i',0
OutFormat db '%8i',0
Result db 'Составные числа от 2 до %i:',13,10,0
QuitPrompt db 13,10,10,'Для завершения работы нажмите любую клавишу... ',0

.data
N dd ?
X dd ?
IntBuf dd ?

.code
N88738523:
invoke crt_printf,addr Prompt
invoke crt_scanf,addr InpFormat,addr N
mov dword ptr X,2
finit
fstcw word ptr IntBuf
or word ptr IntBuf,0C00h
fldcw word ptr IntBuf
invoke crt_printf,addr Result,N
MainLoop:
mov eax,X
cmp N,eax
jl Quit
fild X
fsqrt
fistp IntBuf
mov ecx,IntBuf
TestLoop:
cmp ecx,2
jb NextNumber
mov eax,X
cdq
idiv ecx
test edx,edx
jz PrintNumber
dec ecx
jmp TestLoop
PrintNumber:
invoke crt_printf,addr OutFormat,X
NextNumber:
inc dword ptr X
jmp MainLoop
Quit:
invoke crt_printf,addr QuitPrompt
WaitKey:
invoke crt__kbhit
test eax, eax
jz WaitKey
invoke ExitProcess,0
end N88738523

Похожие вопросы
помогите написать программу на ассемблере.
Люди, помогите с Ассемблером!!!
Помогите написать программу на ассемблере
помогите написать программу в с++ или на ассемблере
Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
Помогите написать программу на языке ассемблера!!!!
Помогите откомментировать программу на ассемблере....
помогите написать программы в ассемблере
[Ассемблер] Помогите дописать комментарии к программе
Помогите пожалуйста написать решение в ассемблере.