* Найти максимальное значение в последовательности из n байт. В ячейки с адресом 8223 находится количество обрабатываемых байт (n). Последовательность байт располагается с адреса 8224. LDA 8223 Считываем n в Рг. А MOV C, A Переносим n в Рг. С (в Рг. С значение n) LDA 8224 Считываем первое значение последовательности в Рг. А MOV B, C Первое значение в Рг. В (в Рг. В – min значение) MVI H, 82 MVI L, 25 Записываем адрес второго элемента в регистровую пару HL DCR C Уменьшаем содержимое Рг. С на единицу (рассмотрен один элемент) lab 2: MOV A, M (HL) Содержимое ячейки адресуемой парой HL в Рг. А STC признак переполнения CY=1 СМС инвертирование CY, т. е. CY=0 (нет переполнения) CMP B Сравнение Рг. В с Рг. А (Рг. А-Рг. В, если Рг. А<Рг. В, то CY=1, иначе 0) JC lab 1 Если нет переполнения, то не запоминать число как min MOV B, A Запомнить число как min lab 1: INX H, L Увеличить значение адреса на 1 DCR C Уменьшить Рг. С на 1 JNZ lab 2 Если Рг. С не 0
Мнемокод Адрес ячейки памяти Содержимое ячейки LDA 8223 8200 3 A 8201 23 8202 82 MOV C, A 8203 4 F LDA 8224 8204 3 A 8305 24 8206 82 MOV B, A 8207 47 MVI H, 82 8208 26 8209 82 820 A 2 E 820 B 25 DCR C 820 C 0 D MOV A, M (HL) 820 D 7 E STC 820 E 37 CMC 820 F 3 F CMP B 8210 B 8 MVI L, 25
Мнемокод Адрес ячейки памяти Содержимое ячейки JNC 8215 8211 D 2 8212 15 8213 82 MOV B, A 8214 4 F INX H, L 8215 23 DCR C 8216 0 D JNZ 820 D 8217 C 2 8218 0 D 8219 82