Assembler для начинающих


         

Записи - часть 6


    записи. Можно задавать записи с начальными значениями, отличными от
    нуля. Имеется также возможность изменить эти значения при генерации
    области данных. Для задания начальных значений вы после указания в
    операторе RECORD каждого из полей ставите знак равенства и
    соответствующее значение. Запись DATE_WORD с начальными значениями,
    соответствующими 1 января 1983 года, будет иметь вид:
 
      DATE_WORD RECORD YEAR:7=3, MONTH:4=1, DAY:5=1
 
      Эти значения можно переназаначить точно таким же способом, как
    и в случае структур. Когда вы формируете запись, в угловых скобках
    содержатся конкретные значения для данной генерации. Если нужно,
    чтобы дата была 5 января 1984 года, то вы можете сгенерировать
    запись следующим образом:
 
      DATE DATE_WORD <4,,5>
 
      Как и в случае макрокоманд или структур, параметры здесь
    являются позиционно-зависимыми. Так как параметр, соответствующий
    месяцу, не указан, то ассемблер воспользуется для него начальным
    значением, указанным в операторе RECORD.
 
      Обратите внимание, что программа на Фиг. 6.15 определяет блок
    FCB, не полбзуясь оператором STRUC, рассмотренным в предыдущем
    разделе. Мы не могли воспользоваться оператором STRUC, потому что
    данные каждого поля структуры должны определяться одним из
    операторов типа DEFINE. Мы не можем использовать имя записи в
    качестве одного из полей структуры. Тот способ, который мы
    применили на Фиг. 6.15, - один из позволяющих обойти эту
    трудность.
      Можно решить эту же задачу другим способом. Хотя ассемблер и не
    генерирует область данных, пока имя записи не использовано в
    программе в качестве оператора, но он хранит описания полей,
    указанных в операторе RECORD. Это позволяет определить в программе
    запись DATE_WORD, не используя ее для задания поля DATE структуры
    данных. Это все равно, что определить макрокоманду, но не вызывать
    ее. Остальная часть программы остается без изменений. Имена



Содержание  Назад  Вперед