Реализации алгоритмов/Решето Сундарама: различия между версиями

Содержимое удалено Содержимое добавлено
→‎asm: оформление
Строка 58:
;Инициализация массива Prime, нулевой элемент которого, соответствующий
;простому числу 3, равен 1. При этом отсеиваются все числа, кратные 3-ем.
mov Byte Ptr Prime[0],1 ; простое
xor eax,eax
mov ecxeax, DWord Ptr NOdd1
mov bl,4
@@INIT:
mov Word Ptr Prime[eax],0101h ; возможно, простые числа
dec bl
jzadd @@NOTPRIME eax,2
mov Byte Ptr Prime[eax],10 ; возможносоставное число, простоекратное число3-ём (исключение столбца)
inc eax
loopcmp @@INITeax,DWord Ptr NOdd
jmpjb @@NEXTINIT
@@NOTPRIME:
mov Byte Ptr Prime[eax],0 ; составное число, кратное 3-ём (исключение столбца)
mov bl,3
inc eax
loop @@INIT
;======================
;Отсеивание остальных чисел
@@NEXT:
mov eax,12-1 ; второй диагональный элемент матрицы минус единица
mov ecx,5 ; период второй строки