Assembler - язык неограниченных возможностей

         

Структуры


Директива STRUC позволяет определить структуру данных аналогично структурам в языках высокого уровня. Последовательность директив

имя struc поля

имя ends

где поля — любой набор псевдокоманд определения переменных или структур, устанавливает, но не инициализирует структуру данных. В дальнейшем для ее создания в памяти используют имя структуры как псевдокоманду:

метка имя <значения>

И наконец, для чтения или записи в элемент структуры используется оператор «.» (точка). Например:

point struc ; Определение структуры x dw 0 ; Три слова со значениями y dw 0 ; по умолчанию 0,0,0 z dw 0 color db 3 dup(?) ; и три байта point ends

cur_point point <1,1,1,255,255,255> ; Инициализация mov ax,cur_point.x ; Обращение к слову "x"

Если была определена вложенная структура, доступ к ее элементам осуществляется через еще один оператор «.» (точка).

color struc ; Определить структуру color. red db ? green db ? blue db ? color ends

point struc x dw 0 y dw 0 z dw 0 clr color <> point ends

cur_point point <> mov cur_point.clr.red,al ; Обращение к красной компоненте ; цвета точки cur_point.



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