Изучение устройства и технических характеристик учебного микропроцессорного комплекса
ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ,
СИСТЕМЫ И СЕТИ
Лабораторный практикум
Часть 1
Самара
Самарский государственный технический университет
Печатается по решению редакционно-издательского совета СамГТУ
УДК 004
Тараканов А. В.
Вычислительные машины, системы и сети: практикум / А. В. Тараканов. – Самара: Самар. гос. техн. ун-т, 2016. – 59 с.: ил.
Лабораторный практикум содержит рекомендации по выполнению первой части лабораторных работ, соответствующих курсу «Вычислительные машины, системы и сети». Изложены принципы организации и работы основных блоков ЭВМ, таких как микропроцессор и память. Рассмотрены вопросы программирования микропроцессора и систем на его основе на уровне машинных команд.
Предназначен для бакалавров, обучающихся по направлению 15.03.04 «Автоматизация технологических процессов и производств)» при выполнении ими лабораторных работ.
УДК 004
Рецензенты: зав. кафедрой ЭПП, Сф Сам ГТУ канд. техн. наук
Вокин И. А.
зав. кафедрой «Промышленная информатика» ОАНО
ВО «ВУ и Т» канд. техн. наук, доцент Куралесова Н. О.
Ó А. В. Тараканов, 2016
Ó Самарский государственный
технический университет, 2016
содержание
Введение…………………………………………………………….. | |
Лабораторная работа №1. Изучение устройства и технических характеристик учебного микропроцессорного комплекса ……………………………………………………………. | |
Лабораторная работа №2. Изучение системы команд микропроцессора КР 580 ИК80А…………………………………… | |
Лабораторная работа №3. Разработка и отладка программ для микропроцессора КР 580 ИК80А………………………………… | |
Лабораторная работа №4. Разработка программы контроля управляющих параметров …………………………………………….. | |
заключение…………………………………………………………. | |
БИБЛИОГРАФИЧЕСКИЙ СПИСОК ………………………………… | |
Приложение ………………………………………………………... |
ВВЕДЕНИЕ
В настоящее время при освоении информационных технологий неизбежно возникает необходимость детально разобраться в работе основного узла любой ЭВМ – микропроцессора. Однако современные микропроцессоры настолько сложны, что это в значительной степени затруднительно. Используя учебный микропроцессорный комплекс можно достаточно быстро и наглядно постичь принципы работы микропроцессора. К числу преимуществ использования учебного микропроцессорного комплекса можно отнести его достаточную простоту и наглядность, возможность создания программ различной сложности, пошаговое выполнение программы, с просмотром результатов после выполнения каждой отдельной итерации. Все вышеперечисленное определяет актуальность применения учебного микропроцессорного комплекса при изучении и получении практических навыков работы с микропроцессором в рамках подготовки бакалавров. Первая часть лабораторного практикума включает четыре работы.
В первой лабораторной работе студенты изучают устройство и технические характеристики учебного микропроцессорного комплекса и приобретают навыки работы с ним.
Вторая работа посвящена изучению системы команд микропроцессора КР 580 ИК80А, а также составлению простейших программ.
Третья лабораторная работа предполагает разработку и отладку программ, реализующих арифметические и логические операции обработки данных с циклической и разветвляющейся структурой.
Четвертая работа посвящена разработке программ контроля управляющих параметров.
По результатам каждой лабораторной работы студентами должен быть составлен отчет о выполнении заданий, с анализом полученных результатов.
Лабораторная работа № 1
Изучение устройства и технических характеристик учебного микропроцессорного комплекса
Цель работы: изучение устройства микро-ЭВМ, построенных на базе микропроцессора КР 580ИК80А, изучение технических характеристик учебного микропроцессорного комплекса.
Оборудование: учебный микропроцессорный комплекс (УМК).
Значения отдельных бит регистра состояния
Операционного устройства
Сигнал | Разряд регистра состояния операционного устройства | Значение |
INTA | D0 | Подтверждение запроса на прерывание. Используется для подачи на шину данных команды. |
WO | D1 | Указывает, что в текущем цикле выполняется запись в память или операция ввода. |
STACK | D2 | Означает наличие на шине адреса: указателя стека. |
HLTA | D3 | Сигнал подтверждения команды. |
OUT | D4 | Означает, что в текущем цикле выполняется операция вывода. |
MI | D5 | Указывает, что текущий машинный цикл служит для выборки первого байта команды. |
INP | D6 | Означает, что в текущем цикле выполняется операция ввода. |
MEMR | D7 | Указывает, что в текущем машинном цикле будет производиться чтение из памяти. |
Краткие технические характеристики учебного микропроцессорного комплекса представлены в таблице 3.
Таблица 3
Порядок выполнения работы.
1. Подготовка УМК к работе.
1.1. Предварительно внимательно ознакомиться с инструкцией по технике безопасности и паспортом на УМК.
1.2. Изучить клавиатуру УМК для управления с клавиатуры с помощью директив.
2. Оформить в виде таблицы (по примеру таблицы 4) запись четырех чисел в оперативную память и четырех чисел в регистры, после чего предоставить преподавателю на проверку.
3. Установить кнопку УМК «~» в отжатое состояние.
4. Подключить УМК к сети переменного тока 220 В.
5. Переключатель «РБ/ШГ» установить в состояние – работа.
6. Включить УМК нажатием кнопки «~».
7. Нажать управляющую кнопку сброса «СБ», при этом на дисплее в крайней левой позиции должен появиться знак «–». При отсутствии сброса повторное включение УМК производить через промежутки не менее 10 секунд после включения.
8. Ввести данные в память и вывести индикацию содержимого для контроля.
Для ввода данных в память необходимо последовательно нажать следующие клавиши: «П» Х1, Х2, Х3, Х4 «| _ |» Д1, «| _ |» Д2, «| _ |» … Дn, «ВП», где Х1, Х2, Х3, Х4 – адрес начальной ячейки памяти для записываемых данных; Д1, Д2, …, Дn – данные, подлежащие записи в память. Для перехода к следующей ячейке памяти без изменения содержимого инициируемой, не набирая новых данных, нажмите клавишу «| _ |».
9. Ввести данные в четыре произвольных регистра микропроцессора и вывести индикацию содержимого для контроля.
Для ввода данных в регистры микропроцессора необходимо нажать клавишу «РГ», а затем идентификатор регистра. Идентификатором регистра являются символы, обозначающие регистры микропроцессора.
A – регистр A (8 бит) – «аккумулятор»;
B – регистр B (8 бит);
C – регистр C (8 бит);
D – регистр D (8 бит);
E – регистр E (8 бит);
H – регистр H (8 бит) – содержит старшую часть адреса при косвенной адресации;
L – регистр L (8 бит) – содержит младшую часть адреса при косвенной адресации;
F – регистр условий (8 бит);
SL – младший байт указателя стека (8 бит);
SH – старший байт указателя стека (8 бит);
PL – младший байт счетчика команд (8 бит);
PH – старший байт счетчика команд (8 бит).
Ответом на ввод идентификатора является индикация содержимого соответствующего регистра на дисплее в виде двух шестнадцатеричных цифр. Для изменения содержимого регистра необходимо задать новое значение с помощью информационных клавиш и нажать кнопку «ВП».
10. Представить результаты выполненной работы преподавателю.
11. Выключить УМК.
12. Оформить отчет по результатам работы.
Отчет должен содержать: название и цель работы; краткое описание устройства и принципа работы УМК; результаты работы, оформленные в виде таблицы; ответы на контрольные вопросы.
Таблица 4
Таблица оформления результатов лабораторной работы
Адрес ячейки памяти/Регистр | Данные |
Контрольные вопросы.
1. Что показывает регистр состояния операционного блока?
2. Как осуществить пошаговое выполнение программы?
3. Как записать данные в оперативную память, регистр?
4. Для чего служит программный счетчик?
5. Что такое стек, и каковы основы работы с ним?
6. Для чего служит регистр условий?
7. Какими регистрами обладает микропроцессор, опишите их характеристики и назначение?
Лабораторная работа № 2
Команды микропроцессора
Команды микропроцессора можно разделить на пять групп:
1. Команды пересылки данных и загрузки – команды, позволяющие передавать данные между оперативной памятью и регистрами процессора, а также получать данные непосредственно из программного кода.
2. Арифметические команды – команды, реализующие арифметические операции над числами с фиксированной и плавающей запятой (сложение, вычитание, умножение, деление и др.).
3. Логические команды – команды, реализующие логические операции, такие как: конъюнкция (И), дизъюнкция (ИЛИ), логическое отрицание (НЕ) и др.
4. Команды передачи управления – команды переходов (условные и безусловные), команды переходов к подпрограмме.
5. Команды ввода/вывода – это команды приема и передачи информации, соответственно, из или во внешнюю среду. Прием и передача данных, как правило, осуществляется через соответствующие порты микро-ЭВМ.
Команды пересылки осуществляют передачу данных в/из регистра в ячейку(и) оперативной памяти, не изменяя при этом состояние флагов.
Порядок выполнения работы.
1. Составить программу, реализующую выполнение следующих операций согласно варианту задания (таблица 5):
1.1. Непосредственная пересылка данных в регистр;
1.2. Непосредственная пересылка данных в память;
1.3. Непосредственная загрузка пары регистров;
1.4. Прямая загрузка аккумулятора;
1.5. Перемещение данных из аккумулятора в регистр;
1.6. Перемещение данных из памяти в регистр;
1.7. Прямая запись содержимого аккумулятора в память;
1.8. Прямая загрузка пары регистров H и L;
1.9. Косвенная загрузка аккумулятора;
1.10. Прямая запись содержимого пары регистров H и L в память;
1.11. Обмен данными между регистрами H и D, L и E, соответственно;
1.12. Помещение двух данных в стек;
1.13. Извлечение двух данных из стека.
Таблица 5
Варианты заданий
Вариант | Задание | |||||||||
Вариант № 1 | E | HL | C | 0900/H | D | |||||
Вариант № 2 | B | BC | E | 0901/D | D | |||||
Вариант № 3 | C | DE | B | 0902/L | B | |||||
Вариант № 4 | D | DE | C | 0903/B | B | |||||
Вариант № 5 | E | BC | D | 0904/C | B |
2. Представить программу на проверку преподавателю.
3. Ввести программу в УМК и запустить на выполнение.
4. Посмотреть ход выполнения программы в пошаговом режиме с промежуточной индикацией.
5. Представить результаты выполненной работы преподавателю.
6. Выключить УМК.
7. Оформить отчет по результатам работы.
Отчет должен содержать: название и цель работы; краткие теоретические сведения о системе команд микропроцессора КР 580 ИК80А; результаты работы, оформленные в виде таблицы; ответы на контрольные вопросы.
Таблица 6
Таблица оформления результатов лабораторной работы
Адрес ячейки памяти | Команда на машинном языке | Комментарий |
Контрольные вопросы.
1. На что влияют структура и формат команды?
2. Какие виды адресации существуют?
3. Расскажите о достоинствах и недостатках различных способов адресации.
4. Какие способы адресации применяются в современных микропроцессорах?
5. Как реализуется механизм адресации в виртуальной памяти?
Лабораторная работа № 3
Порядок выполнения работы
1. Изучить арифметические и логические команды микропроцессора КР 580 ИК80А.
2. Разработать программу сложения трех произвольных чисел и записи результата в память. Первое число вводится с клавиатуры в память УМК, второе записывается непосредственной адресацией в один из регистров, третье записывается непосредственной адресацией в одну из ячеек оперативной памяти.
3. Разработать программу, реализующую следующие операции с записью результата в память:
№ варианта | Выражение |
(A+B-C)ÚD | |
(A+B+C)ÚD | |
(A-B+C)ÚD | |
(A-B-C)ÚD | |
(A+B-C)ÙD | |
A+(B+C)ÙD | |
(A-B)+CÙD | |
(A-B-C)ÙD | |
A+B-(CÚD) | |
A+B-(CÙD) |
4. Разработать программу с циклической структурой сложения двух произвольных чисел (число итераций цикла - 10) , с занесением конечного и промежуточного результата в память.
5. Разработать программу умножения двух целых положительных чисел с записью результата в память.
6. Представить программы на проверку преподавателю.
7. Ввести программы по отдельности в УМК и запустить на выполнение.
8. Посмотреть ход выполнения программы в пошаговом режиме с промежуточной индикацией.
9. Представить результаты выполненной работы преподавателю.
10. Выключить УМК.
11. Оформить отчет по результатам работы.
Отчет должен содержать: название и цель работы; краткие теоретические сведения о программировании микропроцессора КР 580 ИК80А; результаты работы, оформленные в виде таблицы; ответы на контрольные вопросы.
Таблица 7
Таблица оформления результатов лабораторной работы
Адрес ячейки памяти | Команда на машинном языке | Комментарий |
Контрольные вопросы.
1. Каким будет содержание пары регистров с данными 0001 0000 0000 1111 после инкрементирования?
2. Каким будет содержимое регистра с данными 0100 1011 после декрементирования?
3. Как влияет выполнение команды CPI на состояние флага нуля?
4. Что будет результатом операции A or A?
Лабораторная работа № 4
Задание на выполнение работы
В данной лабораторной работе моделируется ситуация, когда два параметра технологического процесса N1 и N2 загружаются и складываются, полученная сумма при этом умножается на коэффициент масштабирования K. Далее масштабированная сумма сравнивается с максимально допустимым значением, и в случае превышения выдается аварийный сигнал (выполнение программы прекращается). В противном случае осуществляется ввод новых параметров, и управляющая программа циклически повторяется. Операцию умножения на масштабируемый коэффициент K необходимо оформить в виде подпрограммы.
Порядок выполнения работы.
1. Изучить команды обращения к подпрограммам и возврата из подпрограмм, записи и извлечения данных из стека, условных и безусловных переходов.
2. Для заданных значений параметров технологического процесса и масштабного коэффициента составить программу контроля.
3. Просмотреть выполнение программы в пошаговом режиме с индикацией состояния.
4. Представить преподавателю результат выполнения программы.
5. Оформить отчет по результатам работы.
Отчет должен содержать: название и цель работы; краткие сведения о командах обращения к подпрограмме и возврата из подпрограммы, записи и извлечения данных из стека, условных и безусловных переходов; результаты работы, оформленные в виде таблицы; ответы на контрольные вопросы.
Таблица 8
Таблица оформления результатов лабораторной работы
Адрес ячейки памяти | Команда на машинном языке | Комментарий |
Контрольные вопросы.
1. Объясните порядок записи в стек и извлечения из стека.
2. Каков алгоритм умножения?
3. Какие команды используются при обращении к подпрограммам и при возврате в основную программу?
4. Какие команды условного перехода вы знаете?
5. Как выполнение операций сравнения действует на шаговый регистр?
ЗАКЛЮЧЕНИЕ
Данный лабораторный практикум позволяет сформировать профессиональные компетенции у будущих бакалавров в области информационных технологий.
В первой части лабораторных работ изучаются основы устройства и работы микропроцессора, принципы составления и отладки программ, раскрываются этапы и особенности выполнения отдельных команд, организация передачи управления в программах при создании программ с разветвляющейся и циклической структурой. Лабораторные работы подразумевают выполнение заданий и самостоятельных работ на учебном микропроцессорном комплексе.
Знания и умения, полученные в результате выполнения лабораторных работ, помогут избежать ошибок при разработке программного обеспечения, способствуют эффективному использованию средств отладки программ.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Мелехин В.Ф. Вычислительные машины, системы и сети: учеб. пособие для вузов / В.Ф. Мелехин, Е.Г. Павловский, Академия. – М., 2006. - 560с.;
2. Пятибратов А.П. и др. Вычислительные системы, сети и телекоммуникации: Учебник для ВУЗов. – 4-е изд., перераб. и доп. / А.П. Пятибратов, Л.П. Гудыно, А.А. Кириченко, Финансы и статистика. – М., 2008. - 736 с., ил.;
3. Цилькер Б.Я. Организация ЭВМ и систем: учебник для вузов / Б.Я. Цилькер, С.А. Орлов, Питер. – СПб., 2006. - 668 с., ил.;
4. Таненбаум Э. Архитектура компьютера. Пер. с англ. 4-е изд. / Э. Таненбаум, Питер. – СПб., 2006. - 699 с., ил.;
5. Бройдо В.Л. Ильина О.П. Архитектура ЭВМ и систем 2-е изд. / В.Л. Бройдо, О.П. Ильина, Питер. – СПб., 2009. - 720 с., ил.;
6. Древс Ю.Г. Организация ЭВМ и вычислительных систем: учебник для вузов / Ю.Г. Древс, Высшая школа. – М., 2006. - 501 с., ил.;
7. Хорошевский В.Г. Архитектура вычислительных систем: учеб. пособ. для вузов 2-е изд. перераб. и доп. / В.Г. Хорошевский, Изд-во МГТУ им. Н.Э. Баумана. – М., 2008. - 510 с., ил.;
8. Каган Б.М. Электронные вычислительные машины и системы / Б.М. Каган, Энергоатомиздат. – М., 1991. - 592 с.
ПРИЛОЖЕНИЕ
Команды пересылки
Команды этой группы осуществляют пересылку данных в/из регистр (а) и ячейки памяти и не изменяют состояния флагов.
MOV r1, r2 (ПЕРЕСЫЛКА ДАННЫХ ИЗ РЕГИСТРА В РЕГИСТР)
(r1)(r2)
Содержимое регистра r2 пересылается в регистр r1.
D | D | D | S | S | S |
MOV | А, А | 7F | MOV | B, А | MOV | C, А | 4F | |
А, B | B, B | C, B | ||||||
А, С | B, С | C, С | ||||||
A, D | 7А | B, D | C, D | 4A | ||||
А, Е | 7В | B, Е | C, Е | 4B | ||||
А, Н | 7С | B, Н | C, Н | 4C | ||||
A, L | 7D | B, L | C, L | 4D | ||||
MOV | D, А | MOV | E, А | 5F | MOV | H, А | ||
D, B | E, B | H, B | ||||||
D, С | E, С | H, С | ||||||
D, D | E, D | 5A | H, D | |||||
D, Е | E, Е | 5B | H, Е | |||||
D, Н | E, Н | 5C | H, Н | |||||
D, L | E, L | 5D | H, L | |||||
MOV | L,А | 6F | ||||||
L,B | ||||||||
L,С | ||||||||
L,D | 6A | |||||||
L,Е | 6B | |||||||
L,Н | 6C | |||||||
L,L | 6D |
Циклы:1. Состояния: 4. Адресация: регистровая. Флаги: не используются.
MOV r, M (ПЕРЕСЫЛКА ДАННЫХ ИЗ ПАМЯТИ)
(r)((H) (L))
Содержимое ячейки памяти, адрес которой хранится в регистрах H и L, пересылается в регистр r.
D | D | D |
MOV | А, M | 7Е | MOV | D, M | MOV | L, M | 6E | |
B, M | E, M | 5E | ||||||
С, М | 4E | H, M |
Циклы:2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.
MOV M, r (ПЕРЕСЫЛКА ДАННЫХ В ПАМЯТЬ)
((H) (L)) (r)
Содержимое регистра r пересылается в ячейку памяти, адрес которой содержится в регистрах H и L.
S | S | S |
MOV | M, А | MOV | M, D | MOV | M, L | |||
M, B | M, Е | |||||||
M, С | M, Н |
Циклы:2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.
MVI r (НЕПОСРЕДСТВЕННАЯ ПЕРЕСЫЛКА)
(r) (байт 2)
Содержимое второго байта команды пересылается в регистр n.
D | D | D | |||||
Данные |
MVI | А, байт | 3E | MVI | D, байт | MVI | L, байт | 2E | |
B, байт | Е, байт | 1E | ||||||
С, байт | 0E | Н, байт |
Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: нет.
MVI M, байт (НЕПОСРЕДСТВЕННАЯ ПЕРЕСЫЛКА В ПАМЯТЬ)
((H) (L)) (байт 2)
Содержимое второго байта команды пересылается в ячейку памяти, адрес которой указан в регистрах H и L.
Данные |
MVI | M, байт |
Циклы: 3. Состояния: 10. Адресация: непосредственная/косвенная регистровая. Флаги: нет.
LXI rp, 2 байта (НЕПОСРЕДСТВЕННАЯ ЗАГРУЗКА ПАРЫ РЕГИСТРОВ)
(rh) (байт 3)
(rl) (байт 2)
Третий байт команды пересылается в старший регистр (rh) пары регистров, второй – в младший регистр (rl) пары регистров.
R | P | ||||||
Младший байт данных | |||||||
Старший байт данных |
LXI | B, 2 байта | непосредственная загрузка пары регистров B и C | |
D, 2 байта | непосредственная загрузка пары регистров D и E | ||
H, 2 байта | непосредственная загрузка пары регистров H и L | ||
LXI | SP, 2 байта | непосредственная загрузка указателя стека |
Циклы: 3. Состояния: 10. Адресация: непосредственная. Флаги: нет.
LDA [адр.] (ПРЯМАЯ ЗАГРУЗКА АККУМУЛЯТОРА)
(А) ((байт 3) (байт 2))
Содержимое ячейки памяти, адрес которой указан во втором и третьем байтах команды, загружается в аккумулятор.
Младший байт адреса | |||||||
Старший байт адреса |
LDA | [адр.] | 3А |
Циклы: 4. Состояния: 13. Адресация: прямая. Флаги: нет.
STA [адр.] (ПРЯМАЯ ЗАПИСЬ СОДЕРЖИМОГО АККУМУЛЯТОРА В ПАМЯТЬ)
((байт 3) (байт 2)) (А)
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой указан во втором и третьем байтах команды.
Младший байт адреса | |||||||
Старший байт адреса |
STA | [адр.] |
Циклы: 4. Состояния: 13. Адресация: прямая. Флаги: нет.
LHLD [адр.] (ПРЯМАЯ ЗАГРУЗКА H и L)
(L) ((байт 3) (байт 2))
(H) ((байт 3) (байт 2) + 1)
Содержимое ячейки памяти, адрес которой указан во втором и третьем байтах команды, пересылается в регистр L. Содержимое ячейки памяти со следующим адресом ((адр.) + 1) пересылается в регистр Н.
Младший байт адреса | |||||||
Старший байт адреса |
LHLD | [адр.] | 2А |
Циклы: 5. Состояния: 16. Адресация: прямая. Флаги: нет.
SHLD [адр.] (ПРЯМАЯ ЗАПИСЬ СОДЕРЖИМОГО H, L РЕГИСТРОВ В ПАМЯТЬ)
((байт 3) (байт 2)) (L)
((байт 3) (байт 2) + 1) (H)
Содержимое регистра L пересылается в ячейку памяти, адрес которой определен во втором и третьем байтах команды. Содержимое Н регистра пересылается в следующую ячейку памяти.
Младший байт адреса | |||||||
Старший байт адреса |
SHLD | [адр.] |
Циклы: 5. Состояния: 16. Адресация: прямая. Флаги: нет.
LDAX rp (КОСВЕННАЯ ЗАГРУЗКА АККУМУЛЯТОРА)
(A) ((rp))
Содержимое ячейки памяти, адрес которой указан в паре регистров rp, пересылается в аккумулятор.
Примечание. Могут быть указаны только пары регистров rp=B /регистры B и C/ и rp=D /регистры D и E/.
R | P |
LDAX | B | 0A |
D | 1A |
Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: нет.
STAX rp (КОСВЕННАЯ ЗАПИСЬ СОДЕРЖИМОГО АККУМУЛЯТОРА В ПАМЯТЬ)
((rp)) (A)
Содержимое аккумулятора пересылается в ячейку памяти, адрес которой определен в паре регистров rp.
Примечание. Могут быть указаны только пары регистров rp=B /регистры B и C/ или rp=D /регистры D и E/.
R | P |
STAX | B | |
D |
Циклы: 2. Состояния: 7. Адресация: косвенная регистрация. Флаги: нет.
XCHG (ОБМЕН ДАННЫМИ МЕЖДУ РЕГИСТРАМИ H, L и D, E)
(H) « (D)
(L) « (E)
Содержимое регистров H и L обменивается с содержимым регистров D и E.
XCHG | EB |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: нет.
Арифметические команды
Команды этой группы выполняют арифметические операции над данными, находящимися в регистрах и ячейках памяти.
Если нет особых указаний, то команды изменяют состояния флагов нуля, четности, переноса и вспомогательного переноса в соответствии со стандартными правилами.
Все операции вычитания выполняются через арифметическое дополнение до 2, причем флаг переноса устанавливается в логическую 1, если имеется заем, и сбрасывается, если заема не было.
ADD r (СЛОЖЕНИЕ СОДЕРЖИМОГО АККУМУЛЯТОРА С СОДЕРЖИМЫМ РЕГИСТРА)
(A) (A) + (r)
Содержимое регистра r складывается с содержимым аккумулятора. Результат помещается в аккумулятор.
S | S | S |
ADD | А | ADD | D | ADD | L | |||
B | E | |||||||
С | H |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.
ADD M (СЛОЖЕНИЕ СОДЕРЖИМОГО АККУМУЛЯТОРА С СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ)
(A) (A) + ((H) (L))
Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, складывается с содержимым аккумулятора. Результат помещается в аккумулятор.
ADD | M |
Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.
ADI байт (НЕПОСРЕДСТВЕННОЕ СЛОЖЕНИЕ)
(A) (A) + (байт 2)
Содержимое второго байта команды складывается с содержимым аккумулятора. Результат помещается в аккумулятор.
Данные |
ADI | байт | C6 |
Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.
ADC r (СЛОЖЕНИЕ СОДЕРЖИМОГО АКУМУЛЯТОРА С СОДЕРЖИМЫМ РЕГИСТРА И БИТОМ ФЛАГА ПЕРЕНОСА)
(A) (A) + (r) + (CY)
Содержимое регистра r и бит флага переноса складываются с содержимым аккумулятора. Результат помещается в аккумулятор.
S | S | S |
ADC | А | 8F | ADC | D | 8A | ADC | L | 8D |
B | E | 8B | ||||||
С | H | 8C |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.
ADC M (СЛОЖЕНИЕ СОДЕРЖИМОГО АКУМУЛЯТОРА С СОДЕРЖИМЫМ ЯЧЕЙКИ ПАМЯТИ И БИТОМ ПЕРЕНОСА)
(A) (A) + ((H) (L)) + (CY)
Содержимое ячейки памяти, адрес которой указан в регистрах H и L, и содержимое бита флага переноса складываются с содержимым аккумулятора. Результат помещается в аккумулятор.
ADC | M | 8E |
Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.
ACI байт (НЕПОСРЕДСТВЕННОЕ СЛОЖЕНИЕ С БИТОМ ПЕРЕНОСА)
(A) (A) + (байт 2) + (CY)
Содержимое второго байта команды и бита флага переноса складывается с содержимым аккумулятора. Результат помещается в аккумулятор.
Данные |
ACI | байт | CE |
Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.
SUB r (ВЫЧИТАНИЕ СОДЕРЖИМОГО РЕГИСТРА)
(A) (A) – (r)
Содержимое регистра вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
S | S | S |
SUB | А | SUB | D | SUB | L | |||
B | E | |||||||
С | H |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.
SUB M (ВЫЧИТАНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)
(A) (A) – ((H) (L))
Содержимое ячейки памяти, адрес которой содержится в H и L регистрах, вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
SUB | M |
Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.
SUI байт (НЕПОСРЕДСТВЕННОЕ ВЫЧИТАНИЕ)
(A) (A) – (байт 2)
Содержимое второго байта команды вычитается из содержимого аккумулятора. Результат помещается в аккумулятор.
Данные |
SUI | байт | D6 |
Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.
SBB r (ВЫЧИТАНИЕ СОДЕРЖИМОГО РЕГИСТРА И БИТА ПЕРЕНОСА)
(A) (A) – (r) – (CY)
Содержимое регистра r и бит флага переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор.
S | S | S |
SBB | А | 9F | SBB | D | 9A | SBB | L | 9D |
B | E | 9B | ||||||
С | H | 9C |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, CY, AC.
SBB M (ВЫЧИТАНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ И БИТА ПЕРЕНОСА)
(A) (A) – ((H) (L)) – (CY)
Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, и содержимое бита флага переноса CY вычитаются из содержимого аккумулятора. Результат помещается в аккумулятор.
SBB | M | 9E |
Циклы: 2. Состояния: 7. Адресация: косвенная регистровая. Флаги: Z, S, P, CY, AC.
SBI байт (НЕПОСРЕДСТВЕННОЕ ВЫЧИТАНИЕ С ЗАЕМОМ)
(A) (A) – (байт 2) – (CY)
Содержимое второго байта команды и бита флага переноса CY вычитаются из аккумулятора. Результат помещается в аккумулятор.
Данные |
SBI | байт | DE |
Циклы: 2. Состояния: 7. Адресация: непосредственная. Флаги: Z, S, P, CY, AC.
INR r (УВЕЛИЧЕНИЕ СОДЕРЖИМОГО РЕГИСТРА)
(r) (r) + 1
Содержимое регистра r увеличивается на единицу.
Примечание. Команда влияет на состояние всех флагов, кроме флага переноса CY.
D | D | D |
INR | А | 3C | INR | D | INR | L | ||
B | E | 1C | ||||||
С | 0C | H |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, AC.
INR M (УВЕЛИЧЕНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)
((H) (L)) ((H) (L)) + 1
Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, увеличивается на единицу.
Примечание. Команда воздействует на все флаги, кроме флага переноса CY.
INR | M |
Циклы: 3. Состояния: 10. Адресация: косвенная регистровая. Флаги: Z, S, P, AC.
DCR r (УМЕНЬШЕНИЕ СОДЕРЖИМОГО РЕГИСТРА)
(r) (r) – 1
Содержимое регистра r уменьшается на единицу.
Примечание. Команда воздействует на все флаги, кроме флага переноса CY.
D | D | D |
DCR | А | 3D | DCR | D | DCR | L | 2D | |
B | E | 1D | ||||||
С | 0D | H |
Циклы: 1. Состояния: 4. Адресация: регистровая. Флаги: Z, S, P, AC.
DCR M (УМЕНЬШЕНИЕ СОДЕРЖИМОГО ЯЧЕЙКИ ПАМЯТИ)
((H) (L)) ((H) (L)) – 1
Содержимое ячейки памяти, адрес которой содержится в регистрах H и L, уменьшается на единицу.
Примечание. Команда воздействует на все флаги, кроме флага переноса CY.