КАТЕГОРИИ: Архитектура-(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, который позволяет определить размер элемента записи в битах, либо полностью размер записи.
Пример:
Дата добавления: 2013-12-12; Просмотров: 270; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |