Программа - ассемблер - Большая Энциклопедия Нефти и Газа, статья, страница 1
Настоящий менеджер - это такой, который если уж послал тебя... к чертовой бабушке, то обязательно проследит, чтобы ты добрался по назначению. Законы Мерфи (еще...)

Программа - ассемблер

Cтраница 1


1 Организация ссылок вперед с использованием псевдооперации EQU. [1]

Программа простого двухпрсходного ассемблера для микро - ЭВМ Н6809 представлена на рис. 6.5. Во время первого прохода просматривается каждая строка и в таблицу символов вводятся встречающиеся метки. Каждая строка классифицируется согласно типу псевдооперации или машинной команды, указываемыми в поле Код операции. Машинные команды классифицируются согласно их длине, выражаемой в байтах. Условные переходы представляют особый случай, когда ассемблер должен вычислить смещение от указанного адреса в поле операнда.  [2]

Одной из функций программы ассемблера является распознавание исходного языка, с которым он может работать. В общем случае конкретный ассемблер будет распознавать и принимать только один язык, при этом принципиальную роль играют определения слов и семантические правила. И если мы нарушим эти определения и правила, ассемблер будет нас информировать об этом и может указать на непонятные места. Доступность, число и качество распознавания подобных нарушений - существенные факторы, от которых зависит разработка программ.  [3]

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

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

Из каких трех элементов состоит строка программы ассемблера.  [6]

При трансляции с языка ассемблера на машинный язык программа ассемблера выполняет также и некоторые дополнительные функции. Она отводит ячейки памяти на основе символических адресов, задаваемых программистом, и компонует цифровой код операции по символическому или мнемоническому ее коду, задаваемому программистом.  [7]

На языке МС-16 это делается с помощью программы 10.1. Программа ассемблера преобразует этот набор мнемонических символов в команды на машинном языке, используя для каждой строки одно или два машинных слова. Перед выполнением программы результирующий машинный код записывается в последовательные ячейки памяти.  [8]

Язык ассемблера - язык, содержащий символические команды, которые программа ассемблера переводит в команды процессора.  [9]

Разумеется, промежутки между группами цифр в вышеприведенной последовательности нужны только для того, чтобы в целях иллюстрации отделить друг от друга четыре части команды при изображении их на бумаге. Программа ассемблера интерпретирует символический код операций LD и строит соответствующий числовой код операций 11000 и соответствующий флаговый разряд 0, указывающий на то, что команда состоит из одного слова. Численный адрес 2062 операнда SUM слишком велик, чтобы поместиться в восьми разрядах, отведенных в команде под смещение. Поэтому предварительно в регистр № 2, заданный признаком 10, загружается число, позволяющее адресовать SUM и другие величины, нужные программисту.  [10]

Резюмируя сказанное, отметим, что язык ассемблера дает возможность производить как бы стенографическую запись, применяя мнемонические символы, и пользоваться им значительно проще, чем машинным языком. Программа ассемблера обычно обеспечивает перевод символических команд языка ассемблера в команды машинного языка по принципу один к одному. Хотя ассемблеры значительно снижают затраты труда на запись программы, все же использование языка ассемблера трудоемко и сопровождается ошибками. Поэтому часто желательны более простые методы записи программы; об этом и идет речь в следующем разделе.  [11]

Это инструкция программе ассемблера о том, что нужно прекратить трансляцию. END, хотя и выглядят в программе как команды, предназначенные для ЦП, на самом деле-управляют процессом трансляции и называются псевдооперато-рами.  [12]

Здесь рассматриваются синтаксис языка ассемблера и выполнение программы ассемблера.  [13]

На следующем уровне иерархии крайне важная идея о том, что сами компьютеры можно заставить переводить программы с высших на низшие уровни, развивается еще далее. В начале 1950 - х годов, когда программа ассемблера уже использовалась в течение нескольких лет, было подмечено, что существуют несколько характерных структур, появляющихся в программе за программой. По-видимому, так же как и в шахматах, это были некие характерные структуры, естественно возникающие тогда, когда люди пытаются найти алгоритмы - точные описания процессов, которые они хотят осуществить. Иными словами, кажется, что в алгоритмах есть некие компоненты высшего уровня, при помощи которых они могу г быть описаны с большей легкостью и эстетизмом, нежели на весьма ограниченном машинном языке или языке ассемблера Обычно такой компонент высшею уровня в алгоритме представляет собой не одну-две машинных команды, но целый конгломерат; при этом эти команды не обязательно соседствуют в памяти Подобный компонент может быть представлен на языке высшего уровня как некое единство, или блок.  [14]

На рис. 3.7 показана таблица псевдоопераций. Каждая псевдооперация представлена в таблице вместе с соответствующим указанием на программу ассемблера, предназначенную для выполнения этой псевдооперации.  [15]



Страницы:      1    2