| [Назад] [Далее] | ![]() |
Директива 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.