В следующем примере программы мы выполним проверку каждого элемента массива на чётность или нечётность установленных битов в 1. Если число установленных битов чётное, то во втором массиве сохраним 1, в противном случае сохраним 0.
1; Автор: Довгополов Евгений Сергеевич 2 3src:db2Ah,71h,9Ah,1Eh,0C9h,56h,0E7h,38h,0ADh,0D2h 4dst:db00h,00h,00h,00h,00h,00h,00h,00h,00h,00h 5 6main: 7lxih,src; Загружаем адрес переменной src в пару регистров HL 8lxid,dst; Загружаем адрес переменной dst в пару регистров DE 9mvic,0Ah; Устанавливаем счётчик цикла C равным 10 10 11CheckLoop: 12mova,m; Копируем значение в памяти на которую указывает пара регистров HL в A 13rrc; Поворачиваем значение в регистре A на 1 вправо без учёта флага CY 14jncEven; Если C=0, то переходим на метку Even 15 16xraa; Обнуляем регистр A 17jmpStore; Выполняем безусловный переход на метку Store 18 19Even: 20mvia,01h; Загружаем значение 1 в регистр A 21 22Store: 23staxd; Сохраняем значение в A по адресу в памяти на которую указывает DE 24 25inxh; Увеличиваем значение пары регистров HL на 1 26inxd; Увеличиваем значение пары регистров DE на 1 27dcrc; Уменьшаем значение регистра-счётчика C на 1 28jnzCheckLoop; Выполняем переход на метку CheckLoop пока C не будет равен 0 29 30hlt; Останавливаем выполнение программы