Разработка EXE-программ.




Колледж приборостроения и информационных технологий

Методические указания по проведению практических занятий

По профессиональному модулю ПМ.01 Разработка программных модулей программного обеспечения для компьютерных систем междисциплинарного курса МДК.01.01 Системное программирование

Специальности 09.02.03 Программирование в компьютерных системах

Составитель:

Беседин Андрей Владимирович, преподаватель высшей квалификационной категории Колледжа приборостроения и информационных технологий

Москва


Введение

Методические указания по выполнению практических работ по
МДК 01.01 «Системное программирование» предназначены для студентов специальности 09.02.03 «Программирование в компьютерных системах»

Методические указания направлены на формирование умений, знаний, общих и профессиональных компетенций в соответствии с требованиями к результатам освоения программы подготовки специалистов среднего звена ФГОС СПО по специальности 09.02.03 «Программирование в компьютерных системах» и рабочей программы ПМ.01 «Разработка программных модулей программного обеспечения для компьютерных систем» МДК 01.01 «Системное программирование».

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

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


Практическая работа №1

Освоение работы отладчика AFDPro.

Цель занятия: изучить работу отладчика AFDPro.

 

Отладчик - программа для отладки программ.

Например, у вас что-то не работает, и нужно найти причину, но мы хотим посмотреть на работу программы "изнутри". Откроем программу test.com в отладчике:

afdpro test.com

 

s1 segment

org 100h

begin:

 

mov ah,09h

lea dx,mes

int 21h

int 20h

 

mes db ‘Hello world!’

 

s1 ends

end begin

 

Файл afdpro.exe должен быть прописан в системных путях или находиться в папке с программой.

Рис. 1. Интерфейс программы AFDPro.

 

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

Функциональные клавиши:

F1 — пошаговая трассировка с заходом в прерывания и процедуры.
F2 — то же самое, но без захода в процедуры и прерывания.
Чтобы перемещаться и изменять, например, регистры, дамп памяти - используйте клавиши F7 (вверх), F8 (вниз), F9 (влево), F10 (вправо).

 

Пример пошагового выполнения (отладки) программы:

Нажмём F2: программа переместит нас на следующую строчку, при этом регистры будут отображать числовые значения, в них хранящиеся. Первой командой мы занесли в ah число 09h. Всё правильно: в левом верхнем углу значение регистра ax показывает 0900 (ah=9, al=0 - он не менялся). Следующее нажатие F2 — значение регистра dx стало равным 109h. Ещё раз нажимаем F2 и ещё раз — и мы видим надпись "Program terminated OK" — программа успешно завершила свою работу. Если хотите, можете проверить работу программы ещё раз — для этого нужно нажать клавишу F3 и Enter.

 

Рассмотрим подробнее команду mov dx,offset helloworld. В отладчике мы видим иное: MOV DX,0109.


Дело в том, что регистры общего назначения, в том числе и dx, хранят всего лишь 2 байта. Вся фраза никак не поместится в регистр dx. Поэтому запись MOV DX,0109 указывает на смещение, где хранится наша фраза. Проверим это.

Нажмём клавишу F8 так, чтобы курсор переместился в окно 2. Заменяем значения DS 0000 на DS 0109. В правой части мы видим фразу "Hello, world!".

 

Задание для выполнения

Написать программу, которая выводит два сообщения:

Я учусь пользоваться отладчиком.

Ура! Я научился пользоваться отладчиком!

Выписать в конспект состояние регистров ax, bx, cx,dx, ip, cs, ds, каждого пошагового действия написанной программы в отладчике AFDPro.

 

 

Критерии оценок:

5 – работа выполнена полностью (решена поставленная задача). В тексте программы нет синтаксических ошибок. Разработан оптимальный алгоритм решенной задачи. Конспект составлен с учетом задания, качественное внешнее оформление

4 – работа выполнена полностью (решена поставленная задача). В тексте программы нет синтаксических ошибок. Разработан не оптимальный алгоритм решенной задачи. Конспект выполнен по заданию, есть небольшие недочеты в работе.

3 – работа выполнена полностью (решена поставленная задача). В тексте программы допущены синтаксические ошибки. Разработан не оптимальный алгоритм решенной задачи. при выполнении конспекта наблюдается отклонение от задания, удовлетворительное внешнее оформление

2 – поставленная задача не была реализована. Отсутствие конспекта.

Практическая работа №2

Разработка EXE-программ.

Цель занятия: научиться разрабатывать программы, написанные на языке программирования низкого уровня Assembler и формировать exe-файлы.

 

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

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

2. Разработка алгоритма программы (построение блок схемы, граф-схемы или текстовое или математическое описание решения);

3. Формализация алгоритма (запись алгоритма на языке программирования).

Создание текстового файла программы с расширением.asm (например my.asm). Отсутствие среды разработки позволяет программисту самостоятельно выбрать текстовый редактор для написания кода программы. Для этой цели подойдет любой текстовый редактор с нумерацией строк, мы рекомендуем редактор, встроенный в оболочку "FAR Manager".

4. Компиляция программы;

Компиляция - процесс перевода программы из текстового вида в машинный код. При использовании компилятора необходимо выполнить:

masm my.asm

т.е. запускаем компилятор masm и передаем с командной строки имя файла, содержащего программу. Если программа имеет синтаксические ошибки, компилятор выдаст сообщение об ошибке с указанием номера строки и описанием для каждой ошибки (нужно вернуться на этап №3 и исправить синтаксические ошибки).

В случае успешной компиляции будет создан файл, содержащий объектный код программы my.obj, который ещё не является исполняемым модулем.

5. Компоновка программы;

Компоновка - создание из файла объектного кода исполняемого модуля.

link my.obj

В качестве параметра компоновщик link принимает имя файла содержащего объектный код программы (в нашем случае - my.obj). В случае успешной компоновки будет создан исполняемый модуль my.exe

6. Запуск и тестирование исполняемого модуля программы.

На данном этапе необходимо проверить, соответствует ли написанная программа постановке задачи, сделанной нами на этапе №1. Неправильная

работа программы говорит об алгоритмической ошибке (семантическая ошибка), поэтому для успешного её устранения нужно вернуться на этап разработки алгоритма (этап №2).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-10-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: