Например, на пятый разряд необходимо вывести число 3. Для этого на шину записывается код пятого разряда 100, а на шину код числа «3» – 0011.
MVI |
A, 0011b |
||
OUT |
74h |
Переменные: (период зондирующих импульсов);
(знак предыдущей скорости);
(модуль предыдущей скорости);
(знак текущей скорости);
(модуль текущей скорости);
(номер разряда дисплея).
Для хранения значений кодов предыдущего направления и скорости в ОЗУ резервируются 2 ячейки памяти. Первая ячейка (с адресом 0803h) соответствует предыдущему направлению, вторая (с адресом 0804h) – предыдущей скорости.
DN1 |
DN2 |
DN3 |
DN4 |
DN5 |
|
TN |
VS1 |
VN1 |
VS2 |
VN2 |
|
70h |
71h |
72h |
73h |
74h |
– катоды (OUT port) |
0803h |
0804h |
– адрес ячейки памяти |
Процесс вычисления значения разряда дисплея происходит следующим образом: если нажата клавиша скорости, значение которой лежит в пределах 0…7, то код нажатой клавиши отправляется непосредственно по адресу требуемого разряда дисплея.
LDA |
0804h |
; извлечение кода предыдущего значения скорости |
|
OUT |
72h |
; вывод значения предыдущего значения скорости на дисплее |
|
MOV |
A,C |
; запись нового значения скорости |
|
STA |
0804h |
||
OUT |
74h |
Если была нажата клавиша периода (1100…1111), то значение кода клавиши необходимо уменьшить на 11, чтобы отобразились на дисплее символы от «1» до «4».
MOV |
A,C |
||
SUI |
11 |
||
OUT |
70h |
вывод кода на дисплей |
Если же нажата клавиша направления «–»(код 1000), то для отображения символа «b» () необходимо прибавить 3 к коду клавиши. Если была нажата клавиша «+» (код 1001), то для отображения «F»() к коду нажатой клавиши необходимо прибавить 6.
LDA |
0803h |
; извлечение кода предыдущего направления |
|
OUT |
71h |
; вывод значения предыдущего направления на дисплее |
|
MOV |
A,C |
; модификация значения текущего направления |
|
CPI |
8h |
||
JZ |
L1 |
||
ADI |
6h |
; была нажата клавиша «+» |
|
JMP |
L2 |
||
L1: |
ADI |
3h |
; была нажата клавиша «–» |
L2: |
STA |
0803h |
|
OUT |
73h |
; вывод символа на дисплей |
Цель инициализации – задание определенных параметров работы имитатора до момента нажатия клавиш, а именно: задание вершины стека, запись в регистр делителей на и данных для обеспечения скорости , периода и вывод на дисплей исходной информации (значений и ) и выполнение команды EI разрешения прерываний
Программа инициализации имитатора
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.