Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

После двоеточия указывается количество разрядов (бит) для каждого элемента записи

Записи

Mov cx,6

Lea di, mas

Lea si, sotr1.name

Move es,ax

Mov ds, ax

Code

Data

Lea ax, sotr1.name

Lea bx, sotr1

Работа с полями структуры

Чтобы сослаться на некоторое поле в структуре, следует использовать специальный оператор – точку. Этот оператор отделяет имя структуры от поля, в котором происходит адресация. Для вычисления адреса необходимо сложить адрес самой структуры и смещение в этой структуре, которое задается именем поля.

Пример:

mov al, byte ptr sotr1.name; в al загружается одна буква 'и' –

mov al, byte ptr[bx] name

mov cx, [ax]+1 третий вариант адресации

 

Пример:

Переслать поле name в область памяти

sotr1 worker <'Иванов','инженер'>

mas db 6 dup('')

assume ds:@data, es:@data

mov ax, @data

rep movs b;записать поле ‘Иванов” в память mas

Это структурный тип данных, состоящий из фиксированного числа элементов длиной от 1 до нескольких бит. При описании записи для каждого элемента указывается его длина в битах и значение этих бит(не обязательно).

Суммарный размер записи определяется суммой размеров её полей и не может быть более 8,16 или32 бит.

Если суммарный размер меньше указанного значения, то все поля записи смещаются к младшим разрядам.

При работе с записями используются 3 этапа:

1. Задание шаблона записи

2. Определение экземпляра записи

3. Организация обращения к записи (обращение к отдельным битам)

 

Шаблон записи:

имя записи RECORD <описание элементов>

IOTEST RECORD I1:1, I2:2=11, I3:1, I4:2=11, I5:2=00

Для получения экземпляра записи используются варианты:

· FLAG IOTEST? все элементы записи=0

· FLAG1 IOTEST <>; в качестве экземпляра выбирается шаблон

· FLAG2 IOTEST <,10,>; вносится I2=10 вместо I2=11, остальные по шаблону

· FLAG3 IOTEST {I2=10}; выборочная инициализация

Для работы с записями Assembler поддерживает ряд операций.

Каждому имени элемента записи Assembler присваивает числовое значение, равное смещению (в битах) элемента от правой границы записи.

Assembler предлагает оператор width, который позволяет определить размер элемента записи в битах, либо полностью размер записи.

 

Пример:

<== предыдущая лекция | следующая лекция ==>
Имя_структуры ends | Команды передачи управления
Поделиться с друзьями:


Дата добавления: 2013-12-12; Просмотров: 250; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.041 сек.