1) Этот код читает беззнаковое число, подсчитывает количество единичных битов в его двоичном представлении (вес Хэмминга) и выводит результат. 2) Обрати внимание, что инструкция `and eax, edx` изменяет значение в `eax`. Подумай, как это связано с обнулением младшего единичного бита. Счётчик `ecx` увеличивается на каждой итерации, пока `eax` не станет нулём — это ключ к пониманию алгоритма.