|
МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторной работе №1 «Изучение лабораторного микропроцессорного комплекта, состав команд операций пере. лаб.1МПС. Методические указания к лабораторной работе 1 Изучение лабораторного микропроцессорного комплекта, состав команд операций передачи данных, команд арифметических действий и логических операций микропроцессора кр580ВМ80А и выполнение простых программ
Вопросы для самопроверки
Из чего состоит память микропроцессора? Нарисуйте структуру учебной микро-ЭВМ. Что происходит при попытке записи данных в ПЗУ? Шина (адреса, данных, управления) является однонаправленной. Посредством 16 линий адресной шины можно получить доступ к (кол-во) ячейкам памяти и (кол-во) устройствам ввода-вывода. Нарисуйте внутреннюю структуру микропроцессора и укажите основное назначение его компонентов. Какие биты входят в состав регистра признаков микропроцессора? Какие команды арифметических и логических операций выполняет микропроцессор КР580ВМ80А? Какие методы адресации используются в микропроцессоре? Как влияют арифметические и логические операции на биты флагового регистра?
Список литературы
Юров В.Б. Assembler [Текст] : учебник студентам вузов, изучающим архитектуру микропроцессоров Intel в рамках соответствующих дисциплин / - СПб.: М.: Харьков :Минск : Питер, 2001. - 624 с. Скляров В.А. Программирование на языке Ассемблера [Текст] : учебное пособие / Скляров В.А. - М. : Высшая школа, 1999. - 151,[1]с. Пузанкова Д.В. Микропроцессорные системы [Текст] : учебное пособие для студентов вузов, обучающихся по направлению подготовки бакалавров и магистров "Информатика и вычислительная техника"/-СПб.: Политехника, 2002. - 936 с. : ил. - (Учебное пособие для вузов). Пузанкова Д.В. Сквозные образовательные программы высшего и среднего профессионального технического образования по направлениям: "Радиотехника", "Автоматизация и управление" [Текст] : методический материал / - М. : Новый учебник, 2004. - 73 с.
Приложение 1 Команды ассемблера микропроцессора КР580ИК80А
Команды пересылки
Команда
| Описание
| Код
| Длина
| Mov r1,r2
| Пересылка данных из регистра r2 в регистр r1
|
| 1
| Mov M, r
| Пересылка данных из регистра r в память
|
| 1
| Mov r, M
| Пересылка данных из памяти в регистр r
|
| 1
| XCHG
| Обмен данными между парами регистров HL и DE
| ЕВ
| 1
| MVI r( )
| Занесение байта данных в регистр r
|
| 2
| MVI M ( )
| Занесение байта данных в память
| 36
| 2
| LDA (адрес)
| Загрузка содержимого ячейки с указанным адресом в накопитель
| 3А
| 3
| LHLD (адрес)
| Загрузка в регистры H, L содержимого ячеек с указанным адресом и адресом на единицу большим
| 2А
| 3
| STAX rp
| Занесение содержимого накопителя в ячейку, косвенно адресуемую парой регистров rp (B,D)
|
| 1
| STA (адрес)
| Занесение содержимого накопителя в ячейку с указанным адресом
| 32
| 3
| SHLD (адрес)
| Занесение содержимого регистра HL в память с указанным адресом и адресом на единицу большим
| 22
| 3
| LXI rp ( )
| Занесение двух байтов данных в пару регистров (B,D,H,SP)
|
| 3
| LDAX rp
| Загрузка в накопитель содержимого ячейки, косвенно адресуемую парой регистров rp (B,D)
|
| 1
| Вычислительные команды
ADD
| Сложение содержимого регистра r и накопителя
|
| 1
| ADD M
| Сложение содержимого ячейки памяти и накопителя
| 86
| 1
| ADC r
| Сложение содержимого регистра r и накопителя с учётом переноса С
|
| 1
| ADC M
| Сложение содержимого ячейки памяти и накопителя с учётом переноса С
| 8Е
| 1
| ADI ( )
| Сложение байта с содержимым накопителя
| С6
| 2
| ACI ( )
| Сложение байта с содержимым накопителя с учетом переноса
| СЕ
| 2
| SUI ( )
| Вычитание байта из содержимого накопителя
| D6
| 2
| SUB r
| Вычитание содержимого регистра r из содержимого накопителя
|
| 1
| SBI ( )
| Вычитание байта из содержимого накопителя с учетом заёма
| DE
| 2
| SUB M
| Вычитание содержимого памяти из содержимого накопителя
| 96
| 1
| SBB r
| Вычитание содержимого регистра r из содержимого накопителя с заёмом
|
| 1
| SBB M
| Вычитание содержимого памяти из содержимого накопителя с заёмом
| 9E
| 1
| Логические команды
ANA r
| Подразрядное И над содержимым регистра r и накопителя
|
| 1
| ANA M
| Подразрядное И над содержимым памяти и накопителя
| А6
| 1
| XRA r
| Подразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра r и накопителя
|
| 1
| XRA M
| Подразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым памяти и накопителя
| АЕ
| 1
| ORA r
| Подразрядное ИЛИ над содержимым регистра r и накопителя
|
| 1
| ORA M
| Подразрядное ИЛИ над содержимым памяти и накопителя
| В6
| 1
| CMP r
| Сравнение содержимых регистра r и накопителя
|
| 1
| CMP M
| Сравнение содержимых памяти и накопителя
| ВЕ
| 1
| ANI ( )
| Подразрядное И над содержимым накопителя и байтом
| Е6
| 2
| XRI ( )
| Подразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым накопителя и байтом
| ЕЕ
| 2
| ORI ( )
| Подразрядное ИЛИ над содержимым накопителя и байтом
| F6
| 2
| CPI ( )
| Сравнение байта с содержимым накопителя
| FE
| 2
| DAD rp
| Сложение содержимого пары регистров rp (B,D,H,SP) с содержимым пары регистров H,L
|
| 1
| INR r
| Увеличение содержимого регистра r на единицу
|
| 1
| DCR r
| Уменьшение содержимого регистра r на единицу
|
| 1
| DCR M
| Уменьшение содержимого памяти на единицу
| 35
| 1
| INR M
| Увеличение содержимого памяти на единицу
|
| 1
| INX rp
| Увеличение содержимого пары регистров rp (B,D,H,SP) на единицу
|
| 1
| DCX rp
| Уменьшение содержимого пары регистров rp (B,D,H,SP) на единицу
|
| 1
| Команды сдвига
RLC
| Циклический сдвиг содержимого накопителя влево
| 7
| 1
| RRC
| Циклический сдвиг содержимого накопителя вправо
| 0F
| 1
| RAL
| Циклический сдвиг содержимого накопителя влево через перенос
| 17
| 1
| RAR
| Циклический сдвиг содержимого накопителя вправо через перенос
| 1F
| 1
| DAA
| Преобразование содержимого накопителя в двоично-десятичный код
| 27
| 1
| CMA
| Поразрядное инвертирование накопителя
| 2F
| 1
| STC
| Установка признака переноса в единицу
| 37
| 1
| CMC
| Инвертирование признака переноса
| 3F
| 1
| PCHL
| Занесение содержимого регистров H.L в счетчик команд
| E9
| 1
| Условный и безусловный переход
JMP (адрес)
| Безусловный переход по указанному адресу
| C3
| 3
| JC (адрес)
| Переход при наличии переноса
| DA
| 3
| JNC (адрес)
| Переход при отсутствии переноса
| D2
| 3
| JZ (адрес)
| Переход при нуле
| CA
| 3
| JNZ (адрес)
| Переход при отсутствии нуля
| C2
| 3
| JP (адрес)
| Переход при плюсе
| F2
| 3
| JM (адрес)
| Переход при минусе
| FA
| 3
| JPE (адрес)
| Переход при чётности
| EA
| 3
| JPO (адрес)
| Переход при нечётности
| E2
| 3
| CALL (адрес)
| Вызов подпрограммы
| CD
| 3
| CC (адрес)
| Вызов подпрограммы при переносе
| DC
| 3
| CNC (адрес)
| Вызов подпрограммы отсутствии переноса
| D4
| 3
| CZ (адрес)
| Вызов подпрограммы при нуле
| CC
| 3
| CNZ (адрес)
| Вызов подпрограммы при отсутствии нуля
| C4
| 3
| CP (адрес)
| Вызов подпрограммы при плюсе
| F4
| 3
| CM (адрес)
| Вызов подпрограммы при минусе
| FC
| 3
| CPE (адрес)
| Вызов подпрограммы при чётности
| EC
| 3
| CPO (адрес)
| Вызов подпрограммы при нечётности
| E4
| 3
| RET
| Возврат
| C9
| 1
| RC
| Возврат при переносе
| D8
| 1
| RNC
| Возврат при отсутствии переноса
| D0
| 1
| RZ
| Возврат при нуле
| C8
| 1
| RNZ
| Возврат при отсутствии нуля
| C0
| 1
| RP
| Возврат при плюсе
| F0
| 1
| RM
| Возврат при минусе
| F8
| 1
| RPE
| Возврат при чётности
| E8
| 1
| RPO
| Возврат при нечётности
| E0
| 1
| RST (номер)
| Повторный запуск с адреса
| CF
| 1
| Команды стёка, ввода, вывода и управления
IN(канал)
| Ввод данных из накопителя в указанный канал
| D8
| 2
| OUT(канал)
| Вывод данных из накопителя в указанный канал
| D3
| 2
| PUSH rp
| Занесение содержимого пары регистров rp (B,D,H,PSW) в стёк
|
| 1
| POP rp
| Выдача данных из стёка в пару регистров rp (B,D,H,PSW) в стёк
|
| 1
| XTHL
| Обмен данными между вершиной стёка и парой регистров H,L
| E3
| 1
| SPHL
| Занести в указатель стёка содержимое регистров H,L
| F9
| 1
| DI
| Запретить прерывание
| F3
| 1
| EI
| Разрешить прерывание
| FB
| 1
| NOP
| Отсутствие операции
| 0
| 1
| HLT
| Остановка
| 76
| 1
|
|
|
|