Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Часть 1. В17 Практикум по дисциплине «Информатика и программирование» для студентов (часть 1)





Волков А.Г., Демидов Л.Н.

Практикум по дисциплине «Информатика и программирование» для студентов, обучающихся по направлению 230700.62 «Прикладная информатика»

Москва 2011


УДК 681.306

ББК 32.073

В17

 

 

Волков А.Г., Демидов Л.Н.

 

В17 Практикум по дисциплине «Информатика и программирование» для студентов (часть 1), обучающихся по направлению 230700.62 «Прикладная информатика»

 

 

В практикуме изложена методика проведения практических занятий по программированию на языке ассемблера. Все программы рассчитаны на работу с транслятором и редактором связей макроассемблера фирмы Microsoft(R) (Macro Assembler Professional Development System) версии 6.1 и выше. Решение практических задач сопровождается теоретическими сведениями по изучаемой теме и примерами программ. Для каждого занятия приведены задания, требования к оформлению отчета и перечень контрольных вопросов. Данный практикум обеспечивает практические занятия по курсу «Информатика и программирование» в первом семестре. Рекомендовано к изданию решением учебно-методического совета Финансового университета при правительстве РФ (протокол № Х от «___» _____________ 2011 г.)

 

 

УДК 681.306

ББК 32.073

В17

 

© Финансовый университет при правительстве РФ

© Волков Андрей Геннадьевич

© Демидов Лев Николаевич


Оглавление

Введение. 6

Практическое занятие № 1. Трансляция, компоновка и отладка программ. 8

1. ЦЕЛЬ РАБОТЫ.. 8

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 8

2.1. Архитектура компьютера. 8

2.2. Процедуры формирования программы.. 12

2.3. Структура программы.. 18

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 32

4. СОДЕРЖАНИЕ ОТЧЕТА.. 33

5. Контрольные вопросы.. 33

Практическое занятие № 2. Режимы адресации. 33

1. ЦЕЛЬ РАБОТЫ.. 33

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 34

2.1. Команды ассемблера. 34

2.2. Режимы адресации. 36

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 41

4. СОДЕРЖАНИЕ ОТЧЕТА.. 42

5. ВАРИАНТЫ ЗАДАНИЙ.. 43

6. КОНТРОЛЬНЫЕ ВОПРОСЫ.. 44

Практическое занятие № 3. Программирование ветвлений и циклов. 44

1 ЦЕЛЬ РАБОТЫ.. 44

2 ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 45

2.1. Команды условного перехода. 45

2.2. Команда безусловного перехода. 47

2.3. Организация циклов. 52

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 54

4. СОДЕРЖАНИЕ ОТЧЕТА.. 55

5. ВАРИАНТЫ ЗАДАНИЙ.. 55

6. Контрольные вопросы.. 57

Практическое занятие № 4. Арифметические операции целочисленной обработки информации. 57

1. ЦЕЛЬ РАБОТЫ.. 57

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 57

2.1. Десятичные числа. 57

2.2. Сложение и вычитание целых чисел. 58

2.3. Умножение и деление целых чисел. 63

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 67

4. СОДЕРЖАНИЕ ОТЧЕТА.. 67

5. ВАРИАНТЫ ЗАДАНИЙ. 68

6. Контрольные вопросы.. 70

Практическое занятие № 5. Программирование операций ввода-вывода в реальном режиме работы процессора. 70

1.ЦЕЛЬ РАБОТЫ.. 70

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 71

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 77

4. СОДЕРЖАНИЕ ОТЧЕТА.. 77

5. ВАРИАНТЫ ЗАДАНИЙ.. 77

6. Контрольные вопросы.. 80

Практическое занятие № 6. Создание пользовательских функций. 81

1. ЦЕЛЬ РАБОТЫ.. 81

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 81

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 92

4. ВАРИАНТЫ ЗАДАНИЙ. 93

5. СОДЕРЖАНИЕ ОТЧЕТА.. 93

6. Контрольные вопросы.. 93

Практическое занятие № 7. Консольный ввод-вывод. 94

1. ЦЕЛЬ РАБОТЫ.. 94

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 94

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 102

4. ВАРИАНТЫ ЗАДАНИЙ. 103

5. СОДЕРЖАНИЕ ОТЧЕТА.. 103

6. Контрольные вопросы.. 103

Практическое занятие № 8. Работа с файлами. 104

1. ЦЕЛЬ РАБОТЫ.. 104

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 104

2.1 Создание файла и запись в него. 104

2.2 Чтение из файла. 110

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 119

4. ВАРИАНТЫ ЗАДАНИЙ. 120

