Объявление - эквивалентность - Большая Энциклопедия Нефти и Газа, статья, страница 2
Если бы у треугольника был Бог, Он был бы треугольным. Законы Мерфи (еще...)

Объявление - эквивалентность

Cтраница 2


Так, в примере 6.3 мы не смогли составить программу, которую можно было бы без каких-либо ее изменений использовать применительно к произвольному исходному слову WORD, - длину этого слова приходилось либо фиксировать в программе, либо делать ее параметром программы, значение которого необходимо задавать с помощью объявления эквивалентности. И в том, и в другом случае при изменении длины исходного слова в программу приходится вносить определенные изменения. Эта трудность становится особенно серьезной, если длина слова WORD вообще неизвестна заранее, а определяется только в процессе выполнения программы.  [16]

В команде, использующей эту операцию, символ sym задается в явном виде, что позволяет обойтись без представляющей его константы. А чтобы этот символ сделать параметром программы, в команде будем указывать не сам символ, а его имя SYM, значение которого, равное коду нужного символа, зададим с помощью объявления эквивалентности.  [17]

Использование имен регистров Как уже отмечалось, из-за малого количества общих регистров и их интенсивного использования транслятор не занимается распределением регистров для тех или иных целей - решение этого вопроса полностью передается на усмотрение программиста. По этой причине ссылка на регистры в автокодных командах, вообще говоря, должна производиться путем указания их номеров. Однако при этом, конечно, снижается наглядность программы, поскольку надо вспоминать, значение какой величины хранится в регистре с тем или иным номером. Автокод позволяет дать каждому регистру свое имя и использовать его для ссылок на содержимое регистра, а с помощью объявлений эквивалентности программист может каждому из этих имен поставить в соответствие определенный номер. В нашей программе используется и предшествующий ему регистр. Ему, конечно, тоже можно дать свое имя, например РР, а потом с помощью объявлений эквивалентности поставить в соответствие именам Р и РР нужные номера регистров.  [18]

Использование имен регистров Как уже отмечалось, из-за малого количества общих регистров и их интенсивного использования транслятор не занимается распределением регистров для тех или иных целей - решение этого вопроса полностью передается на усмотрение программиста. По этой причине ссылка на регистры в автокодных командах, вообще говоря, должна производиться путем указания их номеров. Однако при этом, конечно, снижается наглядность программы, поскольку надо вспоминать, значение какой величины хранится в регистре с тем или иным номером. Автокод позволяет дать каждому регистру свое имя и использовать его для ссылок на содержимое регистра, а с помощью объявлений эквивалентности программист может каждому из этих имен поставить в соответствие определенный номер. В нашей программе используется и предшествующий ему регистр. Ему, конечно, тоже можно дать свое имя, например РР, а потом с помощью объявлений эквивалентности поставить в соответствие именам Р и РР нужные номера регистров.  [19]



Страницы:      1    2