Для беззнаковых и положительных чисел остаток от деления на 2 n – это последние n бит числа. Поэтому для получения остатка от деления на 2 n нужно выделить эти последние n бит с помощью операции AND.
mov eax, x
and eax, 111b; EAX = EAX % 23
Для отрицательного делимого x и положительного делителя n (x % n) = -(-x % n).
mov eax, x
neg eax
and eax, 1111b; EAX = EAX % 24
neg eax
Программа. Процедуры