Суббота, 18.05.2024, 20:19
Добро пожаловать! ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории раздела
Cтатьи [23]
}I{ack [13]
Мои статьи [1]
MASM [14]
Наш опрос
Оцените мой сайт
Всего ответов: 110
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
 Каталог статей 
Главная » Статьи » MASM

Регистры процессора

Регистры процессора


Итак поговорим о регистрах процессора что они из себя представляют и для чего они нужны. Есть регистры процессора общего назначения.

EAX EBX ECX EDX

AX   BX   CX   DX
  AH AL     BH BL     CH CL     DH

DL

 

EAX (Accumulator register - аккумулятор). Применяется для хранения промежуточных данных также  иногда обязателен в использование некоторых API функциях и прерываниях.

EBX (Base register - база).  Применяется для хранения базового адреса некоторого объекта в памяти.

ECX (Count register - счетчик). Применяется в командах,для множественно выполнения одних и техжи команд. ( циклы )

EDX (DATA register - регистр данных). Тоже самое что и eax регистр.

 

Размер региста  eax = 4 байтам или 32 битам. ax = 2 байтом или 16 битам. al , ah = 1 байту или 8 битам.

 

                                                   Регистры указателей процессора.

  ESI - Указатель на следующую команду которую выполнит процессор.

  CS - сегмент кода о сегментах мы поговорим позже когда я вам буду рассказывать о адресации   памяти в реальном режиме и в WIN32.

Оба регистра работают в паре ! и сегменты попрежнему 16 битные регистры процессора.

 ESI - Индекс источника.

 EDI -Индекс приемника.

 EBP - Указатель базы.

 ESP - Указатель стека.

указатели используются как это не странно для того чтобы указывать на ячейку в сегменте вот пример MOV ds:[esi] , edx ; команда пересылает значение из регистра edx  по адресу esi относительно ds о команде mov мы поговорим подробней позже.

 

                                                     Сегментные регистры процессора.

 cs - сегмент кода.

 ds - сегмент данных.

 es - сегмент дополнительных данных.

 fs - сегмент дополнительных данных.

 gs - сегмент дополнительных данных.

 SS - сегмент стека.

 

                                                                Флаги процессора.

Также есть флаги размер 4 байта или 32 бита.

Для чего они нужны вообще я планирую этому посветить отдельную тему  так как она достаточна сложна но в кратце я расскажу вам некоторые команды смотрят на флаги и в зависимости установлен тот или иной флаг прыгает или игнорирует прыжок например команда jz также некоторые команды после их выполнения изменяют флаги например команда cmp . Таким образом в ассемблере достигается многолинейнасть программ - это когда в зависимости от данных выполняется то или иное действие ! на этом пока что все.

Категория: MASM | Добавил: TERMINATOR (11.06.2011)
Просмотров: 1980 | Рейтинг: 5.0/1
Всего комментариев: 0
Имя *:
Email *:
Код *:
Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024Конструктор сайтов - uCoz