Переменные константы в Ассемблере
презентация к уроку

Ризванова Айгуль Фагидовна

Лекционный материал по теме Переменные константы по предмету МДК 01.04 Системное программирование

Скачать:

ВложениеРазмер
Файл peremennye_i_konstanty.pptx1.57 МБ

Предварительный просмотр:


Подписи к слайдам:

Слайд 1

Переменные и константы Для студентов группы ИС – 2 Предмет: МДК 01.04 Системное программирование

Слайд 2

Хранения инициализированных данных Синтаксис стейтмента * выделения памяти для инициализированных данных следующий: [ имя_переменной ] директива_определения начальное_значение [, начальное_значение ]... Где имя_переменной является идентификатором для каждого пространства хранения данных. Ассемблер связывает значение смещения с именем каждой переменной, определенной в сегменте данных. * Cтейтмент (англ. " statement ") – это наиболее распространённый тип инструкций в программах. Это всё, что заканчивается точкой с запятой (;) или является управляющей конструкцией (но не само ключевое слово).

Слайд 3

Есть 5 основных форм директивы определения: Директива Цель Пространство для хранения DB Определяет Byte Выделяет 1 байт DW Определяет Word Выделяет 2 байта DD Определяет Doubleword Выделяет 4 байта DQ Определяет Quadword Выделяет 8 байт DT Определяет 10 Byte Выделяет 10 байт

Слайд 4

Примеры использования директив определения:

Слайд 5

каждый байт символа хранится как его ASCII-значение в шестнадцатеричном формате; каждое десятичное значение автоматически конвертируется в 16-битный двоичный эквивалент и сохраняется в виде шестнадцатеричного числа; процессор использует прямой порядок байтов; отрицательные числа конвертируются в форму « two’s complement »; короткие и длинные числа типа с плавающей точкой представлены с использованием 32 или 64 бит, соответственно.

Слайд 6

Программа показывающая использование директивы определения:

Слайд 7

Что является результатом данной программы? Кто правильно ответил: у , тому 5.

Слайд 8

Хранение неинициализированных данных Директивы резервирования используются для резервирования пространства неинициализированных данных. Директивы резервирования принимают один операнд, который определяет количество единиц пространства, которое будет зарезервировано. Каждая директива определения имеет связанную директиву резервирования.

Слайд 9

Есть 5 основных форм директив резервирования: Директива Цель RESB Резервирует Byte RESW Резервирует Word RESD Резервирует Doubleword RESQ Резервирует Quadword REST Резервирует 10 Byte

Слайд 10

Можно иметь несколько стейтментов определения данных в программе. Например: 1 2 3 choice DB 'Y' ; ASCII- значение для y = 79H number1 DW 12345 ; 12345D = 3039H number2 DD 123456789 ; 123456789D = 75BCD15H Ассемблер выделяет смежную память для нескольких определений переменных.

Слайд 11

Несколько инициализаций Директива TIMES позволяет выполнить несколько инициализаций одного значения. Например, массив с именем marks длиной 9 может быть определен и инициализирован нулем следующим образом: 1 marks TIMES 9 DW 0 Директива TIMES полезна при определении массивов и таблиц.

Слайд 12

Что выводит следующая программа?

Слайд 13

Определение констант NASM предоставляет несколько директив, определяющих константы: директива EQU; директива % assign ; директива % define .

Слайд 14

Директива EQU Директива EQU используется для определения констант. Её синтаксис следующий: ИМЯ_КОНСТАНТЫ EQU-выражение Например: TOTAL_STUDENTS equ 50 Затем можно использовать эту константу в программе: mov ecx , TOTAL_STUDENTS cmp eax , TOTAL_STUDENTS

Слайд 15

Операндом стейтмента EQU может быть выражение: 1 2 3 LENGTH equ 20 WIDTH equ 10 AREA equ length * width Вышеприведенный фрагмент кода определит AREA как 200 .

Слайд 17

Директива % assign Директива % assign может быть использована для определения числовых констант. Эта директива допускает переопределение. Например, можно определить константу TOTAL следующим образом: 1 % assign TOTAL 10 Затем в коде она переопределяется: 1 % assign TOTAL 20 Эта директива является чувствительной к регистру .

Слайд 18

Директива % define Директива % define позволяет определять как числовые, так и строковые константы. Эта директива похожа на директиву #define в языке С. Например, можно определить константу PTR следующим образом: 1 % define PTR [EBP + 4 ] Вышеприведенный код заменяет PTR на [EBP+4]. Эта директива также допускает переопределение и является чувствительной к регистру.


По теме: методические разработки, презентации и конспекты

Расчетно-практическая работа Основные параметры и формы представления переменного тока

Цель расчетно-графической работы: Изучение графического изображения изменения переменного тока по заданному уравнению синусоидальной ЭДС.Определение начальной фазы и мгновенного значения  Э...

Алгоритмическая структура "Цикл" в языке Ассемблер

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

Проект «Лучшая игра на перемене» (или “Современные подходы к проведению школьных перемен”

Подвижные игры, проводимые во время переменок в школе, способствуют активному отдыху детей, снижают накопившееся на уроках утомление, повышают работоспособность к следующему уроку. Дети, активно играю...

Методическое пособие для самостоятельной подготовки студентов по профессиональным модулям "Константы здорового человека в разные периоды его жизни. Методы обследования"

Методическое пособие для самостоятельной подготовки студентов по  профессиональным модулям . Константы здорового человека в разные периоды его жизни. Методы обследования...

Лекция "Функции нескольких переменных. Предел и непрерывность функции двух независимых переменных"

Лекция "Функции нескольких переменных. Предел и непрерывность функции двух независимых переменных" для студентов 2 курса специальности "Компьютерные системы и комплексы"...

Детская литература. Произведения о детях и для детей в творчестве писателей конца XIX начала XX в. Стихи Константи́на Дми́триевича Бальмо́нта

К.Д. Бальмонт поэт-символист, о котором М.И.Цветаева сказала: «Творец-ребенок».  Приветствую всех, кто заглянул на эту WEB -  страничку!       На эт...