- •Основы микропроцессорной техники и прикладное программирование Лабораторная работа 4. Изучение принципов ввода информации в управляющую микроЭвм сканирующего типа
- •Теоретическая часть
- •Принцип сканирования в современных управляющих системах
- •Методы ввода информации в микроЭвм
- •2. Порядок выполнения работы.
- •2.1. Программа In_Scan. Структура и принцип работы. Внесение изменений
- •Компилирование и линкирование исходного файла программы In_Par
- •2.3. Подготовка файла входных переменных
- •Подготовка командных файлов управления
- •0800H (изменить расположение сегмента данных ds)
- •3. Отладка программы с помощью симулятора avsim85
- •Часть 4. Анализ полученных результатов и оформление
- •Система команд мп кр1821вм85а
- •Продолжение таблицы
3. Отладка программы с помощью симулятора avsim85
Для загрузки исполняемой программы и командного файла, который производит подсоединение файлов данных и конфигурирования программного имитатора необходимо запустить управляющий bat-файл
In_Par.bat
После ввода этой команды имитатор готов к работе.
Проконтролируйте правильность подключения файлов данных, набрав последовательно команды:
V - просмотр режимов, подключений, точек останова и т.д.,
I - просмотр файлов ввода/вывода.
Выполните программу в автоматическом режиме, нажав клавишу F1. Убедитесь в ее работоспособности. Если программа работает неправильно – осуществите отладку, внеся соответствующие исправления в исходный файл.
Если программа правильно исполняется в автоматическом режиме, осуществите ее прогон в пошаговом режиме (F10). Предварительно инициализируйте счетчик циклов (SET → CYcLEs).
Зафиксируйте количество тактов, необходимых для исполнения программы.
Зарисуйте вид в окне DUMP масива введенных параметров (см. Рисунок 5)
Часть 4. Анализ полученных результатов и оформление
Содержание отчета
Отчет должен содержать.
Титульный лист
Задание на лабораторную работу.
Карту памяти микроЭВМ (2D – модель), построенную в соответствии с заданием.
текст подготовленной программы с внесенными применительно к заданию изменениями.
массив входных переменных – содержимое файлов myparam.ad и myparam.dat;
Приложение1
Система команд мп кр1821вм85а
Группа команд |
Маш. Код В или Н |
Мнемоника команды |
Описание команды |
Длина |
Признаки |
|||||
Байты |
Такты |
Z |
S |
P |
C |
AC |
||||
Команды пересылок |
01.r1.r2 01.110.r 01.r .110 00.r.110 36 00.rp.0001 3A 32 2A 22 00.rp.1010 00.rp.0010 EB |
MOV r1,r2 MOV M,r MOV r,M MVI r,data MVI M.data LXI rp,data LDA addr STA addr LHLD addr SHLD addr LDAX rp STAX rp XСHG |
(r1)← (r2) ((HL))←(r) (r)← ((HL)) (r)← data ((HL))←data (rp)←data (A)← (addr) (addr)← (A) L← (addr), H← (addr+1) (addr)←L, (addr+1)←H A← ((rp)) ((rp)) ←A (H) ↔ (D), (L)↔ (E) |
1 1 1 2 2 3 3 3 3 3 3 1 1 |
5 7 7 7 10 10 13 13 16 16 7 7 4 |
– – – – – – – – – – – – – |
– – – – – – – – – – – – – |
– – – – – – – – – – – – – |
– – – – – – – – – – – – – |
– – – – – – – – – – – – – |
Команды арифметические |
10000.r. 86 C6 10001.r. 8E CE 00.rp.1001 10010..r. 96 D6 10011.r. 9E DE 00.r .100 34 00.rp.0011 00.r .101 35 00.rp.1011 27 |
ADD r ADD M ADI data ADC r ADC M ACI data DAD rp SUB r SUB M SUI data SBB r SBB M SBI data INR r INR M INX rp DCR r DCR M DCX rp DAA |
(A) ← (A)+(r) (A) ← (A)+((HL)) (A) ← (A)+ data (A) ← (A)+(r) + (C) (A) ← (A)+((HL))+ (C) (A) ← (A)+data+ (C) (H,L) ← (HL)+(rp) (A) ← (A)– (r) (A) ← (A)– (M) (A) ← (A)– data (A) ← (A)– (r)– (C) (A) ← (A)–(M)– (C) (A) ← (A)–data– (C) (r) ← (r)+1 ((HL)) ← ((HL))+1 (rp) ← (rp)+1 (r) ← (r)–1 ((H,L)) ← ((HL))–1 (rp) ← (rp)–1 десятичная коррекция |
1 1 2 1 1 2 1 1 1 2 1 1 2 1 1 1 1 1 1 1 |
4 7 7 4 7 7 10 4 7 7 4 7 7 5 10 5 5 10 5 4 |
+ + + + + + – + + + + + + + + – + + – + |
+ + + + + + – + + + + + + + + – + + – + |
+ + + + + + – + + + + + + + + – + + – + |
+ + + + + + + + + + + + + – – – – – – + |
+ + + + + + – + + + + + + + + – + + – + |
Команды логические |
10100.r A6 E6 10101.r AE EE 10110.r B6 F6 10111.r BE FE 07
0F
17
1F
2F 3F 37 |
ANA r ANA M ANI data XRA r XRA M XRI data ORA r ORA M ORI data CMP r CMP M CPI data RLC
RRC
RAL
RAR
CMA CMC STC |
(A) ← (A)&(r) (A) ← (A)&((HL)) (A) ← (A)&data (A) ← (A)+mod2 (r) (A) ← (A)+mod2 ((HL)) (A) ← (A)+mod2 data (A) ← (A)\/ (r) (A) ← (A)\/ ((HL)) (A) ← (A)\/ data (A)?=(r) сравнение (A)?=((HL)) сравнение (A) ?= data сравнение (An+1) ← (An), (A0) ← (A7), (C) ← (A7) (An) ← (An+1), (A7) ← (A0), (C) ← (A0) (An+1) ← (An), (C) ← (A7), (A0) ← (C) (An) ← (An+1), (C) ← (A0), (A7) ← (C) (A) ← (A) инверсия (A) (C) ← (C) инверсия (C) (C)=1 |
1 1 2 1 1 2 1 1 2 1 1 2 1
1
1
1
1 1 1 |
4 7 7 4 7 7 4 7 7 4 7 7 4
4
4
4
4 4 4 |
+ + + + + + + + + + + + –
–
–
–
– – – |
+ + + + + + + + + + + + –
–
–
–
– – – |
+ + + + + + + + + + + + –
–
–
–
– – – |
0 0 0 0 0 0 0 0 0 + + + +
+
+
+
– + 1 |
+ + + 0 0 0 0 0 0 + + + –
–
–
–
– – – |