5. СОДЕРЖАНИЕ ОТЧЕТА.. 120

6. Контрольные вопросы.. 120

Практическое занятие №9. Использование высокоуровневых директив и макросов 121

1. ЦЕЛЬ РАБОТЫ.. 121

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 121

2.1. Условные директивы.. 121

2.2. Директивы организации цикла. 130

2.3. Макросы.. 131

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 136

4. ВАРИАНТЫ ЗАДАНИЙ. 136

6. Контрольные вопросы.. 136

Практическое занятие №10. Создание динамических библиотек. 137

1. ЦЕЛЬ РАБОТЫ.. 137

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 137

2.1 Создание динамических библиотек. 137

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 157

4. ВАРИАНТЫ ЗАДАНИЙ. 157

5. СОДЕРЖАНИЕ ОТЧЕТА.. 157

6. Контрольные вопросы.. 158

Практическое занятие №11. Создание графических приложений для Windows. 158

1. ЦЕЛЬ РАБОТЫ.. 158

2. ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.. 158

2.1 Создание графических приложений для Windows. 158

2.2 Процедура WinMain. 159

2.3 Процедура WinProc. 160

2.4 Процедура ErrorHandler 161

2.5 Функция MessageBox. 162

3. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ.. 167

4. ВАРИАНТЫ ЗАДАНИЙ. 167

5. СОДЕРЖАНИЕ ОТЧЕТА.. 167

6. Контрольные вопросы.. 168

Список литературы.. 169

Приложения. 170

Приложение 1. 170

Приложение 2. 186

Приложение 3. 189

Приложение 4. 198

Приложение 5. 209

Приложение 6. 213

6.1. Начало работы с отладчиком. 213

6.2. Точки останова. 217

6.3 Другие возможности. 221

Приложение 7. 225

Приложение 8. 227

 


Введение

 

Язык ассемблера представляет собой символическую запись команд процессора и, следовательно, определяется его архитектурой. Постоянное совершенствование современных процессоров определяет изменения низкоуровневого языка. Кроме того, развитие операционных систем зарагивает ту часть языка, которая обеспечивает его взаимодействие с внешними устройствами. Поэтому в практикуме рассмотрены вопросы, связанные с изучением особенностей архитектуры и системы команд процессоров Pentium, а также задачи взаимодействия с современными операционными системами (ОС) через вызов процедур, функций и использования структур и констант интерфейса прикладного программирования API (англ. application programming interface) Windows.

Знание ассемблера позволяет понять внутреннее устройство программ и ОС, реализовать взаимодействие с нестандартными внешними устройствами, оптимизировать программу, написанную на языке высокого уровня, по быстродействию и занимаемому объему оперативной памяти.

Материал практикума, выбранный уровень индивидуальных заданий и методика изложения теоретических сведений преследуют следующие цели:

изложить основы архитектуры Intel-совместимых процессоров;

показать тесную связь архитектуры процессора с его машинным языком;

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

научить использовать инструментальные средства разработки ассемблерных программ;

научить применять в программах высокоуровневые средства интерфейса прикладного программирования Windows;

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

В приложения вынесена часть справочного материала, которая может понадобиться в разных лабораторных работах.

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

Данный практикум обеспечивает первую часть курса «Информатика и программирование» и предназначен для студентов, обучающихся по направлению 230700.62 «Прикладная информатика», но он будет полезен всем интресующимся вопросами программирования на низкоуровневом языке.








Дата добавления: 2014-11-10; просмотров: 1079. Нарушение авторских прав; Мы поможем в написании вашей работы!




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


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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

В теории государства и права выделяют два пути возникновения государства: восточный и западный Восточный путь возникновения государства представляет собой плавный переход, перерастание первобытного общества в государство...

Закон Гука при растяжении и сжатии   Напряжения и деформации при растяжении и сжатии связаны между собой зависимостью, которая называется законом Гука, по имени установившего этот закон английского физика Роберта Гука в 1678 году...

Характерные черты официально-делового стиля Наиболее характерными чертами официально-делового стиля являются: • лаконичность...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Принципы резекции желудка по типу Бильрот 1, Бильрот 2; операция Гофмейстера-Финстерера. Гастрэктомия Резекция желудка – удаление части желудка: а) дистальная – удаляют 2/3 желудка б) проксимальная – удаляют 95% желудка. Показания...

Ваготомия. Дренирующие операции Ваготомия – денервация зон желудка, секретирующих соляную кислоту, путем пересечения блуждающих нервов или их ветвей...

Studopedia.info - Студопедия - 2014-2024 год . (0.011 сек.) русская версия | украинская версия