Online Compiler Nasm

extern io_get_dec, io_print_dec, io_newline section .text global main main: call io_get_dec mov ebx, eax ;N call io_get_dec mov ecx, eax ;K mov eax, 0ffffffffh shr eax, cl ;делаем маску с k единицами в начале mov esi, eax dec esi mov edx, 32 sub edx, ecx ;колво масок mov edi, 0 ;ответ .L1: mov eax, ebx and eax, esi cmp eax, edi jb .L3 mov edi, eax .L3: shr esi, 1 dec edx cmp edx, 0; jg .L1 mov eax, edi call io_print_dec ret
1) Этот код находит максимальное значение среди всех возможных подмасок длины K в двоичном представлении числа N.  
2) Подсказки:  
   - Обрати внимание, что маска сначала создаётся с K единицами в младших разрядах, а затем сдвигается вправо на каждой итерации.  
   - Убедись, что счётчик масок (edx) корректно уменьшается, чтобы не выйти за границы двоичного представления числа.