В следующем примере программы мы выполним сортировку массива.
1; Автор: Довгополов Евгений Сергеевич 2 3array:db05h,03h,08h,01h,09h,02h,07h,04h,06h,0Ah 4 5main: 6mvib,09h; Устанавливаем счётчик внешнего цикла B равным 9 7 8OuterLoop: 9lxih,array; Загружаем адрес переменной array в пару регистров HL 10mvic,09h; Устанавливаем счётчик внутреннего цикла C равным 9 11 12InnerLoop: 13mova,m; Копируем значение в памяти на которую указывает пара регистров HL в A 14inxh; Увеличиваем значение пары регистров HL на 1 15cmpm; Выполняем сравнение значения в регистре A со значением в ячейке памяти 16jcNoSwap; Если C=1, то переходим на метку NoSwap 17jzNoSwap; Если Z=1, то переходим на метку NoSwap 18 19movd,m; Копируем значение в памяти на которую указывает пара регистров HL в D 20movm,a; Копируем значение в памяти на которую указывает пара регистров HL в A 21dcxh; Уменьшаем значение пары регистров HL на 1 22movm,d; Копируем значение в памяти на которую указывает пара регистров HL в D 23inxh; Увеличиваем значение пары регистров HL на 1 24 25NoSwap: 26dcrc; Уменьшаем значение регистра-счётчика C на 1 27jnzInnerLoop; Выполняем переход на метку InnerLoop пока C не будет равен 0 28 29dcrb; Уменьшаем значение регистра-счётчика B на 1 30jnzOuterLoop; Выполняем переход на метку OuterLoop пока B не будет равен 0 31 32hlt; Останавливаем выполнение программы