Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Архив1 / docx58 / Асемблер 1 лаба

.docx
Скачиваний:
15
Добавлен:
01.08.2013
Размер:
22.01 Кб
Скачать

Министерство образования и науки Российской Федерации

ФГБОУ ВПО «АЛТАЙСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

Физико-Технический Факультет

Кафедра Вычислительной техники и электроники

Лабораторная работа №1.

(по курсу «Организация и архитектура вычислительных систем»)

Выполнил: ст-т 2 курса 515 гр.

___________ __ Голод В.С.

Проверил: к.ф.-м.н., доцент

______________ Шайдуров А. А.

Барнаул 2012.

Постановка задачи.

Составить программу, которая обрабатывает нажатия клавиш на клавиатуре и выводит символ «e» на экран.

Алгоритм решения задачи.

Начало

Клавиша

e?

нет

нет

Клавиша

Esc?

да

Вывод на экран e.

да

Конец

Список используемых флагов, регистров.

  1. В регистр ax занёсся сегмент дата, флаг I=1 внешние прерывания разрешены.

  2. В регистр as занесли регистр ax.

  3. В регистр ah занесли 8 функцию. Т.е когда вводим клавишу какую-то не «e», её код заносится в регистр al.

  4. Переместили данные из регистра al в регистр dl.

  5. Сравнили то, что в регистре dl с нужным символом. Флаг P=1. P - флаг четности; устанавливается в случае четного числа единиц результата.

  6. Сравнил клавишу с esc. P=0, A=1. A - флаг вспомогательного переноса; устанавливается при наличии переноса из младшей тетрады в старшую; используется только командами десятичной арифметики.

  7. Т.к. ввели клавишу не «e» и не «Esc», по метке на вверх.

  8. П. 1 и 2 повторили. Ввели клавишу e, записалась в ax.

  9. Переместили данные из регистра al в регистр dl.

  10. Сравнили то, что в регистре dl с нужным символом. P=1, A=0, Z=1. Z - флаг нуля; устанавливается при нулевом результате.

  11. В регистр ah внесли 2 функцию.

  12. Сравнили символ с Esc. Z=0, A=1, P=0.

  13. Т.к. клавиша не Esc, то по метке вверх.

  14. П. 1 и 2 повторили. Ввели клавишу esc, записалась в ax.

  15. Переместили данные из регистра al в регистр dl.

  16. Сравнили то, что в регистре dl с нужным символом. A=0, C=1, S=1. S - флаг знака; устанавливается в единицу при отрицательном результате операции, полученном путем выполнения арифметико-логических команд. C - флаг переноса; фиксирует значение переноса (заема) при сложении (вычитании), а также значение выдвигаемого бита при сдвигах;

  17. Сравнили символ с Esc. Z=1, P=1, C=0, S=0. S - флаг знака; устанавливается в единицу при отрицательном результате операции, полученном путем выполнения арифметико-логических команд.

  18. В регистр ah занесли функцию 4сh.

Соседние файлы в папке docx58