Материал: 775

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

 

 

 

 

 

 

 

 

Окончание таблицы

 

 

 

 

№

Название части

 

Рассматриваемые вопросы, тип программы,

п/п

 

 

 

 

 

количество модулей и операционная система

 

 

 

 

 

 

стека). EXE-программа для МП Intel 80386. ОС –

 

 

 

 

 

 

Windows 95/98/NT. Модель памяти – простая,

 

 

 

 

 

 

соответствует директиве определения модели па-

 

 

 

 

 

 

мяти .flat. Режим работы процессора – защищенный

10

Связь с программами на

Смешанное программирование (связь с програм-

 

языке Pascal;

ассемблер-

мами на языке Pascal; встроенный ассемблер;

 

ные врезки в программу

вычисление по формуле: операции двоичной

 

на Pascal’e

 

 

 

арифметики и логические операции, сдвиги;

 

 

 

 

 

 

определение данных; логика и организация

 

 

 

 

 

 

программ – условные и безусловные переходы и

 

 

 

 

 

 

циклы; вызов процедур; ввод с клавиатуры и вывод

 

 

 

 

 

 

на экран; использование стека). EXE-программа для

 

 

 

 

 

 

МП Intel 8086 на языке Pascal с вставками на

 

 

 

 

 

 

ассемблере. ОС – MS-DOS

 

 

11

Связь с программами на

Смешанное программирование (связь с программа-

 

языке

C++;

ассемблер-

ми на языке С++; ассемблер, встроенный в С++;

 

ные врезки в программу

операции двоичной арифметики и логические опера-

 

на языке C++

 

 

 

ции, определение данных, переходы и циклы, вызов

 

 

 

 

 

 

процедур; ввод с клавиатуры и вывод на экран –

 

 

 

 

 

 

средствами языка С++; сдвиги – средствами

 

 

 

 

 

 

ассемблера). Режим работы процессора – реальный.

 

 

 

 

 

 

EXE-программа для МП Intel 80386. ОС – MS-DOS

12

Программирование

 

на

Программирование на ассемблере

в среде Linux

 

ассемблере

в

среде

(операции двоичной арифметики и логические

 

Linux. Синтаксис AT&T

операции, сдвиги; ввод с

клавиатуры и вывод

 

 

 

 

 

 

на экран). Синтаксис AT&T. EXE-программа для

 

 

 

 

 

 

МП Intel 80386. ОС – Linux

 

 

13

Резидентные программы

Разработать резидентную программу или драйвер.

 

и драйверы для MS-DOS

ОС – MS-DOS

 

 

14

Работа

с файлами

в

Одновременная работа с несколькими файлами и

 

базовой версии MS-DOS

несколькими

областями

DTA.

(Назначение

 

и Windows

 

 

 

программы:

1) работа с файлами в базовой версии

 

 

 

 

 

 

MS-DOS – ввод данных, запись в файл (прямой и

 

 

 

 

 

 

последовательный доступ), чтение из файла (прямой

 

 

 

 

 

 

и последовательный доступ), одновременная работа

 

 

 

 

 

 

с несколькими файлами; 2) одновременная работа с

 

 

 

 

 

 

несколькими

областями

DTA;

3) шифрование;

 

 

 

 

 

 

4) дешифрация). ЕХЕ-программа (модель памяти –

 

 

 

 

 

 

компактная или большая). ОС– MS-DOS и Windows

15

Дизассемблирование

 

Восстановление текста программы по ее

 

программ

 

 

 

загрузочному модулю – COM или EXE. ОС – MS-

 

 

 

 

 

 

DOS. Дизассемблер IDA Pro

 

 

 

 

 

 

 

 

6

 

 

 

В результате использования комплекта пособий студент должен приобрести устойчивые навыки:

•корректного (грамотного) использования директив и команд (непривилегированных и привилегированных) заданного (16или 32разрядного) процессора, эффективно используя его режимы (реальный и защищенный), ограничения и специфические возможности;

•построения программ, использующих различную структуру (в т.ч. содержащих различные и разное количество сегментов и использующих различные модели памяти);

•построения программ, состоящих из нескольких модулей;

•построения EXE- и COM-программ и преобразования EXE-программы

вCOM-программу и COM-программы в EXE-программу;

•смешанного программирования (Pascal и встроенный ассемблер, C++ и встроенный ассемблер);

•программирования приложений, работающих под управлением операционных систем MS-DOS, Windows, Linux и вызывающих функции используемых операционных систем;

•работы с экранным редактором, с Турбоассемблером (tasm.exe), с компоновщиком (tlink.exe и tlink32.exe), с турбопаскалем и компилятором с языка С++;

•работы с листингом (т.е. с файлом .lst), с машинными командами и машинным представлением данных;

•работы с дизассемблером.

1. ПОДГОТОВКА РАБОЧЕГО МЕСТА К ЗАНЯТИЯМ

Рабочее место оборудуется персональным компьютером, на котором для первых шести лабораторных работ достаточно:

•установить операционную систему Windows 95 (или выше: Windows 98, Windows XP Edition, Windows XP Proffetional, Windows 2000 – кроме Windows Millenium);

•установить Far;

•создать папку C:\assebler и поместить в нее все содержимое папки u_m_lab2, т.е. следующие файлы: tasm.exe, tlink.exe, rtm.exe и примеры: lab2apr1.asm, lab2bpr1.asm, lb2_1pr2.asm, lb2_2pr2.asm, lab2and.asm, lab2or.asm, lab2xor.asm, lab2not.asm, lb2_1bnn.asm, lb2_2bnn.asm, l_2_1zal.asm, l_2_2zal.asm, l_2_1kln.asm и l_2_2kln.asm.

7

2.АУДИТОРНОЕ ЗАНЯТИЕ

2.1.Создание и редактирование исходного текста программы, компиляция и выполнение программы

(тренинг под руководством преподавателя)

Демонстрационные примеры приведены в подразделе 6 (примеры 2.1–2.6). Используются преподавателем при проведении лабораторной работы №2 в дисплейном классе и могут использоваться студентами при самостоятельном изучении.

2.1.1.Включение ПК, запуск операционной системы Windows 95,

Windows 98, Windows XP или Windows 2000 (не применять Windows Millenium).

2.1.2.Вызов оболочки (пакета) Far и открытие папки

C:\assembler\u_m_lab2.

2.1.3.Ассемблирование программы lab2apr1.asm, т.е. получение объектного модуля lab2apr1.obj (в командной строке набрать и выполнить команду tasm lab2apr1.asm).

2.1.4.Ассемблирование программы lab2bpr1.asm, т.е. получение объектного модуля lab2bpr1.obj (в командной строке набрать и выполнить команду tasm lab2bpr1.asm).

2.1.5.Компоновка (в командной строке набрать и выполнить команду tlink lab2apr1.obj lab2bpr1.obj) и выполнение (исполнение) полученной программы lab2apr1.exe.

2.1.6.Ассемблирование программы lb2_1pr2.asm, т.е. получение объектного модуля lb2_1pr2.obj (в командной строке набрать и выполнить команду tasm lb2_1pr2.asm).

2.1.7.Ассемблирование программы lb2_2pr2.asm, т.е. получение объектного модуля lb2_2pr2.obj (в командной строке набрать и выполнить команду tasm lb2_2pr2.asm).

2.1.8.Компоновка (в командной строке набрать и выполнить команду tlink lb2_1pr2.obj lb2_2pr2.obj) и выполнение (исполнение) полученной программы lb2_1pr2.exe.

2.1.9.Получение объектного файла lab2and.obj и файла lab2and.exe. Выполнение программы lab2and.exe. На экран должно быть выведено

«4234».

2.1.10.Отредактировать программу таким образом, чтобы на экран полученный результат выводился вместо цифры «2», т.е. «1434».

2.1.11.Получение объектного файла lab2or.obj и файла lab2or.exe.

8

