Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Жизненный цикл программы на Ассемблере.

Читайте также:
  1. D. Программы использования
  2. I «Волевые* метапрограммы_________________________ 161
  3. II. Модульное структурирование содержания образовательной программы
  4. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  5. II. Требования к структуре образовательной программы дошкольного образования и ее объему
  6. II. Требования к структуре основной общеобразовательной программы дошкольного образования
  7. III. Требования к структуре основной образовательной программы основного общего образования

Регистры состояния и управления. Флаги

состояния

Флаги состояния (биты 0, 2, 4, 6, 7 и 11) отражают результат выполнения арифметических инструкций, таких как ADD, SUB, MUL, DIV.

CF — устанавливается при переносе из/заёме в (при вычитании

PF — устанавливается, если младший значащий байт результата содержит чётное число единичных (ненулевых) битов

AF — устанавливается при переносе и заёме из бита 3 результата..

ZF — устанавливается, если результат равен нулю.

SF — равен значению старшего значащего бита результата, который является знаковым битом в знаковой арифметике.

OF — устанавливается, если целочисленный результат слишком длинный для размещения в целевом операнде.

Управляющий флаг

Флаг направления (DF, бит 10 в регистре флагов) управляет строковыми инструкциями (MOVS, CMPS, SCAS, LODS и STOS): установка флага заставляет уменьшать адреса (обрабатывать строки от старших адресов к младшим), обнуление заставляет адреса увеличивать. Инструкции STD и CLD соответственно устанавливают и обнуляют флаг DF.

 

 

Смотри 3 вопрос

Организация памяти

Физическая память, к которой микропроцессов имеет доступ по шине адреса, называется оперативной памятью (или оперативным запоминающим устройством - ОЗУ).

ОП организована как последовательность байтов. Каждому байту соответствует уникальный адрес (его номер), который называется физическим адресом. Физический диапазон значений адресов зависит от разрядности шины адреса микропроцессора. Механизм управления памятью полностью аппаратный, т.е. программа сама не может сформировать физический адрес памяти на адресной шине.

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

 

 

Формирование физического адреса в реальном режиме

Микропроцессор предоставляет программам байтовое пространство памяти размером 1 Мбайт плюс 64 кбайт. Настройка сегментов выполняется, как и в МП 8086: 16-разрядное значение, записанное в селекторе сегмента, сдвигается влево на 4 бит (с добавлением нулей справа) и образует базовый адрес сегмента. Исполнительный адрес расширяется влево четырьмя нулями и прибавляется к базовому, образуя линейный адрес. Поскольку разбиение на страницы в режиме реального адреса отсутствует, линейный адрес эквивалентен физическому. При образовании линейного адреса может возникнуть перенос. В МП 8086 этот перенос усекается В МП 80386 бит переноса записывается в разряд 20 линейного адреса.

В отличие эт МП 8086 и 80286 МП 80386 может генерировать 32-разрядные исполнительные адреса с помощью префикса размера адреса. Значение этого адреса должно быть в диапазоне от 0 до 65536, в пр этивном случае возникает исключение: прерывание 12 или 13 без кода ошибки. Это делается для совместимости с МП 80286.

 

Жизненный цикл программы на Ассемблере.

Надежность программы достигается за счет её правильного проектирования. При применении такого стили программирования ошибки являются легко локализуемыми и устранимыми жизненный цикл программы состоит из следующих этапов:

1. Этап формулировки задач.

А) Изучение предметной области и сбор материалов.

Б) определение назначения программы и выработка требований к ней.

В)формулирование требований представление исходных данных.

Г)определение структур входных и выходных данных.

Д) формирование ограничений и допущений на выходные данные.

2.Проектирование.

А) выбор метода реализации задач.

Б) Разработка алгоритма реализации задач

В) Разработка структуры программы в соответствии с выбранной моделью памяти.

3. Этап кодирования.

А) уточнение структур входных и выходных данных.

Б) Программирование задачи.

В) Комментирование текста программы и составления предварительного написания текста программы.

4. Отладки и тестирование.

А) Составления теста для проверки правильности работы программы

Б) Обнаружение локализация устранение ошибок.

В) Корректировка описания и комментария программ.

5. Эксплуатация и сопровождения.

А) настройка программы на конкретные условия использования.

Б) Обучения пользователей программы.

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

Г) модификация программы с целью устранения выявленных ошибок.

 

Трансляция программ.

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

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

Компоновка программ

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

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

Стандартные возможности отладчика:

1. Выполнение трассировки программы в прямом направлении, то есть последовательное исполнение программы при котором за 1 шаг выполняется 1 машинная команда.

2. Выполнение трассировки программы в обратном направлении команда.trace

3. Просмотр и изменение состояния и изменения аппаратных ресурсов микропроцессора во время покомандного выполнения программ это позволяет найти место и источник ошибки в программе.

 

 

Система машинных команд должна быть достаточной для того чтобы реализовать требуемые действия выдавая указания аппаратуре компьютера. Каждая машинная команда состоит из 2 частей операционной части определяющей что делать и оперантной части определяющей объекты обработки. В машинную команду явно и не явно входят следующие элементы

1. Поле префиксов элемент команды который уточняет либо модефицирует действие команды в следующих аспектах

А. Замена сегмента если не удовлетворяет по умолчанию.

Б. Изменение размерности адреса.

В. Указание на необходимость на повторение команды.

2. поле под операции- одной и той же команде могут соответствовать несколько кодов операции в зависимости от её операндов.

3. поле операндов содержит от 0 до 2 элементов

 

 


Дата добавления: 2015-11-26; просмотров: 142 | Нарушение авторских прав



mybiblioteka.su - 2015-2024 год. (0.008 сек.)