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

Система команд микропроцессора. Трансляция программы

Читайте также:
  1. A. Команды умножения
  2. I. Система прерываний программ в ПК
  3. I. Чем я могу помочь команде
  4. II. Система зажигания
  5. II. Система ролей.
  6. III. КУЛЬТУРА КАК СИСТЕМА ЦЕННОСТЕЙ
  7. III. Рейтинговая система оценки учебной и внеучебной деятельности студентов

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

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

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

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

Создание исполняемого загрузочного модуля. Цель этого шага: преобразовать код и данные в объектных файлах в их перемещаемое, выполняемое отображение.

Разделения процесса создание исполняемого модуля (трансляцию и компоновку) сделано намеренно, для того чтобы можно было объединить вместе несколько модулей. Результатом работы компоновщика является создание загрузочного файла с расширением «.exe»

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

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

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

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

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

Это позволяет найти место и источник ошибки в программе.

Система команд микропроцессора

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

В машинную команду явно и не явно входят следующие элементы:

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

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

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

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

· Поле кода операции – оно определяет действие команды. Одной и той же команде могут соответствовать несколько кодов операции, в зависимости от её операндов

· Поле операндов – содержит от 0 до 2 элементов

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

1. Регистр – регистр

2. Регистр – память

3. Память – регистр

4. Непосредственный операнд – регистр

5. Непосредственный операнд – память

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

· Префикс замены сегмента – в явной форме указывает какой сегментный регистр используется в данной команде для адресации стека или данных.

· Префикс разрядности адреса – он уточняет разрядность адреса (16 или 32 разрядный адрес)

· Префикс разрядности операнда – указывает на разрядность операнда с которым работает команда (16 или 32 разрядный)

· Префикс повторения – зацикливает команду для обработки всех элементов цепочки.

o Условные – проверяют некоторые флаги и в результате проверки осуществляет досрочный выход из цикла

o Безусловные

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

Непосредственный операнд задаётся в самой программе. Он находится в коде команды, т.е. является её частью. Для хранения такого операнда в команде выделяется поле длиной до 32 бит. Операнд может находиться в одном из регистров. Регистровые операнды указываются именами регистров

32 разрядные регистры:

· Eax

· Ebx

· Ecx

· Edx

· Esi

· Edi

· Esp

· Ebp

 

16-разрядные регистры:

· Ax

· Bx

· Cx

· Dx

· Si

· Di

· Sp

· Bp

 

8-разрядные регистры:

· Ah

· Al

· Bh

· Bl

· Ch

· Cl

· Dh

· Dl

 


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



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