Сборник по задачам и примерам Assembler



Вложенные структуры - часть 2


nationality db 20 национальность ;и так далее

ends

.data

si element<>

.code

mov al ,sl.m_birthday

Синтаксис ассемблера допускает вынести описание вложенной структуры за пределы текущей структуры. При этом можно инициализировать необходимые поля структуры birthday внутри отдельного экземпляра структуры element. Но работает такое описание структуры только в режиме IDEAL, что и продемонстрировано в программе ниже.

:prg02_03.asm - программа, демонстрирующая вложение структуры в другую структуру в программе на ассемблере.

birthday struc

y_bi rthday dw 1962 :год рождения

m_birthday db 05 :месяц рождения

d_birthday db 30 :день рождения

ends

element struc

INN dd 0 ;ИНН

Birthday struc (m_birthday-06. d_birthday=21)

fio db 30 dup С ') ;Ф.И.О.

nationality db 20 национальность

;и так далее

ends

.data

si element <.<»

.code

ideal

mov al,si.m_birthday masm

Кстати, в описание структур можно вкладывать не только описания других структур, но и описание объединений, так как это показано в следующей программе.

:prg02_04.asm - программа, демонстрирующая взаимное вложение объединений и структур в программе на ассемблере.

elementstruc INN del 0 :ИНН fiodb 30 dup С ') :Ф.И.О. union

struc

y_birthday_l dw 1962 :год рождения m_birthday_l db 06 ;месяц рождения d_birthday_l db 03 ;месяц рождения ' ends

struc

d_birthday_2 db ? ;месяц рождения m_birthday_2 db ? :месяц рождения y_birthday_2 dw ? ;год рождения

ends

ends ;конец объединения nationality db 20 -.национальность :и так далее ends .data si element<>

!code"

mov al.si.m_bi rthday_l

mov sl.m_birthday_2,0ffh mov al,sl.m_birthday_2




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