ТОП 10:

Роздрукувати лістинг правильно працюючої програми.



8 Відповісти на контрольні питання викладача.

Таблиця 4 - Перелік прапорців

Символ Позиція Ім’я і призначення
P PSW.0 Прапорець пріоритету. Встановлюється і скидається апаратно в кожному циклі команди і фіксує непарне/парне число одиничних біт в акумуляторі
- PSW.1 Не використовується
OV PSW.2 Прапорець переповнення. Встановлюється і скидається апаратно при виконанні арифметичних операцій
RS0 - RS1 PSW.3 - PSW.4 Біти вибору використовуваного банку регістрів. Можуть бути змінені програмним шляхом
RS0 RS1 Банк Границі адресів ОЗП
00H - 07H
08H - 0FH
10H 17H
  8H - 1FH

Продовження табл. 4

F0 PSW.5 Прапорець користувача. Може бути встановлений, скинутий або перевірений програмою користувача
АС PSW.6 Прапорець допоміжного перенесення. Встановлюється і скидається тільки апаратними засобами при виконанні команд додавання і віднімання і сигналізує про перенесення або позички в біті 3 акумулятора
C PSW.7 Прапорець перенесення. Встановлюється і скидається як апаратно, так і програмним шляхом

Як початковий код використовувати програму, розроблену в лабораторній роботі 3.

 

Приклад програми для роботи зі стеком

Занести в акумулятор число і виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h.

$ NOMOD51

$ Include (D:\ Sum_GU_STUD\MPP\ BIN\ASM51\mod51)

ORG 0

mov A, # 01000100b

jb PSW.0, Chetnoe

mov P2, # 11h

jmp Stop

Chetnoe:

mov P2, # 00h

Stop:

jmp Stop

END

 

Таблиця 5 - Варіанти індивідуальних завдань до ЛР 4

Номер вар Текст індивідуального завдання
1,11, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 5 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
2,12, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 6 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1» вивести число 11h
3,13, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Після досягнення кількості натискань 7 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW6 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
4,14, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW7. Після досягнення кількості натискань 8 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW8 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
5,15, Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 9 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h

Продовження табл. 5

6,16 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 4 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
7,17 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW5. Після досягнення кількості натискань 5 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW6 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
8,18 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW7. Після досягнення кількості натискань 6 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW8 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
9,19 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW1. Після досягнення кількості натискань 7 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW2 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h
10,20 Підрахувати і відобразити на статичному індикаторі кількість натискань кнопки SW3. Після досягнення кількості натискань 8 занести кількість натискань в акумулятор і перевірити прапорець паритету. При натисканні кнопки SW4 виконати перевірку прапорця паритету. Якщо прапорець дорівнює «0», і вивести на статичний індикатор число 00h, якщо прапорець дорівнює «1», вивести число 11h

 

Рисунок 12 - Схема до лабораторної роботи 4







Последнее изменение этой страницы: 2016-06-07; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 75.101.220.230 (0.006 с.)