- •Федеральное агентство по образованию
- •302030, Г. Орел, ул. Московская, 65
- •5 Процесс ассемблирования и выполнения программы 39
- •1 Используемое оборудование и программное обеспечение
- •2 Общая подготовка к выполнению лабораторных работ
- •3 Общий ход выполнения и защиты лабораторных работ
- •4 Основные теоретические положения по программированию на языке ассемблера
- •4.1 Организация памяти для хранения программ
- •4.2 Режимы адресации данных микропроцессора Intel 8086
- •4.3 Режимы адресации переходов микропроцессора Intel 8086
- •4.4 Слово состояния микропроцессора Intel 8086
- •4.5 Список сокращений и условных обозначений
- •4.6 Общий формат ассемблерной команды
- •4.7 Определение данных
- •4.8 Регистры процессора Pentium.
- •4.9 Команды языка ассемблера
- •4.9.1 Команды передачи данных
- •4.9.2 Команды двоичных сложений и вычитаний
- •4.9.3 Однооперандные команды двоичной арифметики и команды сравнения
- •4.9.4 Команды умножения и деления двоичных чисел
- •4.9.5 Логические команды
- •4.9.6 Команды сдвигов и циклических сдвигов
- •4.9.7 Команды передачи управления
- •1) Безусловные переходы.
- •1.1) Команда безусловного перехода
- •1.2) Обращение к процедурам
- •2) Условные переходы
- •4.9.8 Команды циклов
- •4.9.9 Стековые команды
- •1) Организация стека
- •2) Использование стека для передачи параметров
- •4.9.10 Работа с устройствами ввода-вывода
- •5 Процесс ассемблирования и выполнения программы
- •5.1 Получение исполняемого модуля
- •5.2 Работа с отладчиком программ turbo debugger
- •6 Программа на языке ассемблера
- •6.1 Структура программы
- •6.2 Примеры программ
- •7 Лабораторная работа № 1. Арифметические операции над байтами и словами. Линейное исполнение программ
- •7.1 Цель работы
- •7.2 Контрольные вопросы
- •7.3 Задание на лабораторную работу
- •8 Лабораторная работа № 2. Логические операции и операции сдвига над данными
- •8.1 Цель работы
- •8.2 Контрольные вопросы
- •8.3 Задание на лабораторную работу
- •9 Лабораторная работа № 3. Команды условного и безусловного переходов. Организация ветвлений и циклов в программе
- •9.1 Цель работы
- •9.2 Контрольные вопросы
- •9.3 Задание на лабораторную работу
- •10 Лабораторная работа № 4. Использование стека и подпрограмм. Организация внутрисегментных и межсегментных переходов
- •10.1 Цель работы
- •10.2 Контрольные вопросы
- •10.3 Задание на лабораторную работу
- •11 Лабораторная работа № 5. Использование стека и подпрограмм. Организация передачи параметров через стек
- •11.1 Цель работы
- •11.2 Контрольные вопросы
- •11.3 Задание на лабораторную работу
- •12 Лабораторная работа № 6. Организация взаимодействия с устройствами компьютера. Использование портов
- •12.1 Цель работы
- •12.2 Контрольные вопросы
- •12.3 Задание на лабораторную работу
- •13 Содержание отчетов по лабораторным работам
5 Процесс ассемблирования и выполнения программы 39
5.1 Получение исполняемого модуля 39
5.2 Работа с отладчиком программ TURBO DEBUGGER 41
6 Программа на языке ассемблера 44
6.1 Структура программы 44
6.2 Примеры программ 45
7 Лабораторная работа № 1. Арифметические операции над байтами и словами. Линейное исполнение программ 50
7.1 Цель работы 50
7.2 Контрольные вопросы 50
7.3 Задание на лабораторную работу 50
8 Лабораторная работа № 2. Логические операции и операции сдвига над данными 52
8.1 Цель работы 52
8.2 Контрольные вопросы 52
8.3 Задание на лабораторную работу 52
9 Лабораторная работа № 3. Команды условного и безусловного переходов. Организация ветвлений и циклов в программе 54
9.1 Цель работы 54
9.2 Контрольные вопросы 54
9.3 Задание на лабораторную работу 54
10 Лабораторная работа № 4. Использование стека и подпрограмм. Организация внутрисегментных и межсегментных переходов 56
10.1 Цель работы 56
10.2 Контрольные вопросы 56
10.3 Задание на лабораторную работу 56
11 Лабораторная работа № 5. Использование стека и подпрограмм. Организация передачи параметров через стек 58
11.1 Цель работы 58
11.2 Контрольные вопросы 58
11.3 Задание на лабораторную работу 59
12 Лабораторная работа № 6. Организация взаимодействия с устройствами компьютера. Использование портов 60
12.1 Цель работы 60
12.2 Контрольные вопросы 60
12.3 Задание на лабораторную работу 60
13 Содержание отчетов по лабораторным работам 62
14 Список рекомендуемой литературы 62
Приложение А 63
(обязательное) 63
Образец титульного листа отчета по лабораторной работе для студентов специальности 220301, обучающихся по основной программе 63
Приложение Б 64
(обязательное) 64
Образец титульного листа отчета по лабораторной работе для студентов специальности 220301, обучающихся по ускоренной программе 64
Приложение В 65
(обязательное) 65
Образец титульного листа отчета по лабораторной работе для студентов направления 220300.62 65
Введение
Современный специалист в области автоматизации производства должен обладать достаточными знаниями по использованию средств вычислительной техники в организации и управлении технологическими процессами. Низкоуровневое программирование позволяет четко усвоить принципы работы вычислительных машин и систем, а также их функциональных блоков, более рационально использовать их вычислительную мощность на конкретном производстве, с учетом его особенностей.
Целью проведения лабораторных работ является изучение студентами организации и принципов функционирования памяти, микропроцессора, организации ввода – вывода, а также приобретение навыков низкоуровневого программирования на языке ассемблера.
Настоящие методические указания охватывают первую часть лабораторных работ по дисциплине «Вычислительные машины, системы и сети», посвященных низкоуровневому программированию на языке ассемблера и выполняемых студентами направления 220300.62 «Автоматизация и управление» и специальности 220301 «Автоматизация технологических процессов и производств» в третьем семестре.
