Курсовая работа: Ассемблер 2
Реальный и защищенный режимы прежде всего принципиально различаются способом обращения к оперативной памяти компьютера. Метод адресации памяти, используемый в реальном режиме, позволяет адресовать память лишь в пределах 1 Мбайт; в защищенном режиме используется другой механизм (из-за чего, в частности, эти режимы и оказались полностью несовместимыми), позволяющий обращаться к памяти объемом до 4 Гбайт. Другое важное отличие защищенного режима заключается в аппаратной поддержке многозадачности с аппаратной же (т.е. реализованной в самом микропроцессоре) защитой задач друг от друга.
Реальный и защищенный режимы имеют прямое отношение к работе операционной системы, установленной на компьютере.
В настоящее время на персональных компьютерах типа IBM PC используются в основном два класса операционных систем (оба — разработки корпорации Microsoft): однозадачная текстовая система MS-DOS и многозадачная графическая система Windows. Операционная система MS-DOS является системой реального режима; другими словами, она использует только средства процессора 8086, даже если она установлена на компьютере с процессором Pentium. Система Windows — это система защищенного режима; она значительно более полно использует возможности современных процессоров, в частности, многозадачность и расширенное адресное пространство. Разумеется, система Windows не могла бы работать с процессором 8086, так как в нем не был реализован защищенный режим.
Соответственно двум типам операционных систем, и все программное обеспечение персональных компьютеров подразделяется на два класса: программы, предназначенные для работы под управлением MS-DOS (их часто называют приложениями DOS) и программы, предназначенные для системы Windows (приложения Windows). Естественно, приложения. DOS могут работать только в реальном режиме, а приложения Windows - только в защищенном.
Таким образом, выражения «программирование в системе MS-DOS», «программирование в реальном режиме» и «программирование 86-го процессора» фактически являются синонимами. При этом следует подчеркнуть, что хотя процессор 8086, как микросхема, уже давно не используется, его архитектура и система команд целиком вошли в современные процессоры. Лишь относительно небольшое число команд современных процессоров специально предназначены для организации защищенного режима и распознаются процессором, только когда он работает в защищенном режиме.
Целью выполнения данной курсовой работы является получение практических навыков работы программирования на языке ассемблера.
Итогом выполнения курсовой работы является разработка алгоритма контроля на четность массива данных, хранящегося в некоторой области памяти и программы на языке ассемблера, реализующий данный алгоритм.
1. СОЗДАНИЕ ПРОГРАММЫ НА АССЕМБЛЕРЕ.
Надежность программы достигается, в первую очередь, благодаря ее правильному проектированию, а не бесконечному тестированию. Это правило означает, что если программа правильно разработана в отношении как структур данных, так и структур управления, то это в определенной степени гарантирует правильность ее функционирования. При применении такого стиля программирования ошибки являются легко локализуемыми и устранимыми.
В большинстве случаев рекомендуется следующий процесс разработки программы на ассемблере:
1.Этап постановки и формулировки задачи:
· изучение предметной области и сбор материала в проблемно-ориентированном контексте;
· определение назначения программы, выработка требований к ней и представление требований, если возможно, в формализованном виде;
· формулирование требований к представлению исходных данных и выходных результатов;
· определение структур входных и выходных данных;
· формирование ограничений и допущений на исходные и выходные данные.
2.Этап проектирования:
· формирование «ассемблерной» модели задачи;
· выбор метода реализации задачи;
· разработка алгоритма реализации задачи;
· разработка структуры программы в соответствии с выбранной моделью памяти.
3. Этап кодирования:
· уточнение структуры входных и выходных данных и определение ассемблерного формата их представления;
· программирование задачи;
· комментирование текста программы и составление предварительного описания программы.
4. Этап отладки и тестирования:
· составление тестов для проверки правильности работы программы;
· обнаружение, локализация и устранение ошибок в программе, выявленных в тестах;
· корректировка кода программы и ее описания.