В следующем примере программы мы выполним умножение 16-битного числа 90h на 3. Такой алгоритм позволит вам умножать любые числа.
1; Автор: Довгополов Евгений Сергеевич 2 3main: 4lxid,90h; Загружаем шестнадцатеричное значение 90h в пару регистров DE 5mvia,03h; Копируем число на которое будем искать в регистр A 6 7lxih,0000h; Загружаем шестнадцатеричное значение 0000h в пару регистров HL 8mvic,08h; Устанавливаем счётчик цикла C равным 8 9 10MultiplyLoop: 11dadh; Умножаем значение в HL на 2 12ral; Поворачиваем значение в регистре A на 1 влево с учётом флага CY 13jncNext; Если C=0, то переходим на метку Next 14 15dadd; К содержимому пары регистров HL прибавляем содержимое пары регистров DE 16 17Next: 18dcrc; Уменьшаем значение регистра-счётчика C на 1 19jnzMultiplyLoop; Выполняем переход на метку MultiplyLoop пока C не будет равен 0 20 21hlt; Останавливаем выполнение программы