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



         

Структуры


    Структура данных - это организация данных, которая имеет для
    программиста определенный смысл. Как показывает опыт, мы определяем
    структуры данных когда одна и та же совокупность данных
    используется более чем одной программой или программистами.
    Благодаря определению, обе стороны имеют четкий образ этих данных.
    Если программа A передает некотрые данные программе B, то
    определение структуры данных гарантирует, что каждая из программ
    ищет данные в одном и том же месте.
      У нас уже был хороший пример структуры данных. Блок управления
    файлом FCB является структурой данных. Блок FCB используется
    программами для обмена информацией о файле с DOS. В блоке FCB
    содержатся такие важные данные об обрабатываемом файле, как номер
    текущей записи, длина файла и т.д. Кроме того, в блоке FCB имеется
    зарезервированное поле, которое содержит информацию, используемую
    только DOS. В блоке FCB находится вся информация, необходимая для
    DOS и прикладных программ. Эта структура данных служит для передачи
    параметров файла между DOS и прикладной программой.
 
      Теперь нужно найти такой способ определения структур данных,
    чтобы программа могла с удобством ими пользоваться. В
    Макроассемблере фирмы IBM имеется оператор STRUC, позволяющий
    определять структуру данных. С точки зрения программиста структура
    данных выглядит как еще один сегмент. Определение данных
    ассемблируется так же, как и обычные операторы данных, и описание
    структуры, как и описание сегмента, заканчивается оператором ENDS.
    Однако в действительности структура не генерирует данные. Оператор
    STRUC определяет структуру данных для ассемблера. В дальнейшем имя
    этой структуры данных используется в ассемблируемой программе для
    генерации соответствующей области данных.
      Если рассматривать оператор STRUC описанным выше образом, то он
    больше похож на оператор MACRO. Программа определяет структуру
    данных в одном месте, а ее вызов осуществляет позднее. Фактическая



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