Информатика. 2 семестр. Тема 03. Обработка данных
Информатика. 2 семестр. Тема 03. Обработка данных
Информатика. 2 семестр. Тема 03. Обработка данных
Информатика. 2 семестр. Тема 03. Обработка данных
Информатика. 2 семестр. Тема 03. Обработка данных
Представление данных в коде
Информатика. 2 семестр. Тема 03. Обработка данных
Специальные константы
Наименование макроса (может быть записано кириллицей)
Начало и конец кода макроса
Комментарий к тексту программы
Строковый литерал – последовательность символов в коде программы, интерпретируемых как данные
Объект
Свойство
Метод
Объявление типизированной константы
Использование константы
Числовой литерал
Область General модуля
Объявление типизированной глобальной переменной
Оператор присваивания
Объявление типизированной переменной и инициализация значением
Использование переменной
Неявное преобразование типов
Тело процедуры
Неявное объявление через установку (присвоение) значения
Объявление нетипизированной глобальной переменной
Оператор Dim (от dimention) – Объявляет и размещает в памяти одну или несколько переменных.
Специальный символ (из не разрешенных к использованию в именах переменных) выступает указателем типа переменной при объявлении и использовании.
Символы объявления типов:
Область General
Глобальная переменная модуля
Объявление переменной с тем же именем, что и глобальная, экранирует внешнюю переменную
Объявление статической переменной внутри процедуры – значение сохраняется между вызовами, но переменная недоступна вне этой процедуры
Тело процедуры
public – переменная доступна во всех модулях приложения
private – переменная доступна только в данном модуле (аналогично Dim в General)
static – переменная размещается в статической памяти
Применение модификаторов области видимости и способа размещения в памяти
Публичная переменная (видна везде)
Приватная переменная модуля
Статическое свойство модуля класса
Регистры-указатели
BP (Base Pointer)
SP (Stack Pointer)
Assembler (сборщик) – язык низкого уровня, основанный на мнемонической записи инструкций центрального процессора
MOV A,100 – поместить число 100 в регистр аккумулятора
PUSH C – поместить (втолкнуть) регистр C в стек
ОЗУ
Дно – минимальные доступные приложению адреса
static
code
heap
stack
system
Аппаратный стек – специально организованная область памяти для обработки вызовов и хранения временных данных
«Куча» («хип») – динамически распределяемая память для хранения данных
Статическая память – статически распределяемая память для хранения данных, структура которой определяется при компиляции
Область кода – область размещения программного кода, в том числе объединенных с ним на этапах сборки и компиляции неизменных данных (констант и ресурсов)
Область для организации системных вызовов
резерв стека
В стековых языках программирования стек используется для размещения данных, а адреса ячеек рассчитываются относительно вершины стека
Адрес вершины стека хранится в специальных регистрах процессора SS (селектор регистра стека) и ESP (указатель стека)
стек
Растёт вниз
Инструкция Push (Втолкнуть) используется для внесения в стек промежуточных данных и ссылок, автоматически уменьшает ESP
Инструкция Pop (Извлечь) используются для получения из стека промежуточных данных и ссылок, автоматически увеличивает ESP
Обратная польская нотация позволяет записать математическое выражение в виде последовательности данных (операндов) отдельных бинарных и унарных операций
3 × (4 + 5)
3 4 5 + ×
+
3
4
5
×
3
9
27
В стековых языках программирования стек используется для размещения данных, а адреса ячеек в коде рассчитываются относительно вершины стека
Interrupt (Прерывание) – встроенная последовательность операций процессора, выполняемая в ответ на заданное событие. При обработке прерывания в стек помещается текущий адрес выборки команды, затем по номеру прерывания вычисляется ячейка в таблице прерываний, содержащая адрес процедуры обработчика и выполняется переход по этому адресу
стек
Инструкция Call (Вызвать) помещает в стек адрес выборки команды, затем выполняет сохранение всех регистров, а потом выполняется переход по адресу, указанному в инструкции
Offset (Смещение) – возможность указать в инструкции по обмену данными адрес ячейки памяти с помощью задания смещения от адреса вершины стека. Например, ADD AX, [SP + offset ]
С учетом возможности прямого изменения значения указателя стека это даёт возможность выделять (резервировать) память под хранение данных
параметр B
параметр A
адрес возврата
лок. перемен. D
лок. перемен. C
копия регистров
резерв стека
MOV AX, [SP + 34] – поместить в аккумулятор (регистр AX) значение параметра А
Для i8086 для сохранения копии регистров нужно 26 байт, поэтому (в подпрограмме):
Задача: запишите на ассемблере D = A + B
ОЗУ
static data
code
heap
stack
system
Стековые переменные и адреса:
Простые типы, указатели, адреса переходов, фиксированные массивы
Динамические переменные:
Строки, сложные типы данных, объекты, динамические массивы, таблицы указателей
Статическая память:
Простые типы (глобальные переменные), таблицы указателей
Константные данные. Таблица указателей на адреса входов. Защищена от записи !!!
Таблица указателей на адреса входов системных функций. Защищена от записи!!!
dynamic data
Динамические переменные:
Строки, сложные типы данных, объекты, динамические массивы, таблицы указателей на ячейки с данными
Статическая память:
Глобальные переменные, таблицы указателей
Имена переменных и первичные указатели на объекты
Код программы содержит инструкции с жесткими или относительными ссылками на объекты
Простые данные (integer, boolean, datetime…) могут храниться в одной ячейке;
Составные данные (массивы) фиксированного размера могут храниться компактно;
Данные сложной структуры хранятся с использованием таблицы указателей;
Все динамические данные хранятся с использованием указателей.
A
101h
*
hello
102h
*
world
103h
B:const
*
*
Информатика. 2 семестр. Тема 03. Обработка данных
Общие правила работы с переменными и объектами
Информатика. 2 семестр. Тема 03. Обработка данных
Особенности (отличия) VBA
Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть