
- •Содержание
- •Задание
- •2. Схемы программно-управляемых устройств в составе микро-эвм.
- •2.1 Дисплейная часть
- •2.2 Клавиатурная часть
- •Блок-схемы алгоритмов программы и подпрограмм
- •4. Тексты программ и подпрограмм в мнемониках и машинных кодах
- •4.1 Общее описание работы программы.
- •4.2. Программа: main
- •4.3. Подпрограмма: vibor
- •4.4. Подпрограмма monitor:
- •4.5. Подпрограмма: vvod
- •4.7. Подпрограмма sum:
- •4.8. Подпрограмма Data_to_Memory:
- •4.9. Подпрограмма Razn:
- •4.10. Подпрограмма error:
- •5. Список литературы
4.2. Программа: main
Входные параметры: регистр А (выбранное действие)
Выходные параметры: ячейка памяти 0B0A
Используемые подпрограммы: VIBOR, Monitor, VVOD, ERROR.
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарий |
0810 |
CD 40 08 |
|
CALL VIBOR |
п/п выбора действия из предложенных |
0813 |
CD 50 08 |
|
CALL Monitor |
п/п определения выбранного действия |
0816 |
32 0A 0B |
|
STA 0B0A |
Сохранение выбранного действия в 0В0А |
0819 |
3A A0 0B |
|
CALL VVOD |
п/п ввода однобайтного числа |
081С |
32 3A 0B |
|
LDA 0B0A |
Загрузка в A номера действия |
0820 |
FE F7 |
|
CPI F7 |
Если клавиша не функциональная, |
0822 |
CA 56 08 |
|
JZ H1 |
то к H1 |
081F |
FE 02 |
|
CPI A-02 |
Если выбрано 2-е действие |
0821 |
CA ED 08 |
|
JZ Razn |
то переход на п/п выполнения действия_2 |
0824 |
FE 01 |
|
CPI A-01 |
Если выбрано 1-е действие |
0826 |
CA 30 09 |
|
JZ SUM |
то переход на п/п выполнения действия_1 |
0856 |
CD 80 08 |
H1: |
CALL ERROR |
Ошибка |
0859 |
C9 |
|
RET |
|
4.3. Подпрограмма: vibor
Входные параметры: отсутствуют
Выходные параметры: регистр А
Используемые подпрограммы: BLNK, CPU, KIND
Адрес |
Код команды |
Метка |
Мнемокод |
Комментарий |
0830 |
CD 97 02 |
VIBOR: |
CALL BLNK |
Очистка экрана |
0833 |
CD 85 01 |
M1: |
CALL CPU |
Нажата ли клавиша |
0836 |
21 F5 0B |
|
LXI H,0BF5 |
Указатель на HL5 |
0839 |
3E 01 |
|
MVI A,01 |
Вывести “1” на HL5 |
083B |
77 |
|
MOV M,A |
|
083C |
2B |
|
DCX H |
Декрементировать регистровую пару HL(0BF3) |
083D |
2B |
|
DCX H |
|
083E |
3E 02 |
|
MVI A,02 |
Вывести “2” на HL3 |
0840 |
77 |
|
MOV M,A |
|
0841 |
2B |
|
DCX H |
Декрементировать регистровую пару HL(0BF1) |
0842 |
2B |
|
DCX H |
|
0843 |
3E 03 |
|
MVI A,03 |
Вывести “3” на HL1 |
0845 |
77 |
|
MOV M,A |
|
0846 |
CA 33 08 |
|
JZ M1 |
Переход к М1 |
0849 |
CD 4B 01 |
|
CALL KIND |
Определение кода клавиши |
084C |
C9 |
|
RET |
Возврат из подпрограммы |