Используемое оборудование и программное обеспечение

Т.П. Костенко

О.В. Конюхова

ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ, СИСТЕМЫ И СЕТИ

Часть 1

Программирование на языке ассемблера

Лабораторный практикум

Дисциплина - «Вычислительные машины, системы и сети»

Специальность - 220301 «Автоматизация технологических процессов и производств»

Направление - 220300.62 «Автоматизация и управление»

Печатается по решению редакционно-издательского совета ОрелГТУ

ОРЕЛ 2007


Авторы: доцент кафедры «Информационные системы» Т.П. Костенко

канд. техн. наук, ст. преподаватель

кафедры «Информационные системы» О.В. Конюхова

Рецензент: канд. техн. наук, доцент

кафедры «Информационные системы» А.В. Чижов

Настоящий лабораторный практикум содержит рекомендации по выполнению первой части лабораторных работ (третий семестр), посвященных низкоуровневому программированию на языке ассемблера, порядок выполнения и защиты лабораторных работ, задания к лабораторным работам. Приведены теоретические сведения по программированию на языке ассемблера, необходимые для выполнения лабораторных работ, а также список рекомендуемой литературы.

Предназначен для студентов, обучающихся по направлению 220300.62 «Автоматизация и управление» и по специальности 220301 «Автоматизация технологических процессов и производств», осваивающих как основную (220301) так и ускоренную (220301у) образовательные программы, изучающих дисциплину «Вычислительные машины, системы и сети». Форма обучения – очная.

Редактор

Технический редактор

Орловский государственный технический университет

Лицензия ИД 00670 от 5.01.2000

АНО «ОрелГТУ-РЦФИО»

Подписано к печати Формат 60 84 1\16

Печать офсетная Усл. печ. л. . Тираж экз.

Заказ №

Отпечатано с готового оригинал-макета

на полиграфической базе ОрелГТУ,

302030, г. Орел, ул. Московская, 65

© ОрелГТУ, 2007

© АНО «ОрелГТУ-РЦФИО»

© Костенко Т.П., 2007

© Конюхова О.В., 2007


Содержание

Введение. 5

1 Используемое оборудование и программное обеспечение. 5

2 Общая подготовка к выполнению лабораторных работ. 5

3 Общий ход выполнения и защиты лабораторных работ. 6

4 Основные теоретические положения по программированию на. 7

языке ассемблера. 7

4.1 Организация памяти для хранения программ. 7

4.2 Режимы адресации данных микропроцессора Intel 8086. 9

4.3 Режимы адресации переходов микропроцессора Intel 8086. 11

4.4 Слово состояния микропроцессора Intel 8086. 13

4.5 Список сокращений и условных обозначений. 14

4.6 Общий формат ассемблерной команды.. 15

4.7 Определение данных. 15

4.8 Регистры процессора Pentium. 17

4.9 Команды языка ассемблера. 21

4.9.1 Команды передачи данных. 21

4.9.2 Команды двоичных сложений и вычитаний. 22

4.9.3 Однооперандные команды двоичной арифметики и команды сравнения. 22

4.9.4 Команды умножения и деления двоичных чисел. 23

4.9.5 Логические команды.. 24

4.9.6 Команды сдвигов и циклических сдвигов. 25

4.9.7 Команды передачи управления. 27

4.9.8 Команды циклов. 33

4.9.9 Стековые команды.. 34

4.9.10 Работа с устройствами ввода-вывода. 39

5 Процесс ассемблирования и выполнения программы.. 40

5.1 Получение исполняемого модуля. 40

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

Приложение А (обязательное)- Образец титульного листа отчета по лабораторной работе для студентов специальности 220301, обучающихся по основной программе. 63

Приложение Б (обязательное) -Образец титульного листа отчета по лабораторной
работе для студентов специальности 220301, обучающихся по ускоренной программе 64

Приложение В (обязательное)-Образец титульного листа отчета по
лабораторной работе для студентов направления 220300.62. 65


Введение

Современный специалист в области автоматизации производства должен обладать достаточными знаниями по использованию средств вычислительной техники в организации и управлении технологическими процессами. Низкоуровневое программирование позволяет четко усвоить принципы работы вычислительных машин и систем, а также их функциональных блоков, более рационально использовать их вычислительную мощность на конкретном производстве, с учетом его особенностей.

Целью проведения лабораторных работ является изучение студентами организации и принципов функционирования памяти, микропроцессора, организации ввода – вывода, а также приобретение навыков низкоуровневого программирования на языке ассемблера.

Настоящие методические указания охватывают первую часть лабораторных работ по дисциплине «Вычислительные машины, системы и сети», посвященных низкоуровневому программированию на языке ассемблера и выполняемых студентами направления 220300.62 «Автоматизация и управление» и специальности 220301 «Автоматизация технологических процессов и производств» в третьем семестре.

Используемое оборудование и программное обеспечение

Для выполнения лабораторных работ требуются IBM совместимый персональный компьютер, операционная система Windows 2000 и выше или Windows XP, программный пакет ассемблера TASM.