Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МетодичкаЛаб.doc
Скачиваний:
5
Добавлен:
20.04.2019
Размер:
371.2 Кб
Скачать

21

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Федеральное государственное образовательное учреждение

высшего профессионального образования

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

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Ассемблер

Методические указания к лабораторным работам

Красноярск 2007

Языки программирования: Организационно – методические указания по освоению дисциплины «Языки программирования» для студентов направления подготовки 075200 - 075400 – «Информационная безопасность».

Авторы: Титовский С. Н., Титовская Н. В., Патуринский А. В.

Содержание

ЛАБОРАТОРНАЯ РАБОТА №1 Знакомство со средой

программирования. Простейшая программа на ассемблере 4

ЛАБОРАТОРНАЯ РАБОТА №2 Решение вычислительных

задач на ассемблере 5

Задание 1. Вычисление выражений, условные переходы 5

Задание 2. Простейшие циклы. Обработка массивов 8

Задание 3. Вложенные циклы. Обработка матриц 10

ЛАБОРАТОРНАЯ РАБОТА №3 Обработка файлов 12

ЛАБОРАТОРНАЯ РАБОТА №4 Работа с динамической

памятью 15

ЛАБОРАТОРНАЯ РАБОТА №5 Работа с прерываниями 15

ЛАБОРАТОРНАЯ РАБОТА №6 Перемещение программ

по памяти 16

ЛАБОРАТОРНАЯ РАБОТА №7 Модульное

программирование 17

ЛАБОРАТОРНАЯ РАБОТА №8 Консольные

Windows-приложения 18

ЛАБОРАТОРНАЯ РАБОТА №9 Оконные

Windows-приложения 19

ЛАБОРАТОРНАЯ РАБОТА № 10 Программирование

сопроцессора 21

ОЗНАКОМИТЕЛЬНАЯ ЛАБОРАТОРНАЯ РАБОТА

Тема: Знакомство со средой программирования. Простейшая программа на ассемблере

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

Для выполнения этой лабораторной работы необходимо изучить следующие вопросы:

1. Общая характеристика языка ассемблера: назначение, принципы построения и использования, особенности программирования.

2. Синтаксис ассемблера: структура языка, общая структура программы, синтаксис строки программы, понятие директив транслятора и команд (инструкций) процессора.

3. Основные группы команд.

4. Средства взаимодействия ассемблерных программ с операционной системой.

5. Языки ассемблера современных ЭВМ. Среды программирования на ассемблере. Трансляторы, компоновщики (редакторы связей), отладчики, библиотекари, работа с ними.

6. Структура и функционирование ЭВМ. Организация ОЗУ. Принципы работы с ВУ.

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

8. Режимы адресации процессоров х86. Сегментация памяти. Система команд.

Задание. Написать и отладить программу вывода текстового сообщения на экран.

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

Тема: Решение вычислительных задач на ассемблере.

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

Для выполнения этой лабораторной работы необходимо изучить следующие вопросы:

1 Ввод и вывод информации на ассемблере. Вычисление выражений. Реализация многоразрядной арифметики.

2 Организация циклов в ассемблере. Обработка целочисленных массивов и матриц. Реализация вложенных циклов.

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

Задание 1 Вычисление выражений, условные переходы

1. Написать программу для вычисления выражения

2. Написать программу для вычисления выражения

3. Написать программу для вычисления выражения

4. Написать программу для вычисления выражения

5. Написать программу для вычисления выражения

6. Написать программу для вычисления выражения

7.Написать программу для вычисления выражения

8. Написать программу для вычисления выражения

9. Написать программу для вычисления выражения

10. Написать программу для вычисления выражения

11. Написать программу для вычисления выражения

12. Написать программу для вычисления выражения

13. Написать программу для вычисления выражения

14.Написать программу для вычисления выражения

15.Написать программу для вычисления выражения

16.Написать программу для вычисления выражения

17.Написать программу для вычисления выражения

18.Написать программу для вычисления выражения

19.Написать программу для вычисления выражения

20.Написать программу для вычисления выражения

21.Написать программу для вычисления выражения

22.Написать программу для вычисления выражения

23.Написать программу для вычисления выражения

24.Написать программу для вычисления выражения

25.Написать программу для вычисления выражения

Задание 2. Простейшие циклы. Обработка массивов

1. Написать программу расчета среднего арифметического (СА) значения положительных элементов в одномерном массиве, имеющих четные индексы.

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

3. Написать программу расчета суммы положительных элементов одномерного массива, имеющих нечетные индексы.

4. Упорядочить одномерный массив в порядке неубывания.

5. Написать программу расчета СА отрицательных элементов в одномерном массиве. Заменить минимальный элемент в одномерном массиве на СА.

6. Упорядочить одномерный массив в порядке невозрастания.

7. В одномерном массиве поменять местами максимальный и минимальный элементы.

8. Написать программу расчета произведения положительных элементов в одномерном массиве. Заменить максимальный элемент в одномерном массиве на произведение.

9. Произвести попарные перестановки элементов одномерного массива: первый элемент поменять местами с последним, второй элемент – с предпоследним и т.д.

10. Отыскать последний положительный элемент в одномерном массиве и заменить его на среднее арифметическое элементов массива.

11. Дан одномерный массив [Ai]. Сформировать одномерный [Bi] массив из элементов массива [Ai] по закону

B = Ai+j, i = ; N = M - i

12. Из одномерного массива [Ai] сформировать одномерный массив [Bi], записав в него сначала элементы массива А, имеющие четные индексы, потом – элементы с нечетными индексами.

13. Отыскать последний отрицательный элемент в одномерном массиве и заменить его на произведение элементов массива.

14. Заменить в одномерном массиве нулевые элементы на значение минимального элемента.

15. Сформировать массив [Xi], элементы которого равны частоте встречаемости элементов массива [Bi] среди элементов массива [Ai] Определить, какой элемент массива [Bi] чаще всего встречается в [Ai].

16. Сформировать массив [Xi], элементы которого равны полусумме двух соседних элементов одномерного массива [Yi].

17. Сформировать массив [Ai] из элементов одномерного массива [Bi] по закону A = (B +B )/4, i =

18. Сформировать массив [Ai] из элементов одномерного массива j = по закону A = Bi+BN/2+i ; i =

19. Из одномерного массива [Bi] сформировать массив [Ai] по закону A = ( B )/(j +1); j =

20. Из одномерного массива [Bi] сформировать массив [Xi] по следующему закону: Xi =

где y – некоторая константа.

21. В одномерном массиве переставить местами соседние элементы с четными и нечетными индексами.

22. В одномерном массиве вычислить сумму элементов, значения которых кратны некоторому значению X.

23. В одномерном массиве подсчитать количество элементов, значениями которых являются простые числа (простое число – это число, делящееся нацело только на единицу и само на себя).

24. Сформировать массив [Bi], содержащий последовательность чисел Фибоначчи:

B = B + B ; i = ; B =X , B =X

где Х , Х - некоторые числа.

25. Вычислить сумму правых разностей элементов одномерного массива [Bi]

S = (B - B )