Online Compiler Nasm

extern io_get_dec, io_print_dec, io_newline section .text global main main: call io_get_dec xor ecx, ecx loopstage: test eax, eax jz donestage lea edx, [eax - 1] and eax, edx inc ecx jmp loopstage donestage: mov eax, ecx call io_print_dec call io_newline xor eax, eax ret
1) Этот код читает целое число, подсчитывает количество единичных битов в его двоичном представлении (вес Хэмминга) и выводит результат.

2) Обрати внимание, что инструкция `and eax, edx` модифицирует значение в `eax`. Подумай, как это связано с условием выхода из цикла.
   Также вспомни, что делает операция `lea edx, [eax - 1]` и как комбинация `and eax, edx` влияет на младший ненулевой бит.