Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессоры Лекции.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
65.84 Кб
Скачать

Регистры: пользовательские и системные

С точки зрения программиста микропроцессор содержит 2 группы регистров: пользовательские и системные

Пользовательские регистры доступны для использования в программах и включают следующие группы регистров:

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

  • eax/ax/al

  • abx/bx/bh/bl

  • edx/dx/dh/dl

  • ecx/cx/ch/cl

  • ebp/bp

  • esi/si

  • edi/di

  • esp/sp

Регистры этой группы используются для хранения данных и адресов

  1. Сегментные регистры: Cs, ds, ss, es, fs, gs

Регистры этой группы используются для хранения адресов сегментов памяти

  1. Регистры сопроцессора: st(0)-st(7)

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

  1. Целочисленный регистры MMX-расширения: mmx0-mmx7

MMX – мультимедийное расширение. Коммерческое название дополнительного набора инструкций, выполняющих характерные для процессора кодирование/декодирование потоковых аудио-видео данных, действия за одну машинную инструкцию.

  1. Регистры MMX-расширения с плавающей точкой: xmm0-xmm7

  2. Регистры состояния и управления – регистры, содержащие информацию о состоянии микропроцессора, исполняемые программой и позволяющие изменить это состояние.

Делится на 2 группы:

  • Регистр флагов: eflags/flags

  • Регистр указатель команды eip/ip

Процессор Pentium MMX отличается от обычного Pentium по 6 основным пунктам:

  1. Добавлено 57 новых команд обработки данных

  2. В 2 раза увеличен объём внутреннего Кэш (для команд и для данных)

  3. Увеличен объём буферов адресов перехода (BTB)

  4. Оптимизирована работа конвейера

  5. Увеличено количество буферов записи

  6. Введено двойное электропитание процессора

Программа на языке ассемблера

Сегмент представляет собой непрерывный блок памяти. Как правило использование сегментов однозначно. Программа может содержать 3 сегмента: сегмент кода, сегмент данных и сегмент стека. Сегментация использовалась в старых микропроцессорах из-за ограничения их адресного пространства. Ассемблер является символическим аналогом машинного языка. По этой причин, программа написанная на ассемблере должна содержать все особенности архитектуры микропроцессора.

Программа на ассемблере представляет собой совокупность блоков памяти, которые называются сегментами. Программа может состоять из 1 или нескольких сегментов. Каждый сегмент содержит совокупность предложений языка. Каждое предложение занимает отдельную строку программы.

Предложение ассемблера бывает 4 типов:

  1. Команды (инструкции) – представляют собой символические аналоги машинных команд. В процессе трансляции инструкции ассемблера преобразуются в советующие команды микропроцессора

  2. Макрокоманды – это оформляемое определённым образом предложение текста программы, замещаемое во время трансляции другими предложениями.

  3. Директивы – это указания транслятору ассемблера на выполнение некоторых действий. У директив нет аналогов в машинном представлении.

  4. Строгий комментарий – комментарий содержит любые символы, в том числе и буквы русского алфавита. Комментарии игнорируются транслятором.

Допустимыми символами при написании текста программы являются

  • Все латинские символы (при этом заглавные и прописные буквы являются эквивалентными)

  • Цифры от 0 до 9

  • Знаки (?@$_&)

  • Разделители(,.[]()<>{}+/\*%!”?=#^)

Идентификатор может состоять из одного или нескольких символов. В качестве символов можно использовать буквы латинского алфавита, цифры и некоторые специальные знаки(_?$@). Идентификатор не может начинается с символа цифры. Длина идентификатора может быть до 255