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

Записи


    Рассмотренные в предыдущем разделе структуры предназначены для
    многобайтовых данных. Но в некоторых случаях требуется побитовое
    определение объектов данных. Для таких случаев в Макроассемблере
    имеется механизм описания данных, который называют записью
    (RECORD). Действие оператора RECORD аналогичны действиям операторов
    STRUC и MACRO. Оператор RECORD задает определенную конфигурацию
    данных. Присвоенное записи имя становится для ассемблера еще одним
    оператором. Вы можете использовать это имя записи для задания
    специальных конфигураций данных. От оператора STRUC оператор RECORD
    отличается тем, что он определяет объекты на уровне отдельных
    битов. Каждому из полей оператор RECORD присваивает имя и указывает
    его ширину в битах. Оператор RECORD можно использовать для


    формирования битовых полей длиной до 16 бит.
 
      Здесь мы опять воспользуемся примером. На Фиг. 6.15 приведена
    еще одна ничего не делающая программа, связанная с установоением
    даты изменения файла. В определении Блока управления файлом
    содержится 16-битовое поле, в котором содержится дата формирования
    или последнего изменения данного файла операционной системой. При
    открыти файла DOS заполняет это поле в блоке FCB на основе
    информации из каталога дискеты. В 16-ти батих поля даты
    закодированы год, месяц и число. Из приведенного на Фиг. 6.15
    оператора RECORD видно строение этого слова данных.
            Microsoft (R) Macro Assembler Version 5.00              1/1/80 04:03:43
            Фиг. 6.15 Записи                                  Page         1-1
 
                                          PAGE    ,132
                                          TITLE   Фиг. 6.15 Записи
 
                                    DATE_WORD       RECORD  YEAR:7,MONTH:4,DAY:5
 
             0000                   STACK   SEGMENT STACK
             0000  0040[                        DW      64      DUP (?)
                   ????



Содержание раздела