ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ
1. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ
1.1. Теория
1.2. Анализ задания
1.3. Средства проектирования
2. РАЗРАБОТКА ПРОГРАММЫ ЗАМЕНА ЧИСЛИТЕЛЬНЫХ
2.1. Логическое проектирование
2.1.1. Ввод данных
2.1.2. Обработка данных
2.1.3. Вывод данных
2.2. Реализация
2.2.1. Переменные
2.2.2. Ввод данных
2.2.3. Обработка данных + Вывод данных
3. ТЕСТИРОВАНИЕ ПРОГРАММЫ СОРТИРОВКИ АБЗАЦЕВ ПО ЧИСЛУ ЗНАКОВ
ЗАКЛЮЧЕНИЕ
СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ
ПРИЛОЖЕНИЕ А. Техническое задание на курсовой проект
Тема курсовой работы является разработка приложения для выполнения операций с текстом, написанного на С++ с применением языка программирования Assembler.
Программа не потребует внедрения новых дополнительных возможностей. Поэтому разработка программы требует особых знаний в Объектно-ориентированном программировании (ООП). Так как ассемблер от Microsoft достаточно объектно-ориентированный будем во время разработки использовать его.
В связи со сказанным выше не очень нужно прилагать к программе подробную и понятную документацию – для человека, который ею заинтересуется, не составит большого труда понять, как ею пользоваться, просто по визуальном виду.
Цель курсового проектирования заключается в разработке программы на высокоуровневом языке программирования С++ с ассемблерной вставкой.
На основании поставленной цели были предложены задачи для реализации проекта:
проанализировать задание;
описать известные способы реализации;
описать применяемые алгоритмы;
выбрать средства проектирования.
уточнить функциональное назначение, для чего определиться с функциональным назначением программы, классами решаемых задач и функциональными ограничениями;
выполнить логическое проектирование, для чего конкретизировать алгоритмы под задание и разработать структуру программного средства;
реализовать программу на высокоуровневом языке программирования с ассемблерной вставкой;
проверить работоспособность программы на контрольных примерах и/или различных вычислительных системах.
1. АНАЛИЗ ТЕХНИЧЕСКОГО ЗАДАНИЯ
1.1. Теория
Алгоритм решения достаточно прост: необходимо вывести на дисплей последовательность цифробуквенного алфавита с учетом его дальнейшего редактирования. Так как в программе не предусмотрено никакое шифрование данных, то можно воспользоваться обычным массивом байт.
Текст кодируется в системе с использованием ASCII (англ. American Standard Code for Information Interchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной.
Использование такого стандарта очевидно – оно соответствует ГОСТу, каждый знак занимает всего 1байт. В отличие от использования Unicode. А также содержит в себе все буквы русского алфавита.
Процедура принимает в качестве параметров адреса строк и возвращает адрес строки в виде упорядоченного набора байт
Пересылка данных происходит из 32 разрядного регистра.
Процедура возвращает в вызывающую программу адрес строки содержащий результат.
Результирующая строка после выполнения процедуры будет содержать конечный результат.
1. Аблязов, Р. Программирование на ассемблере на платформе x86-64 / Р. Аблязов. - М.: Книга по Требованию, 2017. - 302 c.
2. Брэй, Барри Применение микроконтроллеров PIC18. Архитектура, программирование и построение интерфейсов с применением С и ассемблера (+ CD-ROM) / Барри Брэй. - М.: МК-Пресс, Корона-Век, 2018. - 576 c.
3. Галисеев, Г. В. Ассемблер для Win 32. Самоучитель / Г.В. Галисеев. - М.: Вильямс, 2017. - 368 c.
4. Жуков, А. Ассемблер / А. Жуков, А. Авдюхин. - М.: БХВ-Петербург, 2018. - 448 c.
5. Иванов, В. Б. Программирование микроконтроллеров для начинающих. Визуальное проектирование, язык C, ассемблер (+ CD-ROM) / В.Б. Иванов. - М.: Корона-Век, МК-Пресс, 2018. - 176 c.
6. Калашников, О. А. Ассемблер — это просто. Учимся программировать (+ CD-ROM) / О.А. Калашников. - М.: БХВ-Петербург, 2018. - 336 c.
7. Калашников, О. Ассемблер - это просто. Учимся программировать / О. Калашников. - М.: БХВ-Петербург, 2018. - 336 c.
8. Калашников, О. Ассемблер? Это просто! Учимся программировать (+ CD-ROM) / О. Калашников. - М.: СПб: БХВ, 2016. - 384 c.
9. Калашников, Олег Ассемблер? Это просто! Учимся программировать / Олег Калашников. - М.: БХВ-Петербург, 2015. - 384 c.
10. Кетков, Ю.Л. Введение в системное программирование на языке ассемблера ЕС ЭВМ / Ю.Л. Кетков, В.С. Максимов, А.Н. Рябов. - М.: Наука, 2018. - 264 c.
11. Лин, В. PDP-11 и VAX-11. Архитектура ЭВМ и программирование на языке ассемблера / В. Лин. - М.: Радио и связь, 2018. - 320 c.
12. Магда, Юрий Использование ассемблера для оптимизации программ на С++ (+ CD-ROM) / Юрий Магда. - М.: БХВ-Петербург, 2016. - 492 c.
13. Марек, Рудольф Ассемблер на примерах / Рудольф Марек. - М.: Наука и техника, 2015. - 240 c.
14. Мухаммед, Али Мазиди Микроконтроллеры PIC и встроенные системы. Применение ассемблера и C для PIC18 / Мухаммед Али Мазиди, Ролин Д. МакКинли, Дэнни Кусэй. - М.: МК-Пресс, Корона-Принт, 2019. – 784.
15. Пильщиков, В. Н. Assembler. Программирование на языке ассемблера IBM PC / В.Н. Пильщиков. - М.: Диалог-Мифи, 2018. - 288 c.
16. Пирогов Ассемблер на примерах / Пирогов, Владислав. - М.: СПб: БХВ, 2019. - 416 c.
17. Пирогов, Владислав Ассемблер для Windows (+ CD-ROM) / Владислав Пирогов. - М.: БХВ-Петербург, 2018. - 896 c.
18. Пирогов, Владислав Ассемблер для Windows / Владислав Пирогов. - М.: БХВ-Петербург, 2017. - 896 c.
19. Пирогов, Владислав Ассемблер на примерах / Владислав Пирогов. - М.: БХВ-Петербург, 2018. - 416 c.
20. Рассел, Джесси Ассемблер / Джесси Рассел. - М.: Книга по Требованию, 2018. - 621 c.
21. Ревич, Юрий Практическое программирование микроконтроллеров Atmel AVR на языке ассемблера / Юрий Ревич. - М.: БХВ-Петербург, 2018. - 368 c.
22. Скэнлон, Л. Персональные ЭВМ IBM PC и XT. Программирование на языке ассемблера / Л. Скэнлон. - М.: Радио и связь, 2018. - 336 c.
23. Финогенов, К. Г. Использование языка Ассемблера. Учебное пособие / К.Г. Финогенов. - М.: Горячая линия - Телеком, 2018. - 440 c.
24. Финогенов, К. Г. Основы языка Ассемблера / К.Г. Финогенов. - М.: Радио и связь, 2018. - 288 c.
25. Ярмиш, Р. Основы программирования на языке Ассемблера / Р. Ярмиш, Дж. Ярмиш. - М.: Мир, 2019. - 564 c.