Адреса Команды Мнемоника команд Комментарии
000 061 LXI SP Установка указателя
стека.
001 202 В2 мл.байт адреса.
002 000 В3 ст.байт адреса.
003 001 LXI B Запись исходных данных
в регистры В и С.
004 001 В2
005 010 В3
006 305 PUSH B Запоминание содержимого
регистров В и С в стеке.
007 166 HLT Останов.
Содержимое ячеек после выполнения программы:
Адрес Содержимое
200 001
201 010
Программа №3
Извлечение данных из стека, их изменение и занесение обратно в стек.
Запишем в стек (H=000, L=200 и H=000, L=201 ) числа 001 и 200 .
Адрес Команды Мнемоника команд Комментарии
000 061 LXI SP
001 200 В2
002 000 В3
003 301 POP B Извлечение данных
из стека и загрузка их
в регистровую пару В и С
004 004 INR B Увеличение на единицу
регистра В
005 015 DCR C Уменьшение на единицу
содержимого регистра С
006 305 PUSH B Запоминание в стеке
007 166 HLT
Содержимое ячеек до выполнения программы:
| Адрес | Содержимое |
| 200 | 001 |
| 201 | 200 |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 200 | 000 |
| 201 | 201 |
Программа №4
Сложение содержимого регистра с содержимым ячейки памяти
| Адреса | Команды | Мнемоника команд | Комментарии |
| 000 | 041 | LXI H | |
| 001 | 200 | B2 | |
| 002 | 000 | B3 | |
| 003 | 076 | MVI A | Непосредственная загрузка А одним одним из слагаемых |
| 004 | 010 | B2 | |
| 005 | 206 | ADD M | Сложение содержимого А с содержимым ячейки памяти |
| 006 | 167 | MOV M,A | |
| 007 | 166 | HLT |
Содержимое ячеек до выполнения программы:
| Адрес | Содержимое |
| 200 | 100 |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 200 | 110 |
Программа №4.1
Сложение двоично-десятичных чисел.
| Адреса | Команды | Мнемоника команд | Комментарии |
| 000 | 041 | LXI H | |
| 001 | 200 | B2 | |
| 002 | 000 | B3 | |
| 003 | 076 | MVI A | |
| 004 | 010 | B2 | |
| 005 | 206 | ADD M | (A)+(M)-(A) |
| 006 | 047 | DAA | Десятичная коррекция |
| 007 | 167 | MOV M,A | |
| 010 | 166 | HLT |
Содержимое ячеек до выполнения программы:
| Адрес | Содержимое |
| 200 | 051 (29) |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 200 | 067 (37) |
Программа №4.2
Вычитание двоично-десятичных чисел
| Адреса | Команды | Мнемоника команд |
| 000 | 041 | LXI H |
| 001 | 200 | B2 |
| 002 | 000 | B3 |
| 003 | 006 | MVI B |
| 004 | B2 | |
| 005 | 076 | MVI A |
| 006 | 231 | 99 |
| 007 | 220 | SUB B |
| 010 | 074 | INR A |
| 011 | 206 | ADD |
| 012 | 047 | DAA |
| 013 | 167 | MOV M,A |
| 014 | 166 | HLT |
Содержимое ячеек до выполнения программы:
| Адрес | Содержимое |
| 200 | 045 (25) |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 200 | 007 (07) |
Программа №5
Логическая операция, сдвиг числа и запоминание слова состояния
| Адреса | Команды | Мнемоника команд | Комментарии |
| 000 | 006 | MVI B | |
| 001 | 200 | B2 | |
| 002 | 076 | MVI A | |
| 003 | 001 | B2 | |
| 004 | 250 | XRA | Сложение по mod2 содержимого А и В. |
| 005 | 027 | RAL | Циклический сдвиг влево через перенос. |
| 006 | 061 | LXI SP | |
| 007 | 202 | B2 | |
| 010 | 000 | B3 | |
| 011 | 365 | PUSH PSW | Запоминание в стеке Слова Состояния Программы. |
| 012 | 166 | HLT |
Анализ значений Слова Состояния Программы
| Мнемоника команды | Значение PSW | |
| (A) | РгF | |
| MVI B 200 | xxxxxxxx | xx0x0x1x |
| MVI A 001 | 00000001 | xx0x0x1x |
| XRA B | 10000001 | 10000110 |
| RAL | 00000010 | 10000111 |
| LXI SP 202 000 | 00000010 | 10000111 |
| PUSH PSW | 00000010 | 10000111 |
| HLT | 00000010 | 10000111 |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 200 | 207 |
| 201 | 002 |
Программа №6
Обнуление области памяти. Программа пересылает нулевое содержимое какого либо регистра в ячейку памяти.
| Адреса | Команды | Мнемоника команд | Комментарий |
| 000 | 227 | SUB A | Обнуление А |
| 001 | 041 | LXI H | |
| 002 | 011 | B2 | |
| 003 | 000 | B3 | |
| 004 | 167 | MOV M,A | Обнуление ячейки памяти по адресу HL |
| 005 | 043 | INX H | Адрес следующей ячейки |
| 006 | 303 | JMP | Безусловный переход по адресу |
| 007 | 004 | B2 | мл.байт |
| 010 | 000 | B3 | ст.байт |
Содержимое ячеек до выполнения программы:
| Адрес | Содержимое |
| 011 | Xxx |
| ... | Xxx |
| 040 | Xxx |
Содержимое ячеек после выполнения программы:
| Адрес | Содержимое |
| 011 | 000 |
| ... | 000 |
| 040 | 000 |
Программа №7
Режим задания команд с клавиатуры
| Адреса | Команды | Мнемоника команд |
| 100 200 | 166 | HLT |
Задание с клавиатуры
| Команды | Мнемоника команд |
| 303 | JMP |
| 200 | B2 |
| 100 | B3 |
Программа №8
Условные переходы. Программа позволяет изучить действие условных переходов. По адресу H=000,L=200 запишем число 002(соответствует нулевому значению всех флагов в регистре признаков), а по адресу H=000,L=004 – число 302(код команды условного перехода по ненулевому результату JNZ).
| Адреса | Команды | Мнемоника команд | Комментарии |
| 000 | 061 | LXI SP | |
| 001 | 200 | B2 | |
| 002 | 000 | B3 | |
| 003 | 361 | POP PSW | Извлечение из стека ССП |
| 004 | * | * | (JNZ,JZ,JNC,JC,JPO,JPE,JP,JM) |
| 005 | 000 | B2 | |
| 006 | 000 | B3 | |
| 007 | 166 | HLT | |
| 200 | ** | - | |
| 201 | 000 | - |
Варианты выполнения программы
| Признак | Данные по адресу 004 | Данные по адресу 200 | Переход к адресу 000 |
| 302 (JNZ) | 002 (z=0) | Есть | |
| ноль | 302 (JNZ) | 102 (z=1) | Нет |
| 312 (JZ) | 102 (z=1) | Есть | |
| 322 (JNC) | 002 (c=0) | Есть | |
| перенос | 322 (JNC) | 003 (c=1) | Нет |
| 332 (JC) | 003 (c=1) | Есть | |
| 342 (JPO) | 002 (p=0) | Есть | |
| Четность | 342 (JPO) | 006 (p=1) | Нет |
| 352 (JPE) | 006 (p=1) | Есть | |
| 362 (JP) | 002 (s=0) | Есть | |
| Знак | 362 (JP) | 202 (s=1) | Нет |
| 372 (JM) | 202 (s=1) | Есть |
Программа №12
Выбор максимального элемента массива.
| Адрес | Команда | Мнемоника команды | Комментарий |
| 000 | 041 | LXI H | |
| 001 | 100 | B1 | |
| 002 | 000 | B2 | |
| 003 | 016 | MVI C | Загрузка переменной цикла |
| 004 | 005 | B2 | |
| 005 | 176 | MOV A,M | Загрузка в А первого элемента |
| 006 | 043 | INX H | Переход к следующему элементу |
| 007 | 276 | CMP M | Если А>М С=0 А<М С=1 |
| 010 | 332 | JC | Если А<М меняем местами |
| 011 | 014 | B2 | |
| 012 | 000 | B3 | |
| 013 | 176 | MOV A,M | Перенос в А нового максимума |
| 014 | 015 | DCR C | Уменьшение переменной цикла |
| 015 | 302 | JNZ | Если переменная цикла не равна 0 то все сначала |
| 016 | 006 | B2 | |
| 017 | 000 | B3 | |
| 020 | 062 | STA | Сохранение результата в памяти |
| 021 | 150 | B2 | |
| 022 | 000 | B3 | |
| 023 | 166 | HLT | Конец |
2.Выполнение индивидуальных заданий