- •Определение и свойства позиционной системы счисления.
- •Алгоритмы перевода чисел из систем с основанием 2, 8 и 16 в десятичную систему.
- •Алгоритмы перевода чисел из десятичной системы в системы с основанием 2, 8 и 16.
- •Описание файла листинга и счетчик размещения.
- •Оперативная память, ее адресное пространство, операции чтения и записи.
- •Методы хранения и доступа к словам и двойным словам - littlendian и bigendian.
- •Знаковые и беззнаковые целые, их сравнение и команды арифметики для них.
- •Директивы определения данных в языке ассемблера.
- •Д ополнительный код и его свойства.
- •Регистр флагов, его назначение и использование.
- •Переполнение, общие положения. Беззнаковое переполнение. Переполнение, общие положения. Знаковое переполнение.
- •Команда cmp и семейство команд Jcc, их использование.
- •Адресный доступ к памяти, операнды источники и приемники, характеризация операндов.
- •Перемещение (исполнительный адрес) операнда в памяти, определение и преимущества базово-индексной адресации.
- •Общая формула режимов адресации, преимущества базово-индексной адресации.
- •25. Стековый доступ к памяти.
Определение и свойства позиционной системы счисления.
Алгоритмы перевода чисел из систем с основанием 2, 8 и 16 в десятичную систему.
Алгоритмы перевода чисел из десятичной системы в системы с основанием 2, 8 и 16.
Алгоритмы переводов 2 -> 8, 2 -> 16, 8 -> 16 (цифры - основания систем счисления).
Алгоритмы переводов 8 -> 2, 16 -> 2, 16 -> 8 (цифры - основания систем счисления).
Описание файла листинга и счетчик размещения.
Оперативная память, ее адресное пространство, операции чтения и записи.
Методы хранения и доступа к словам и двойным словам - littlendian и bigendian.
Регистры eax, ebx, ecx, edx и их специальные свойства.
Регистры esp, ebp, eip и их специальные свойства.
Системные вызовы. Назначение, описание, пример.
Архитектурные типы данных. Диапазоны значений целых данных.
Знаковые и беззнаковые целые, их сравнение и команды арифметики для них.
Директивы определения данных в языке ассемблера.
Дополнительный код и его свойства.
Регистр флагов, его назначение и использование.
Переполнение, общие положения. Беззнаковое переполнение.
Переполнение, общие положения. Знаковое переполнение.
Команда CMP и семейство команд Jcc, их использование.
Адресный доступ к памяти, операнды источники и приемники, характеризация операндов.
Перемещение (исполнительный адрес) операнда в памяти, определение и преимущества базово-индексной адресации.
Общая формула режимов адресации, преимущества базово-индексной адресации.
Базовая адресация.
Индексная адресация.
Стековый доступ к памяти.
Назначение, реализация архитектурного стека, задачи, в которых он используется.
Модули и функции, общая схема работы функции.
Основные элементы конструкции функции.
Виды параметров и способы передачи их функции.
Соглашения о связи функций принятые в языке C.
Организация передачи управления функции и возврата в вызывающую программу.
Адресация параметров функции в стеке.
Кадр стека при вызове функции
Адресация локальных переменных функции в стеке.
Организация вызова функции на языке ассемблера из программы на языке C.
Система команд, типы и локализация операндов.
Особенности записи команд в синтаксисе AT&T.
Команды MUL и IDIV.
Команды IMUL и DIV.
Почему необходима раздельная трансляция?
Раздельная трансляция, определение внешних имен, функции редактора связей.
Определение и свойства позиционной системы счисления.
Позиционная система счисления — система счисления (СС), в которой значение цифры в записи числа зависит от её позиции в числе.
Основание системы счисления – целое число b > 1, которая представляет число в виде линейной комбинации: где – цифры, и
Разряд (позиция) – базисный элемент , старшинства
Обозначение СС в программировании:
Assembler - буквой b, d, h и т.д. в конце числа (синтаксис Intel);
Pascal - знаком «$» в начале числа;
C - комбинацией 0x или 0X (от hexadecimal) в начале.
Свойства:
Основание системы счисления в ней самой всегда записывается как 10; например, в двоичной системе счисления 10 означает число 2.
Для записи числа x в b-ичной системе счисления требуется цифр
Сравнение чисел можно оптимизировать благодаря последовательной проверке разрядов
Позиционная система счисления позволяет без труда выполнять сложение, вычитание, умножение, деление и деление с остатком чисел, зная только таблицу сложения однозначных чисел, а для трёх последних операций ещё и таблицу умножения в соответствующей системе
Алгоритмы перевода чисел из систем с основанием 2, 8 и 16 в десятичную систему.
Представить число в виде линейной комбинации: где – цифры, а – основание СС
Алгоритмы перевода чисел из десятичной системы в системы с основанием 2, 8 и 16.
Универсальный: Последовательно делим нацело исходное число на число b, фиксируя получаемые остатки от деления. Когда частное будет равно 0, прекращаем и полученные остатки записываем начиная с последнего деления.
Для СС, степеней 2: Представляем исходное число в виде линейной комбинации: где – цифры, а – основание СС
Алгоритмы переводов 2 -> 8, 2 -> 16, 8 -> 16 (цифры - основания систем счисления).
Разбить полученное число на разрядов (где – степень 2), начиная с конца. Затем заменить разряд согласно таблице цифр и записать итоговое число.
Алгоритмы переводов 8 -> 2, 16 -> 2, 16 -> 8 (цифры - основания систем счисления).
Заменить цифры согласно таблице цифр и записать итоговое число.
Описание файла листинга и счетчик размещения.
Листинг — это один из выходных файлов, создаваемых транслятором. Он имеет текстовый вид и нужен при отладке программы, т. к. кроме строк самой программы содержит дополнительную информацию.
Структура:
Номер строки файла листинга
Адрес (Счётчик размещения) - смещение машинного кода от начала текущего сегмента. Операнд – $.
Машинный код – набор инструкций, последовательности 16ричного значения байт и слов, которые ассемблируются из соответствующей исходной строки программы.
Поле «Исходного текста программы» вместе с комментариями
Оперативная память, ее адресное пространство, операции чтения и записи.
Оперативная (адресная) память – область памяти компьютера, используемая для хранения данных во время выполнения программы.
Адресное пространство – множество адресов, которые могут использоваться в командах процессора. Определяется разрядностью ЭВМ по заданию адреса. Например, для 32-битных систем это 4 Гб.
Обращение к физической памяти производится диспетчером памяти, согласующего модель математической памяти с динамикой распределения программ и данных в физической памяти. Реализуется программно или схемно-программно (виртуально).
Для выполнения операции чтения из оперативной памяти используется команда Load, а для записи - команда Store. Также существует PUSH и POP.