Переменные константы в Ассемблере
презентация к уроку
Лекционный материал по теме Переменные константы по предмету МДК 01.04 Системное программирование
Скачать:
Вложение | Размер |
---|---|
peremennye_i_konstanty.pptx | 1.57 МБ |
Предварительный просмотр:
Подписи к слайдам:
Хранения инициализированных данных Синтаксис стейтмента * выделения памяти для инициализированных данных следующий: [ имя_переменной ] директива_определения начальное_значение [, начальное_значение ]... Где имя_переменной является идентификатором для каждого пространства хранения данных. Ассемблер связывает значение смещения с именем каждой переменной, определенной в сегменте данных. * Cтейтмент (англ. " statement ") – это наиболее распространённый тип инструкций в программах. Это всё, что заканчивается точкой с запятой (;) или является управляющей конструкцией (но не само ключевое слово).
Есть 5 основных форм директивы определения: Директива Цель Пространство для хранения DB Определяет Byte Выделяет 1 байт DW Определяет Word Выделяет 2 байта DD Определяет Doubleword Выделяет 4 байта DQ Определяет Quadword Выделяет 8 байт DT Определяет 10 Byte Выделяет 10 байт
Примеры использования директив определения:
каждый байт символа хранится как его ASCII-значение в шестнадцатеричном формате; каждое десятичное значение автоматически конвертируется в 16-битный двоичный эквивалент и сохраняется в виде шестнадцатеричного числа; процессор использует прямой порядок байтов; отрицательные числа конвертируются в форму « two’s complement »; короткие и длинные числа типа с плавающей точкой представлены с использованием 32 или 64 бит, соответственно.
Программа показывающая использование директивы определения:
Что является результатом данной программы? Кто правильно ответил: у , тому 5.
Хранение неинициализированных данных Директивы резервирования используются для резервирования пространства неинициализированных данных. Директивы резервирования принимают один операнд, который определяет количество единиц пространства, которое будет зарезервировано. Каждая директива определения имеет связанную директиву резервирования.
Есть 5 основных форм директив резервирования: Директива Цель RESB Резервирует Byte RESW Резервирует Word RESD Резервирует Doubleword RESQ Резервирует Quadword REST Резервирует 10 Byte
Можно иметь несколько стейтментов определения данных в программе. Например: 1 2 3 choice DB 'Y' ; ASCII- значение для y = 79H number1 DW 12345 ; 12345D = 3039H number2 DD 123456789 ; 123456789D = 75BCD15H Ассемблер выделяет смежную память для нескольких определений переменных.
Несколько инициализаций Директива TIMES позволяет выполнить несколько инициализаций одного значения. Например, массив с именем marks длиной 9 может быть определен и инициализирован нулем следующим образом: 1 marks TIMES 9 DW 0 Директива TIMES полезна при определении массивов и таблиц.
Что выводит следующая программа?
Определение констант NASM предоставляет несколько директив, определяющих константы: директива EQU; директива % assign ; директива % define .
Директива EQU Директива EQU используется для определения констант. Её синтаксис следующий: ИМЯ_КОНСТАНТЫ EQU-выражение Например: TOTAL_STUDENTS equ 50 Затем можно использовать эту константу в программе: mov ecx , TOTAL_STUDENTS cmp eax , TOTAL_STUDENTS
Операндом стейтмента EQU может быть выражение: 1 2 3 LENGTH equ 20 WIDTH equ 10 AREA equ length * width Вышеприведенный фрагмент кода определит AREA как 200 .
Директива % assign Директива % assign может быть использована для определения числовых констант. Эта директива допускает переопределение. Например, можно определить константу TOTAL следующим образом: 1 % assign TOTAL 10 Затем в коде она переопределяется: 1 % assign TOTAL 20 Эта директива является чувствительной к регистру .
Директива % define Директива % define позволяет определять как числовые, так и строковые константы. Эта директива похожа на директиву #define в языке С. Например, можно определить константу PTR следующим образом: 1 % define PTR [EBP + 4 ] Вышеприведенный код заменяет PTR на [EBP+4]. Эта директива также допускает переопределение и является чувствительной к регистру.
По теме: методические разработки, презентации и конспекты
Расчетно-практическая работа Основные параметры и формы представления переменного тока
Цель расчетно-графической работы: Изучение графического изображения изменения переменного тока по заданному уравнению синусоидальной ЭДС.Определение начальной фазы и мгновенного значения Э...
Алгоритмическая структура "Цикл" в языке Ассемблер
К изучению языка Ассемблер учащиеся подходят, как правило, имея начальные знания в области программирования. Поэтому им проще будет понять, как реализуются основные алгоритмические структуры в А...
Проект «Лучшая игра на перемене» (или “Современные подходы к проведению школьных перемен”
Подвижные игры, проводимые во время переменок в школе, способствуют активному отдыху детей, снижают накопившееся на уроках утомление, повышают работоспособность к следующему уроку. Дети, активно играю...
Методическое пособие для самостоятельной подготовки студентов по профессиональным модулям "Константы здорового человека в разные периоды его жизни. Методы обследования"
Методическое пособие для самостоятельной подготовки студентов по профессиональным модулям . Константы здорового человека в разные периоды его жизни. Методы обследования...
Лекция "Функции нескольких переменных. Предел и непрерывность функции двух независимых переменных"
Лекция "Функции нескольких переменных. Предел и непрерывность функции двух независимых переменных" для студентов 2 курса специальности "Компьютерные системы и комплексы"...
Физические переменные новые и сверхновые звезды (цефеиды, другие физические переменные звезды, новые и сверхновые
Конспект урока + презентация для студентов СПО...
Детская литература. Произведения о детях и для детей в творчестве писателей конца XIX начала XX в. Стихи Константи́на Дми́триевича Бальмо́нта
К.Д. Бальмонт поэт-символист, о котором М.И.Цветаева сказала: «Творец-ребенок». Приветствую всех, кто заглянул на эту WEB - страничку! На эт...