Содержание отчёта к программе
- ТЕХНИЧЕСКОЕ ЗАДАНИЕ
- НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ ЧАСТЬ
- Постановка задачи проектирования
- Описание предметной области
- Windows или Win32
- Исполняемые компоненты Windows
- Системные библиотеки и подсистемы
- Выполнение программ в Win32
- Работа с файлами
- Оконные приложения
- Каркас простой программы на ассемблере
- Перечень задач, подлежащих решению в процессе разработки
- Обоснование выбора инструментов и платформы для разработки
- ПРОЕКТНО-КОНСТРУКТОРСКАЯ ЧАСТЬ
- Разработка структуры приложения
- Разработка интерфейса взаимодействия пользователя с системой
- Разработка алгоритмов обработки информации
- Этапы разработки и реализации готового приложения
- ПРОЕКТНО-ТЕХНОЛОГИЧЕСКАЯ ЧАСТЬ
-
- Руководство пользователя
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ
ТЕКСТ ПРОГРАММЫ
Часть описания кода в отчёте
1)Заголовка программы - Format PE GUI 4.0,которое означает графическое (оконное) приложение.
2)Точки входа (адрес первой инструкции программы, то место, откуда программа начинает свое исполнение). Для ее задания используется ключевое слово entry, за которым следует метка, указывающая на самую первую инструкцию программы:
Entry start
………………… start:
;Отсюда начнется выполнение программы
3)Подключаемыx файлов:
include ‘win32ax.inc’
Будет использоваться файл win32ax.inc, который в свою очередь подключает большое количество других заголовочных файлов. Именно в этих заголовочных файлах описаны такие макросы как section, invoke, proc и многие другие. Есть шесть заголовков для 32-битной Windows, которые вы можете выбрать, с именами, начинающимися с win32, за которыми следует либо буква a для использования кодировки ASCII, либо буква w для кодировки WideChar. Win32a.inc и win32w.inc являются основными заголовками, win32ax.inc и win32wx.inc - это расширенные заголовки, они обеспечивают более продвинутые макрокоманды, эти расширения будут обсуждаться отдельно. Наконец, win32axp.inc и win32wxp.inc - это те же расширенные заголовки с включенной функцией проверки количества параметров в процедурных вызовах.
Часть кода программы:
format PE GUI 4.0 entry start include 'win32ax.inc' true = 1 false= 0 section '.data' readable writeable FileName db 'math.txt',0 ; имя файла hFile dd ? ; хендл файла для доступа nSize dd ? ; размер файла lpRead dd ? ; сколько считали байт result dd 0 ; под результат вычисления lpBuffer db 256 dup (0) ; буфер под чтение из файла lpParse db 256 dup (0) ; буфер под парсер (обратная польская нотация) section '.text' code readable executable start: ; открыть файл на чтение invoke CreateFile, FileName, GENERIC_READ, 0, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0 mov [hFile], eax ; взять размер файла invoke GetFileSize, [hFile], 0 mov [nSize], eax ; считать файл в буфер invoke ReadFile, [hFile], lpBuffer, [nSize], lpRead, 0 ; закрыть файл invoke CloseHandle, [hFile] ; выводим уравнение invoke MessageBox, NULL, lpBuffer, 'Исходное Уравнение' , 1 ; вызов процедуры парсинга в ОПЗ stdcall Parse, lpBuffer, lpParse ; проверка на ошибку cmp eax, -1 ; на выход если ошибка je .exit ; выводим ОПЗ invoke MessageBox, NULL, lpParse, 'Обратная Польская Запись' , 1 ; вызов процедуры парсинга ОПЗ и вычисления уравнения stdcall Calculation, lpParse mov [result], eax
-----------------------------------
В архив
- Расчётно пояснительная записка - 38 стр. (в формате .docx)
- 2 листа c UML диаграммами, по алгоритмам и логике работы программы (в формате .vsdx, .pdf и .png)
- Программа(исходный код на flat assembler, текстовый файл для ввода примера, скомпилированная программа)
-----------------------------------
imlkenshi