Сложни типове данни
| Информационни технологии | 2009-12-04 | 73 сваляния |
-
Сложни типове данни
-
I. Структура
-
Общ вид за деклариране на тип
структура:
име STRUCT [изравняване:1,2 или 4]
Декларации на полета
име ENDS
-
Всяко поле има отместване спрямо първия байт
-
Размерът на структурата е сумата от размерите на полетата
-
Пример за деклариране на структура
student STRUCT 2
name BYTE 31 DUP(?) ; отместване=0
score WORD ? ; отместване=32
year DWORD ? ; отместване=34
student ENDS
Пример
; Дефиниране на променливи и масиви от тип структура
date STRUCT
day BYTE ?
month BYTE ?
year WORD 2003 ; стойност по подразбиране
date ENDS
.DATA
today date <22,4> ; променлива today:22-4-2003
a date <22,4,2004> ; променлива а:22-4-2004
array date 20 DUP({26,3,2003}) ; масив от 20 структури
mov al,today.day ; достъп до поле
mov bx,OFFSET today ; BX <- адрес на today
mov al,(date PTR[bn]).month ; индиректен операнд памет
-
II. Обединение
Общ вид за деклариране на тип обединение:
име UNION [изравняване:1,2 или 4]
Декларации на полета
име ENDS
-
Всички полета имат едно и също отместване
-
Размерът е равен на размера на най-дългото поле
-
Пример
primer UNION
a DWORD 00FFh ; начална стойност 00FFh
b WORD ?
c BYTE ?
primer ENDS
.DATA
ex1 primer ; променлива с начална стойност 00FFh
ex2 primer 52h ; променлива с начална стойност 5200h
array primer 10 DUP({2}) ; масив от 10 обединения с начална
; стойност 2
Тагове от реферата: еклии, вняване, деклриране, местне, руктура, ипове, STRUCT, първия, спрямо











