- •Определение и свойства позиционной системы счисления.
- •Алгоритмы перевода чисел из систем с основанием 2, 8 и 16 в десятичную систему.
- •Алгоритмы перевода чисел из десятичной системы в системы с основанием 2, 8 и 16.
- •Описание файла листинга и счетчик размещения.
- •Оперативная память, ее адресное пространство, операции чтения и записи.
- •Методы хранения и доступа к словам и двойным словам - littlendian и bigendian.
- •Знаковые и беззнаковые целые, их сравнение и команды арифметики для них.
- •Директивы определения данных в языке ассемблера.
- •Д ополнительный код и его свойства.
- •Регистр флагов, его назначение и использование.
- •Переполнение, общие положения. Беззнаковое переполнение. Переполнение, общие положения. Знаковое переполнение.
- •Команда cmp и семейство команд Jcc, их использование.
- •Адресный доступ к памяти, операнды источники и приемники, характеризация операндов.
- •Перемещение (исполнительный адрес) операнда в памяти, определение и преимущества базово-индексной адресации.
- •Общая формула режимов адресации, преимущества базово-индексной адресации.
- •25. Стековый доступ к памяти.
Директивы определения данных в языке ассемблера.
Директивы определения данных в языке ассемблера - это инструкции, которые позволяют определить и инициализировать переменные и массивы в памяти. Например, директива db (define byte) используется для определения однобайтовых переменных, а директива dw (define word) - для определения двухбайтовых переменных. Для массивов используются директивы db, dw, dd (define doubleword) и т.д. В директивах можно задавать начальное значение переменной или массива.
Д ополнительный код и его свойства.
Дополнительный код - это распространённый способ представления отрицательных чисел в ЭВМ. Он позволяет заменить операцию вычитания и сделать сложение/вычитание одинаковыми для знаковых и беззнаковых чисел.
Получается с помощью инвертирования двоичного модуля исходного числа и прибавлением к инверсии единицы, либо вычитанием числа из нуля.
Свойства:
Не у любого числа есть противоположное
Ноль единственен
Регистр флагов, его назначение и использование.
Регистр флагов (EFLAGS) – важный 32-разрядный регистр, использующийся при выполнении большинства команд. Старшие 16 разрядов – защищённые, а с младшими (FLAGS) можно взаимодействовать.
Каждый бит в регистре FLAGS является флагом – битами памяти, принимающие двоичные значения (или комбинации), характеризующие состояние какого-либо объекта.
Флаг установлен, если значение 1, при 0 он называется сброшенным.
Переполнение, общие положения. Беззнаковое переполнение. Переполнение, общие положения. Знаковое переполнение.
Переполнение - ситуация, когда результат арифметической операции превышает максимально допустимое значение, которое можно представить в заданном формате данных.
Беззнаковое переполнение происходит, когда результат операции превышает максимальное беззнаковое значение (например, 255 для unsigned byte).
Знаковое переполнение происходит, когда результат операции выходит за пределы диапазона значений знаковых чисел (например, от -128 до 127 для signed byte).
Обнаружение переполнения осуществляется с помощью флагов процессора.
Команда cmp и семейство команд Jcc, их использование.
CMP – команда сравнения двух операндов и устанавливающая флаги в соответствии с результатом. Используется вместе с командами условного перехода Jcc, которые переходят на заданный адрес, если выставлен указанный флаг.
Адресный доступ к памяти, операнды источники и приемники, характеризация операндов.
Прямой доступ к памяти (DMA) - режим обмена данными между устройствами компьютера или же между устройством и основной памятью, в котором ЦП не участвует, что увеличивает скорость передачи.
Если требуется заполнить ячейки памяти, расположенные по подряд идущим адресам, используется пакетный режим работы шины:
Размер данных записывается в регистр контроллера DMA;
Первый цикл используется для передачи адреса первой ячейки;
Последующие циклы используются для пересылки данных указанного размера.
Регистры контроллера DMA доступны ЦП для чтения и записи и используются для задания:
Номера порта, который должен быть использован для передачи данных;
Вида операции (чтение или запись);
Единицы переноса (побайтно или пословно);
Размера данных, которые следует перенести, в байтах.
Операнды инструкций могут быть источниками (данные, которые нужно прочитать из памяти) или приемниками (данные, которые нужно записать в память).
Типы адресаций:
Непосредственная (значение задается явно в инструкции)
Регистровая (значение хранится в регистре процессора)
Памятная (адрес значения задается явно в инструкции)
Операнды также могут иметь различные размеры, например, байтовый, словесный или двойное словесный. Характеристики операндов, такие как тип адресации и размер, зависят от архитектуры процессора и используемого языка ассемблера.