Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Регистры микропроцессора Intel.




В программах на языке ассемблера регистры используются очень интенсивно. Большинство из них имеет определенное функциональное назначение. Программная модель микропроцессора имеет несколько групп ре­гистров, доступных для использования в программах. С точки зрения программиста их можно разделить на две части:

Пользовательские регистры, к которым относятся:

· регистры общего назначения eax/ax/ah/al, ebx/bx/bh/bl, edx/dx/dh/dl, cx/ cx/ch/cl, ebp/bp, esi/si, edi/di, esp/sp. Регистры этой группы используются для хранения данных и адресов;

· сегментные регистры cs, ds, ss, es, fs, gs. Регистры этой группы использу­ются для хранения адресов сегментов в памяти;

· регистры сопроцессора st(0), st(1), st(2), st(3), st(4), st(5), st(6), st(7). Регистры этой группы предназначены для написания программ, исполь­зующих тип данных с плавающей точкой;

· целочисленные регистры MMX-расширения mmх0, mmxl, mmх2, … , mmx7;

· регистры ММХ-расширення с плавающей точкой xmm0, xmml, xmm2, … , xmm7;

· регистры состояния и управления — это регистры, которые содержат информацию о состоянии микропроцессора, исполняемой программы и позволяют изменить это состояние;

· регистр флагов eflags/flags;

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

Системные регистры — это регистры для поддержания различных режимом работы, сервисных функций, а также регистры, специфичные для опреде­ленной модели микропроцессора. Регистры с наклонной чертой — это части одного большого 32-разрядного регистра. Их можно использовать в программе как отдельные объекты. Это сделано для обеспечения работоспособности программ, написанных для млад­ших 16-разрядных моделей микропроцессоров фирмы Intel, начиная с i8086. Микропроцессоры i486 и Pentium имеют, в основном, 32-разрядные регистры. Их количество, за исключением сегментных регистров, такое же, как и у i8086, но размерность больше, что и отражено в их обозначениях - они имеют приставку е (Extended).

Многие из приведенных регистров предназначены для работы с определенными вычислительными подсистемами микропроцессора: сопроцессором, MMX-расширениями. Поэтому их целесообразно рассматривать в соответствующем кон­тексте.

 

  1. Система команд микропроцессоров семейства Intel.

Команды пересылки: mov <операнд назначения>, <операнд-источник> xchg <операнд1>. <операнд2> mov — это основная команда пересылки данных. Она реализует самые разнообраз­ные варианты пересылки. Отметим особенности применения этой команды: - нельзя осуществить пересылку из одной области памяти в дру­гую. - нельзя загрузить в сегментный регистр значение непосредственно из памяти. - нельзя переслать содержимое одного сегментного регистра в другой сегмент­ный регистр. - нельзя использовать сегментный регистр cs в качестве операнда назначения. Массив в программе нужно моделировать одним из следующих способов: - перечислением элементов массива в поле операндов одной из директив опи­сания данных. При перечислении элементы разделяются запятыми. Например: ;массив из 5 элементов. Размер каждого элемента 4 байта: mas dd 1,2,3.4.5



- используя оператор повторения dup. К примеру:

;массив из 5 нулевых элементов. Размер каждого элемента 2 байта: mas dw 5 dup (0)

Такой способ определения используется для резервирования памяти с целью размещения и инициализации элементов массива; - используя директивы label и rept. Пара этих директив может облегчить опи­сание больших массивов в памяти и повысить наглядность такого описания. Директива rept относится к макросредствам языка ассемблера и вызывает повторение указанное число раз строк, заключенных между директивой и стро­кой endm.

- использованием цикла для инициализации значениями области памяти, кото­рую можно будет впоследствии трактовать как массив. Доступ к элементам массива

В общем случае для получения адреса элемента в массиве не­обходимо начальный (базовый) адрес массива сложить с произведением индекса (номер элемента минус единица) этого элемента на размер элемента массива: база + (индекс*размер элемента)

Арифметические операции с целыми двоичными числами без знакаСложение двоичных чисел без знака: - inc операнд — операция инкремента, то есть увеличения значения операнда на 1;

- add оп_1,оп_2 — команда сложения с принципом действия: оп_1 = оп_1 + оп_2;

- adc оп_1,оп_2 — команда сложения с учетом флага переноса cf.

Вычитание двоичных чисел без знака:

- dec оп1 — операция декремента, то есть уменьшения значения операнда на 1;

- sub оп_1,оп_2 — команда вычитания; ее принцип действия: оп_1 = оп_1 - оп_2;

- sbb оп_1,оп_2 — команда вычитания с учетом заема (флага cf): оп_1 = оп_1 - оп_2 - значение_cf.

Умн-е двоичных чисел без знака: mul оп1

Деление двоичных чисел без знака: div оп1


mylektsii.ru - Мои Лекции - 2015-2019 год. (0.005 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал