Операционная система в процессе разработки программ

Страницы работы

Фрагмент текста работы

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

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

Ассемблеры.

При переводе исходной программы в её объектное представление НЕОБХОДИМО выполнить следующие действия:

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

2.  Преобразовать символические операнды в соответствующие машинные адреса.

3.  построить машинные команды в соответствующем формате.

4.  преобразовать константы  во внутреннее машинное представление.

5.  Записать объектную программу.

Большинство ассемблеров выполняет 2 просмотра исходной программы. На первом просмотре («определение имён») осуществляются следующие функции:

1.  назначение адресов для всех предложений исходной программы.

2.  Запоминание адресов, присвоенных всем меткам, для последующего их использования во втором просмотре.

3.  Выполнение некоторых директив влияющих на адресацию.

Второй просмотр называется трансляция команд и генерация объектного кода. Его функции:

1.  Трансляция команд, т.е. перевод кодов операций и разрешение адресных ссылок.

2.  Генерация данных.

3.  Выполнение директив ассемблера, которые не были обработаны на первом просмотре.

4.           Запись объектного кода.

Ассемблер использует две внутренние таблицы: таблицу кодов операций и таблицу символических имен. Первая исп.-ся для поиска мнемонических кодов операций и перевода их в машинный язык. Вторая используется для хранения адресов, присвоенных символическим именам.

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

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

Похожие материалы

Информация о работе