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


              

В данном примере не выполняется


    значение поля DAY.
 
      В данном примере не выполняется никакой полезной работы, так
    как записанные в регистры значения оказываются потерянными при
    возвращении управления DOS. Однако вы можете запустить программу
    через отладчик и установить точку прерывания на команде возврата.
    Отладчик выводит на дисплей содержимое регистров BH, BL и AL, так
    что вы можете увидеть дату. Более практичная программа после
    считывания значений, относящихся к дате, преобразовывала бы их в
    код ASCII для вывода на экран. Либо вы могли бы оформить нашу
    программу как процедуру, которая вырабатывает информацию о дате для
    другой программу.
 
      Имеется еще несколько особенностей операции RECORD, которые
    следует рассмотреть. На Фиг. 6.15 приведен фрагмент таблицы
    символических имен из ассемблерного листинга. В этой таблице
    содержится информация, которая имеется у ассемблера о каждом из
    полей записи. В этой таблице нас будет интересовать второй ряд
    заголовков: "Shift Width Mask Initial" (Сдвиг Длина Маска Начальное
    значение"). Как видно из таблицы символических имен, запись
    DATE_WORD имеет длину 16 бит и состоит из трех полей. Каждое поле
    имеет четые атрибута. Значение сдвига равно числу битов в записи,
    остающихся справа от поля. Это значение указывает ассемблеру,
    насколько нужно сдвинуть данное поле, чтобы выровнять его на правый
    край. Значение маски служит для выделения поля в записи. Цифра 1 в
    слове маски показывает, что соответствующая позиция относится к
    данному полю.
 
      Ассемблер может оперировать значением длины любого поля записи.
    Вы можете задать длину поля при ассемблировании с помощью оператора
    WIDTH. Например, команда
 
      MOV AL,WIDTH YEAR
 
      в нашем примере помещает в регистр AL значение, равное семи.
 
      Столбец начальных значений в таблице символических имен
    показывает, какие значения ассемблер вставляет при формировании

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