Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемИлья Созонов
1 Программирование на Ассемблер к.т.н., доц. Красов А.В. Лекция 7 ФакультетМТС Курс3 Семестр6 Форма контролязачет Лекции14 часов Лабораторные работы12 часов к.т.н., доцент Красов Андрей Владимирович директор УИЦ ИТТ, доцент кафедры ИБТС Куратор специальности «Защищенные системы связи» Автор курса
2 Язык ассемблера, кроме описания простых переменных, поддерживает массивы, структуры и объединения. Сложные структуры данных Описание массива Массивы в языке ассемблера могут быть заданны двумя способами: перечислением значений; используя оператор повторения dup; с помощью директив label и rept. Задание массива перечислением: при описании переменных значения разделяются символом, (запятая). Пример: masdd1, 2, 3, 4, 5 Задание массива через оператор повтора: Masdw5dup(0). Задание массивов с помощью директив label и rept. Директива rept относится к макросредствам языка ассемблера и вызывает повторение указанных строк. Пример: mas label word rept4 dw 0f1ah endm Метка mas указывает на начало массива, директива rept 4 повторяет 4 раза строки dw 0f1ah, и тем самым создает массив с указанными начальными значениями. Доступ к ячейкам массивов Для доступа к элементам массива указывается адрес начала и смещение, для приведенных выше примеров: mas + (смещение*размер элемента). Подобным образом можно организовать работу и с двухмерными массивами. Кроме прямого способа адресации элементов памяти ест возможность косвенного обращения к ячейки через регистр. В этом случае указывается: имя массива[регистр]. Например: mas dw 0,1,2,3, … mov si, 2 mov ax, mas[si]
3 Описание структуры В отличие от массивов являющихся объединением однородных элементов, структура позволяет в одной переменной объединить поля различных типов. Описание шаблона структуры выглядит следующим образом: Имя структуры STRUCT Описание полей … имя структуры ENDS В разделе описания полей директивами db, dw, dd, dq и dt резервируется память для размещения полей структуры. Например, шаблон структуры для описания структуры, содержащей информацию о человеке (имя – 20 символов, адрес – 40 символов, возраст - число): Bookstruct Namedb 20 dup( ) Adresdb 40dup( ) Yeardb2dup(?) Book ENDS Для создания переменной типа структура необходимо указать: имя переменной имя структуры. Например: b1 Book b2 Book Поля структуры b1 определены при инициализации данных. Для доступа к полям структуры используется символ. (точка): адрес структуры. имя поля На самом деле оператор., вычисляет следующие значение: (адрес структуры) +(смещение поля структуры). Например: b1.Name.
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.