40. Регистры общего назначения
40. Регистры общего назначения
Все регистры этой группы позволяют обращаться к своим «младшим» частям. Использовать для самостоятельной адресации можно только младшие 16– и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты недоступны.
Перечислим регистры, относящиеся к группе регистров общего назначения. Так как эти регистры физически находятся в микропроцессоре внутри арифметико-логического устройства (АЛУ), то их еще называют регистрами АЛУ:
1) eax/ax/ah/al (Accumulator register) – аккумулятор. Применяется для хранения промежуточных данных. В некоторых командах использование этого регистра обязательно;
2) ebx/bx/bh/bl (Base register) – базовый регистр. Применяется для хранения базового адреса некоторого объекта в памяти;
3) ecx/cx/ch/cl (Count register) – регистр-счетчик. Применяется в командах, производящих некоторые повторяющиеся действия. Его использование зачастую неявно и скрыто в алгоритме работы соответствующей команды.
К примеру, команда организации цикла loop, кроме передачи управления команде, находящейся по некоторому адресу, анализирует и уменьшает на единицу значение регистра ecx/cx;
4) edx/dx/dh/dl (Data register) – регистр данных.
Так же, как и регистр eax/ax/ah/al, он хранит промежуточные данные. В некоторых командах его использование обязательно; для некоторых команд это происходит неявно.
Следующие два регистра используются для поддержки так называемых цепочечных операций, т. е. операций, производящих последовательную обработку цепочек элементов, каждый из которых может иметь длину 32, 16 или 8 бит:
1) esi/si (Source Index register) – индекс источника. Этот регистр в цепочечных операциях содержит текущий адрес элемента в цепочке-источнике;
2) edi/di (Destination Index register) – индекс приемника (получателя). Этот регистр в цепочечных операциях содержит текущий адрес в цепочке-приемнике.
В архитектуре микропроцессора на программно-аппаратном уровне поддерживается такая структура данных, как стек. Для работы со стеком в системе команд микропроцессора есть специальные команды, а в программной модели микропроцессора для этого существуют специальные регистры:
1) esp/sp (Stack Pointer register) – регистр указателя стека. Содержит указатель вершины стека в текущем сегменте стека.
2) ebp/bp (Base Pointer register) – регистр указателя базы кадра стека. Предназначен для организации произвольного доступа к данным внутри стека.
Использование жесткого закрепления регистров для некоторых команд позволяет более компактно кодировать их машинное представление. Знание этих особенностей позволит при необходимости хотя бы на несколько байт сэкономить память, занимаемую кодом программы.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Опции общего назначения
Опции общего назначения Конфигурация, устанавливаемая по умолчанию, во многих случаях обеспечивает работоспособность сервера. После инсталляции сервера и его запуска Apache готов предоставить пользователям файлы из каталога по умолчанию (обычно это каталог /home/httpd/html). В
Прописывание в каталогах общего назначения
Прописывание в каталогах общего назначения Каталоги ссылок – это сайты, которые представляют собой базы ссылок на разнообразные интернет-ресурсы с их описаниями (см. раздел «Каталоги сайтов и рубрикаторы»).Каталоги делятся на отраслевые и общего назначения. В первом
Функции общего назначения
Функции общего назначения Эта большая группа функций делится на следующие группы:• Функции пользовательского интерфейса и журналирования.• Функции управления дескрипторами.• Функции конфигурирования и инсталляции.• Компоненто-ориентированные функции.• Функции
3. Пользовательские регистры
3. Пользовательские регистры Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся (рис. 2):1) восемь 32-битных регистров, которые могут использоваться
5. Сегментные регистры
5. Сегментные регистры В программной модели микропроцессора имеется шесть сегментных регистров: cs, ss, ds, es, gs, fs.Их существование обусловлено спецификой организации и использования оперативной памяти микропроцессорами Intel. Она заключается в том, что микропроцессор
ЛЕКЦИЯ № 15. Регистры
ЛЕКЦИЯ № 15. Регистры 1. Системные регистры микропроцессора Само название этих регистров говорит о том, что они выполняют специфические функции в системе. Использование системных регистров жестко регламентировано. Именно они обеспечивают работу защищенного режима. Их
1. Системные регистры микропроцессора
1. Системные регистры микропроцессора Само название этих регистров говорит о том, что они выполняют специфические функции в системе. Использование системных регистров жестко регламентировано. Именно они обеспечивают работу защищенного режима. Их также можно
2. Регистры управления
2. Регистры управления В группу регистров управления входят четыре регистра: cr0, cr1, cr2, cr3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0.Хотя микропроцессор имеет четыре регистра
4. Регистры отладки
4. Регистры отладки Это очень интересная группа регистров, предназначенных для аппаратной отладки. Средства аппаратной отладки впервые появились в микропроцессоре i486. Аппаратно микропроцессор содержит восемь регистров отладки, но реально из них используются только
9.3.4. Модифицируемые регистры
9.3.4. Модифицируемые регистры Если в качестве побочного эффекта инструкция модифицирует значение одного или нескольких регистров, в функции asm() должна присутствовать четвертая секция. Например, инструкция fucomip меняет регистр кода завершения, обозначаемый как cc. Строки,
2.3.11 Регистры
2.3.11 Регистры Во многих машинных архитектурах можно обращаться к (небольшим) объектам заметно быстрее, когда они помещены в регистр. В идеальном случае компилятор будет сам определять оптимальную стратегию использования всех регистров, доступных на машине, для которой
39. Пользовательские регистры
39. Пользовательские регистры Как следует из названия, пользовательскими регистры называются потому, что программист может использовать их при написании своих программ. К этим регистрам относятся:1) восемь 32-битных регистров, которые могут использоваться
40. Регистры общего назначения
40. Регистры общего назначения Все регистры этой группы позволяют обращаться к своим «младшим» частям. Использовать для самостоятельной адресации можно только младшие 16– и 8-битные части этих регистров. Старшие 16 бит этих регистров как самостоятельные объекты
41. Сегментные регистры
41. Сегментные регистры В программной модели микропроцессора имеется шесть сегментных регистров: cs, ss, ds, es, gs, fs.Их существование обусловлено спецификой организации и использования оперативной памяти микропроцессорами Intel. Она заключается в том, что микропроцессор
44. Регистры управления
44. Регистры управления В группу регистров управления входят четыре регистра: cr0, cr1, cr2, cr3. Эти регистры предназначены для общего управления системой. Регистры управления доступны только программам с уровнем привилегий 0.Хотя микропроцессор имеет четыре регистра
46. Регистры отладки
46. Регистры отладки Это очень интересная группа регистров, предназначенных для аппаратной отладки. Средства аппаратной отладки впервые появились в микропроцессоре i486. Аппаратно микропроцессор содержит восемь регистров отладки, но реально из них используются только