Выполнение программы lab2or.exe. На экран должно быть выведено

«1334».

2.1.12.Отредактировать программу таким образом, чтобы на экран полученный результат выводился вместо цифры «4», т.е. «1233».

2.1.13.Получение объектного файла lab2xor.obj и файла lab2xor.exe. Выполнение программы lab2xor.exe. На экран должно быть выведено

«1244».

2.1.14.Отредактировать программу таким образом, чтобы на экран

полученный результат выводился вместо цифры «2», т.е. «1434».

2.1.15.Получение объектного файла lab2not.obj и файла lab2not.exe. Выполнение программы lab2not.exe. На экран должно быть выведено

«1232».

2.1.16.Отредактировать программу таким образом, чтобы на экран

полученный результат выводился вместо цифры «1», т.е. «2434».

2.1.17.Получение объектных модулей lb2_1bnn.obj и lb2_2bnn.obj компоновка и выполнение программы lb2_1bnn.exe.

2.1.18.Получение объектных модулей l_2_1zal.obj и l_2_2zal.obj, компоновка и выполнение программы l_2_1zal.exe.

2.1.19.Получение объектных модулей l_2_1kln.obj и l_2_2kln.obj, компоновка и выполнение программы l_2_1kln.exe.

2.1.20.Подготовить контрольные примеры для проверки логических операций по форме:

 

 

Таблица 2.1

 

 

 

B2

 

 

№ п/п

B1

 

 

1

 

 

 

 

 

2

 

 

 

 

 

3

 

 

 

 

 

4

 

 

 

 

 

2.2. Редактирование, компиляция и выполнение демонстрационных примеров

(под контролем преподавателя)

В папке C:\assebler\u_m_lab2 создать файл l_2_fio.asm, где fio –

инициалы выполняющего работу (первые буквы фамилии, имени и отчества – латинскими буквами).

2.2.1.Связывание модулей (пример 2.1).

2.2.2.Логическая операция И (пример 2.2).

2.2.3.Логическая операция ИЛИ (пример 2.3).

2.2.4.Логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ (пример 2.4).

2.2.5.Логическая операция НЕ (пример 2.5).

9

2.3. Ассемблирование программы и получение загрузочного файла

2.3.1.Для ассемблирования программы необходимо файлы с программой (то есть файлы l_2_1fio.asm и l_2_2fio.asm) поместить в каталог с ассемблером (то есть с файлом tasm.exe), набрать в командной строке команду:

tasm.exe <имя файла>.asm /l

и нажать клавишу Enter. Т.е. в нашем случае набрать и выполнить команду:

tasm.exe l_2_1fio.asm /l

В результате будет получен файл с расширением .obj (полное его имя: l_2_1fio.obj).

2.3.2.Затем аналогично получить объектный файл по второму модулю

(l_2_2fio.obj).

2.3.3. Затем с помощью программы tlink.exe получить загрузочный модуль. Для этого необходимо, чтобы файл tlink.exe был в каталоге с ассемблером. Набрать в командной строке и выполнить команду

tlink.exe l_2_1fio.obj l_2_2fio.obj

Врезультате будет получен файл l_2_1fio.exe.

2.3.4.Запустить программу (для этого навести курсор на полученный файл и нажать клавишу Enter).

Каждый вводимый вами символ выведется дважды: один раз, когда он отображается DOS при вводе с клавиатуры, и второй раз он отображается вашей программой.

2.4. Подготовка к выполнению индивидуального задания

(создание заготовки l_2_fio.asm)

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

(файлы lb2_1bnn.asm и lb2_2bnn.asm).

3.ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ (ОБЩАЯ ЧАСТЬ)

3.1.Составить EXE-программу, состоящую из двух модулей, для МП

Intel 8086:

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

•второй модуль предназначен для выполнения логических операций (И, ИЛИ, НЕ, ИСКЛЮЧАЮЩЕЕ ИЛИ, т.е. СЛОЖЕНИЕ ПО

10

Источник: https://studfile.net/preview/16406832/