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



         

Структуры - часть 7


    Здесь снова модифицируются первые три поля определения данных путем
    включения новых значений в поля операндов оператора FCB.
 
      Выигрыш от использования структур данных проявляется в
    действительных командах программы. Программа может ссылаться на
    имена INPUT и OUTPUT так же, как и на любые другие метки в
    программе. Вы можете видеть это, в том участке программы, где
    открывается входной файл INPUT и оператор
 
      LEA DX,INPUT
 
    используется для   установки адреса входной структуры данных FCB.
 
      В программе можно использовать каждое из указанных полей
    структуры данных. Значению каждого имени соответствует смещение
    какого-либо поля в структуре данных. Например, программа помещает в
    регистр BX адрес FCB INPUT. После этого программа обращается к
    полям RECORD_SIZE и SEQ_NUMBER в режиме адресации по базе. Так как
    регистр BX уже указывает на структуру данных FCB, то нужно задать
    смещение относительно этой базы. Способ адресации
 
      [BX].RECORD_SIZ
 
      указывает ассемблеру, что в команде, которую он должен
    сгенерировать, смещение поля RECORD_SIZE складывается со значением
    базы, хранящимся в регистре BX. Если вы рассмотрите соответствующие
    команды на машинном языке, то увидите, что в них присутствуют
    смещения для полей RECORD_SIZE (0EH) и SEQ_NUMBER (20H). Символ "."
    идентифицирует имена полей как смещения в структуре данных.
 
      Помимо режимов адресации по базе и индексу можно использовать
    структуру данных и для прямой адресации. Следующий участок
    программы непосредственно изменяет поле RECORD_SIZE в FCB OUTPUT.
    Программа именует это поле OUTPUT.RECORD_SIZE. Имя OUTPUT
    определяет конкретную структуру данных, а RECORD_SIZE - имя поля в
    этой структуре данных.
 
      Прежде, чем покончить с этим примером, посмотрим, какой
    информацией о структуре данных располагает ассемблер. Фиг. 6.14
    включает в себя фрагмент таблицы символических имен. Ассемблер



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