Лабораторная работа. Лапик Наталья Владиславовна Старший преподаватель Тюмень Тюмгнгу 2016 Попова Н. В., Лапик Н. В. Изучение лабораторного микропроцессорного комплекта и решения простейших задач методические указания
![]()
|
2.1 Вопросы для самопроверки 1. Из чего состоит память микропроцессора 2. Нарисуйте структуру учебной микроЭВМ. 3. Что является особенностью блока регистров МП 4. Шина (адреса, данных, управления) является однонаправленной. 5. На какие группы можно разделить команды. 6. Нарисуйте внутреннюю структуру микропроцессора и укажите основное назначение его компонентов. 7. Какие биты входят в состав регистра признаков микропроцессора 8. Какие команды арифметических и логических операций выполняет микропроцессор КР580ВМ80А? 9. Какие методы адресации используются в микропроцессоре 10. Как влияют арифметические и логические операции набиты флагового регистра. Какие принципы фон Неймана использовали при программировании. 3 СПИСОК ЛИТЕРАТУРЫ 1. Юров В.Б. Assembler Текст : учебник студентам вузов, изучающим архитектуру микропроцессоров Intel в рамках соответствующих дисциплин / - СПб.: М Харьков Минск : Питер, 2001. - 624 с. 2. Скляров В.А. Программирование на языке Ассемблера Текст : учебное пособие / Скляров ВАМ Высшая школа, 1999. - с. 3. Пузанкова Д.В. Микропроцессорные системы Текст : учебное пособие для студентов вузов, обучающихся по направлению подготовки бакалавров и магистров "Информатика и вычислительная техника"/-СПб.: Политехника, 2002. - 936 сил- (Учебное пособие для вузов. 4. Пузанкова Д.В. Сквозные образовательные программы высшего и среднего профессионального технического образования по направлениям "Радиотехника, "Автоматизация и управление" Текст : методический материал / - М. : Новый учебник, 2004. - 73 с. 26 Приложение 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 LHLD адрес) Загрузка в регистры H, L содержимого ячеек с указанным адресом и адресом на единицу большим А 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 Сложение содержимого ячейки памяти и накопителя 1 ADC r Сложение содержимого регистра r и накопителя с учётом переноса С ADC M Сложение содержимого ячейки памяти и накопителя с учётом переноса СЕ 1 ADI ( ) Сложение байта с содержимым накопителя С 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 Подразрядное И над содержимым памяти и накопителя А 1 XRA r Подразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым регистра r и накопителя 1 XRA M Подразрядное ИСКЛЮЧАЮЩЕЕ ИЛИ над содержимым памяти и накопителя АЕ 1 ORA r Подразрядное ИЛИ над содержимым регистра r и накопителя 1 ORA M Подразрядное ИЛИ над содержимым памяти и накопителя В 1 CMP r Сравнение содержимых регистра r и накопителя 1 CMP M Сравнение содержимых памяти и накопителя ВЕ 1 ANI ( ) Подразрядное И над содержимым накопителя и байтом Е 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 Циклический сдвиг содержимого накопителя вправо через перенос 1 27 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 Команды стёка, ввода, вывода и управления канал) Ввод данных из накопителя в указанный канал D8 2 канал) Вывод данных из накопителя в указанный канал 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 28 Приложение 2 Мнемоника команд ассемблера микропроцессора КР580ВМ80А Мнемокод Код Мнемокод Код Мнемокод Код Мнемокод Код Мнемокод Код Ком/пересылки MOV H,A 67 LXI D,& 11 DAD B 09 INR D 14 MOV A,A 7F MOV H,B 60 LXI H,& 21 DAD D 19 INR E 1C MOV A,B 78 MOV H,C 61 LXI SP,& 31 DAD H 29 INR H 24 MOV A,C 79 MOV H,D 62 LDAX B 0A DAD SP 39 INR L 2C MOV A, D 7A MOV H,E 63 LDAX D 1A Логические операции DCR A 3D MOV A,E 7B MOV H,H 64 STAX B 0A ANA A A7 DCR B 05 MOV A, H 7C MOV H,L 65 STAX D 12 ANA B A0 DCR C 0D MOV A,L 7D MOV L,A 6F Арифм/операции ANA C A1 DCR D 15 MOV B,A 47 MOV L,B 68 ADD A 87 ANA D A2 DCR E 1D MOV B,B 40 MOV L,C 69 ADD B 80 ANA E A3 DCR H 25 MOV B,C 41 MOV L,D 6A ADD C 81 ANA H A4 DCR L 2D MOV B,D 42 MOV L,E 6B ADD D 82 ANA L A5 INX B 03 MOV B,E 43 MOV L,H 6C ADD E 83 XRA A AF INX D 13 MOV B,H 44 MOV L,L 6D ADD H 84 XRA B A8 INX H 23 MOV B,L 45 MOV M,A 77 ADD L 85 XRA C A9 INX SP 33 MOV C,A 4F MOV M,B 70 ADC A 8F XRA D AA DCX B 0B MOV C,B 48 MOV M,C 71 ADC B 88 XRA E AB DCX D 1B MOV C,C 49 MOV M,D 72 ADC C 89 XRA H AC DCX H 2B MOV C,D 4A MOV M,E 73 ADC D 8A XRA L AD DCX SP 3B MOV C,E 4B MOV M,H 74 ADC E 8B ORA A B7 PUSH B C5 MOV C,H 4C MOV M,L 75 ADC H 8C ORA B B0 PUSH D D5 MOV C,L 4D MOV A,M 7E ADC L 8D ORA C B1 PUSH H E5 MOV D,A 57 MOV B,M 46 SUB A 97 ORA D B2 PUSH PSW F5 MOV D,B 50 MOV C,M 4E SUB B 90 ORA E B3 POP B C1 MOV D,C 51 MOV D,M 56 SUB C 91 ORA H B4 POP D D1 MOV D,D 52 MOV E,M 5E SUB D 92 ORA L B5 POP H E1 MOV D,E 53 MOV H,M 66 SUB E 93 CMP A BF POP PSW F1 MOV D,H 54 MOV L,M 6E SUB H 94 CMP B B8 MOV D,L 55 MVI A,# 3E SUB L 95 CMP C B9 MOV E,A 5F MVI B,# 06 SBB A 9F CMP D BA MOV E,B 58 MVI C,# 0E SBB B 98 CMP E BB MOV E,C 59 MVI D,# 16 SBB C 99 CMP H BC MOV E,D 5A MVI E,# 1E SBB D 9A CMP L BD MOV E,E 5B MVI H,# 26 SBB E 9B INR A 3C MOV E,H 5C MVI L,# 2E SBB H 9C INR B 04 MOV E,L 5D LXI B,& 10 SBB L 9D INR C 0C 29 Приложение 3 Арифметические и логические команды микропроцессоров Intel 8080/8085. Арифметические команды предназначены для выполнения операций сложения, сложения с переносом, вычитания, вычитания с заемом, инкрементирования, декрементирования, десятичной коррекции аккумулятора. Результат всех арифметических операций остается в аккумуляторе. ADD r (Add register). Сложение содержимого регистра (А) (А) + (r). Содержимое регистра r складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов – 1; периодов Т – 4; адресация – регистровая индикаторы – Z, S, P, CY, AC. ADD M (Add memory). Сложение данных памяти (А) (А) + М. Содержимое ячейки памяти, адрес которой содержится в регистрах Ни, складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – косвенная регистровая индикаторы – Z, S, P, CY, AC. ADI data 8 (Add immediate). Непосредственное сложение (А) (А) + data. Содержимое байта 2 команды складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов - 2; периодов Т - 7; адресация - непосредственная. ADC r (Add register with carry). Прибавление содержимого регистра и переноса (А) (А) + (r) + (CY). Содержимое регистра r и индикатора переноса (бит переполнения) складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов – 1; периодов Т – 4; адресация – регистровая индикаторы - Z, S, P, CY, AC. ADC M (Add memory with carry). Прибавление содержимого памяти и переноса (А) (А) + M(HL) + (CY). Содержимое ячейки памяти, адресом которой является содержимое пары регистров HL, и индикатора переноса складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – косвенная регистровая индикаторы - Z, S, P, CY, AC. ACI data 8 (Add immediate with carry). Непосредственное сложение с учетом переноса (А) (А) + data 8 + (CY). Содержимое байта 2 команды и индикатора переноса складывается с содержимым аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – непосредственная индикаторы - Z, S, P, CY, AC. 30 SUB r (Subtract register). Вычитание содержимого регистра (А) А) – (r). Содержимое регистра r вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы - Z, S, P, CY, AC. SUB М (Subtract memory). Вычитание содержимого памяти (А) А) – М. Содержимое ячейки памяти, адрес которой является содержимым пары HL, вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – косвенная регистровая индикаторы - Z, S, P, CY, AC. SUI data 8 (Subtract immediate). Непосредственное вычитание данных (А) (А) – data 8. Содержимое байта 2 команды вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – непосредственная индикаторы - Z, S, P, CY, AC. SBB r (Subtract register with borrow). Вычитание содержимого регистра и переноса (А) (А) – (r) – (CY). Содержимое регистра r и индикатора переноса CY вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы - Z, S, P, CY, AC. SBB М (Subtract memory with borrow). Вычитание содержимого памяти и переноса (А) (А) – М) – (CY). Содержимое ячейки памяти, адрес которой является содержимым пары HL, и индикатора переноса CY вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – косвенная регистровая индикаторы - Z, S, P, CY, AC. SBI data 8 (Subtract immediate with borrow). Непосредственное вычитание данных и переноса (А) (А) – data 8 – (CY). Содержимое байта 2 команды и индикатора переноса CY вычитается из содержимого аккумулятора. Результат помещается в аккумулятор. Циклов – 2; периодов Т – 7; адресация – непосредственная индикаторы - Z, S, P, CY, AC. INR r (Increment register). Инкремент содержимого регистра (r) (r) + 1. Содержимое регистра r увеличивается на 1. Устанавливаются все индикаторы состояния, за исключением CY. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы - Z, S, P, AC. 31 INR М (Increment memory). Инкремент содержимого памяти M(HL) M(HL) + 1. Содержимое ячейки памяти, адрес которой содержится в паре HL, увеличивается на 1. Устанавливаются все индикаторы состояния, за исключением CY. Циклов – 3; периодов Т – 10; адресация – косвенная регистровая индикаторы - Z, S, P, AC. DCR r (Decrement register). Декремент содержимого регистра (r) (r) - 1. Содержимое регистра r уменьшается на 1. Устанавливаются все индикаторы состояния, за исключением CY. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы - Z, S, P, AC. DCR М (Decrement memory). Декремент содержимого памяти M(HL) M(HL) - 1. Содержимое ячейки памяти, адрес которой содержится в паре HL, уменьшается на 1. Устанавливаются все индикаторы состояния, за исключением CY. Циклов – 3; периодов Т – 10; адресация – косвенная регистровая индикаторы - Z, S, P, AC. INX rp (Increment register pair). Инкремент содержимого пары регистров (rp) (rp) + 1. Содержимое пары регистров rp увеличивается на 1. Не устанавливаются никакие индикаторы состояния. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы не изменяются. DCX rp (Decrement register pair). Декремент содержимого пары регистров (rp) (rp) - 1. Содержимое пары регистров rp уменьшается на 1. Не устанавливаются никакие индикаторы состояния. Циклов – 1; периодов Т – 5; адресация – регистровая индикаторы не изменяются. DAD rp (Add register pair to hand L). Сложить содержимое пары регистров с содержимым пары HL (HL) (HL) + (rp). Содержимое пары регистров rp складывается с содержимым пары HL. Устанавливается только индикатор CY. Он устанавливается в 1, если есть перенос при сложении с удвоенной точностью, если нет – сбрасывается в 0. Циклов – 3; периодов Т – 10; адресация – регистровая индикаторы - CY. DAA (Decimal adjust accumulator). Десятичный корень аккумуляторами разрядное число в аккумуляторе разбивается на два х разрядных двоично-десятичных. Далее выполняются следующие действия 1) если значение младшей тетрады больше 9 или устанавливается индикатор АС, ток содержимому аккумулятора добавляется 6; 2) если значение старшей тетрады аккумулятора больше 9 или устанавливается индикатор переноса CY, то 6 добавляется к значению старшей тетрады аккумулятора. Циклов – 1; периодов Т – 5; индикаторы - Z, S, P, CY, AC. 32 Учебное издание ИЗУЧЕНИЕ ЛАБОРАТОРНОГО МИКРОПРОЦЕССОРНОГО КОМПЛЕКТА И РЕШЕНИЯ ПРОСТЕЙШИХ ЗАДАЧ Методические указания по выполнению лабораторной работы №1 Составитель ПОПОВА Надежда Владимировна, ЛАПИК Наталья Владиславовна Ответственный редактор В.В. Козлов, к.т.н, доцент В авторской редакции Подписано в печать . Формат х 1/16. Печ. Л. 1.0 Тираж экз. Заказ № Библиотечно-издательский комплекс федерального государственного бюджетного образовательного учреждения высшего образования Тюменский государственный нефтегазовый университет Тюмень, ул. Володарского, 38. Типография библиотечно-издательского комплекса. 625039, Тюмень, ул. Киевская 52. |