- •Лабораторная работа № 1
- •1. Цель и задача работы
- •2.1. Архитектура компьютера
- •2.2. Описание частей программы на языке ассемблера
- •2.3. Процедуры формирования исполняемой программы
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Лабораторная работа № 2 режимы адресации
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 3 программирование ветвлений
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Команды условного перехода
- •2.2. Команда безусловного перехода
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 4 команды цикла и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Арифметические операции над целыми числами
- •2.2. Организация циклов
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Лабораторная работа № 5 команды ввода-вывода на экран дисплея и их использование в программах обработки
- •1. Цель и задача работы
- •2. Основные теоретические сведения
- •2.1. Метод подъема
- •2.2. Команды прерывания
- •3. Методика выполнения работы
- •4. Порядок выполнения работы
- •Контрольные вопросы
- •Варианты заданий
- •Приложение в
4. Порядок выполнения работы
1. С использованием редактора текста набрать следующую программу:
TITLE EX_PROG
PAGE ,132
STACK SEGMENT PARA STACK ‘STACK’
DB 64 DUP(‘STACK ’) ; Область стека
STACK ENDS
DSEG SEGMENT PARA PUBLIC ‘DATA’
SOURCE DB 10,20,30,40 ; эта таблица будет скопирована
DEST DB 4 DUP(?) ; в эту таблицу в обратном порядке
DSEG ENDS
SUBTTL ОСНОВНАЯ ПРОГРАММА
PAGE
CSEG SEGMENT PARA PUBLIC ‘CODE’
ASSUME CS:CSEG, DS:DSEG, SS:STACK
OUR_PROG PROC FAR
;занести в стек такие начальные значения, чтобы программа
; могла возвратить управление отладчику
PUSH DS ; поместить в стек номер блока адреса возврата
SUB AX,AX ; обнулить регистр АХ
PUSH AX ; поместить в стек значение адреса возврата
MOV AX,DSEG; инициировать адрес сегмента данных
MOV DS,AX
; скопировать таблицу SOURCE в таблицу DEST в обратном порядке, в качестве промежуточной ячейки пересылки использовать регистр AL
MOV AL, SOURCE
MOV DEST+3,AL
MOV AL, SOURCE+1
MOV DEST+2,AL
MOV AL, SOURCE+2
MOV DEST+1,AL
MOV AL, SOURCE+3
MOV DEST,AL
RET ; возврат управления отладчику db
OUR_PROG ENDP
CSEG ENDS
END OUR_PROG
2. Оттранслировать программу в объектный код.
3. Скомпоновать программу (получить исполнимый файл). Изучить листинг программы.
4. Провести отладку программы и проверить получаемые результаты.
5. Внести в программу следующие изменения: задать исходную таблицу SOURCE из 5 двухбайтовых шестнадцатеричных переменных и скопировать эту новую таблицу в DEST.
6. В программе пункта 5 в сегменте данных дополнительно определить переменные, заполнив их следующими значениями:
5 байтовых переменных AA, BB, CC, DD, EE;
5 двухбайтовых слов AABB, BBCC, CCDD, DDEE, EEFF;
7. Получить исполнимый файл программы с данными пункта 6 и изучить дамп памяти данных с целью уяснения механизма размещения данных в оперативной памяти.
Требования к содержанию и оформлению отчета
Отчет должен включать:
а) титульный лист;
б) формулировку задачи работы;
в) описание результатов выполнения пунктов 3-7:
• листинги программ;
• результаты выполнения программ;
г) вывод, согласованный с задачей работы.
Критерии результативности выполнения работы
Лабораторная работа считается успешно выполненной, если:
отчет на бумажном носителе содержит все необходимые пункты согласно требованиям;
студент дает аргументированные пояснения по всем приведенным в отчете пунктам задания;
студент отвечает на контрольные вопросы преподавателя.
Контрольные вопросы
1. Какие группы регистров выделяются в микропроцессоре и каковы особенности их использования?
2. Какую функцию в микропроцессоре выполняет регистр флагов?
3. Как используется регистр команд IP?
4. Какие шаги необходимо выполнить для получения из программы на языке ассемблера исполняемого модуля?
5. Прокомментируйте содержание листинга программы.
Лабораторная работа № 2 режимы адресации
