Skip to content

01. Регистры общего назначения

Alexey Romanov edited this page Apr 7, 2020 · 5 revisions

Регистры общего назначения

Регистры — специальные ячейки памяти, находящиеся физически внутри процессора, доступ к которым осуществляется не по адресам, а по именам. Поэтому, работают очень быстро.

Существуют регистры, которые могут использоваться без ограничений, для любых целей — регистры общего назначения.

В 8086 регистры 16 битные.

При использовании регистров общего назначения, можно обратится к каждым 8 битам (байту) по-отдельности, используя вместо *X - *H или *L (например, для AX: AH и AL)

AX (аккумулятор)

Регистр часто используется для хранения результата действий, выполняемых над двумя операндами. Например, используется при MUL и DIV (умножение и деление)

Верхние 8 бит (1 байт) — AH

Нижниие 8 бит (1 байт) — AL

BX (база)

Используется для адресации по базе.

Верхние 8 бит (1 байт) — BH

Нижние 8 бит (1 байт) — BL

CX (счётчик)

Используется как счётчик в циклах и строковых операциях.

Верхние 8 бит (1 байт) — CH

Нижние 8 бит (1 байт) — CL

DX (регистр данных)

Если при выполнении действий над двумя операндами, реузльтат не помещается в AX, регистр DX получает старшую часть результата.

Верхние 8 бит (1 байт) — DH

Нижние 8 бит (1 байт) — DL

Этот регистр получает старшую часть данных,

SI (индекс источника) и DI (индекс приемника)

Ещё есть два этих регистра, они называются индексными, то есть используются для индексации в массивах / матрицах и т.д. (другие регистры (кроме BX и BP) не будут там работать (на 8086)).

Могут использоваться в большинстве команд, как регистры общего назначения.

В этих регистрах нельзя обратится к каждому из байтов по-отдельности

Экзамен:

  1. Архитектура фон Неймана. Принципы фон Неймана

  2. Структурная схема ЭВМ. Виды памяти. Системная шина.

  3. Процессор 8086. Разрядность. Регистры.

  4. Процессор 8086. Регистр флагов.

  5. Процессор 8086. Шина адреса. Сегментная модель памяти.

  6. Выполнение программы. Машинный код. Исполняемые файлы. Язык ассемблера.

  7. Классификация команд процессора x86.

  8. Команда пересылки данных.

  9. Команды целочисленной арифметики.

  10. Команды побитовой арифметики.

  11. Команды передачи управления.

  12. Структура программы на языке ассемблера. Модули. Сегменты.

  13. Директивы выделения памяти. Метки.

  14. Директива SEGMENT.

  15. Директива ASSUME.

  16. Директива END. Точка входа.

  17. Виды переходов. Условные, безусловные переходы. Короткий, ближний, дальний переход.

  18. Способы адресации.

  19. Команда сравнения.

  20. Команды условных переходов.

  21. Команда XLAT/XLATB.

  22. Команда LEA.

  23. Команды десятичной арифметики.

  24. Команды сдвига.

  25. Команда организации цикла.

  26. Строковые операции. Префиксы повторения.

  27. Стек. Регистры, связанные со стеком. Команды записи/извлечения из стека.

  28. Стек. Использование при вызове подпрограмм. Команды вызоваподпрограммы и возврата.

  29. Прерывания. Назначение, виды прерываний. Таблица векторов прерываний.

  30. Срабатывание прерывания. Обработчик прерывания в реальном режиме. Возврат из обработчика прерывания.

  31. Процессор 80386. Разрядность, регистры.

  32. Защищённый режим работы процессора. Многозадачность.

  33. Модели памяти в защищённом режиме. Регистры управления памятью. Страничное преобразование.

  34. Процессоры x86-64. Регистры. Режимы работы.

  35. Математический сопроцессор. Типы данных. Представление вещественных чисел.

  36. Математический сопроцессор. Регистры.

  37. Математический сопроцессор. Особые числа.

  38. Математический сопроцессор. Классификация команд.

  39. Расширение MMX. Назначение. Типы данных.

  40. Расширение MMX. Регистры. Классификация команд.

  41. Расширение SSE. Назначение. Типы данных. Регистры.

  42. Макроопределения. Назначение.

  43. Макроопределения. Директивы присваивания и отождествления.

  44. Макроопределения. Макрооперации.

  45. Макроопределения. Блоки повторения.

  46. Макроопределения. Директивы условного ассемблирования.

Clone this wiki locally