Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx56 / kursach.docx
Скачиваний:
21
Добавлен:
01.08.2013
Размер:
87.59 Кб
Скачать

4.2 Сегментные регистры

Сегментные регистры предназначены для хранения базовых адресов (в реальном режиме – R-MODE) или селектора (в защищенном режиме P-MODE) соответствующих сегментов памяти.

Все сегментые регистры 16 разрядные.

SS - содержит базовый адрес текущего сегмента стека.

CS - содержит базовый адрес текущего кодового сегмента.

DS - сегмент данных по умолчанию.

ES, FS, GS - дополнительные регистры, служат для дополнительной адресации сегмента данных

5 Используемые команды

5.1 Команды пересылки и загрузки

мov приёмник, источник – пересылка байта или слова из источника (непосредственное значение, РОН, сегмент или переменная) в приёмник (РОН, сегмент, кроме СS или переменная). Содержимое источника при этом не изменяется.

lea приёмник, источник - получение эффективного адреса (смещения) источника. В качестве источника используется имя переменной, а в качестве приёмника – РОН.

рush источник - занести содержимое источника в стек. Выполняет декремент указателя стека, затем заносит содержимое источника на вершину стека, куда указывает SP. В качестве источника могут выступать РОН, сегмент, непосредственное значение или переменная.

рор приёмник – извлечение данных из стека. Пересылает байт, слово или двойное слово из текущей вершины стека по адресу приемника (РОН, сегмент, кроме СS, переменная), увеличивая при этом р-р SP на размер приёмника в байтах.

5.2 Арифметические команды

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

- add приемник, источник

- sub приемник, источник

- mul источник

- div источник

- inc приемник

- dec приёмник

- neg приемник

Рассмотрим подробнее каждую из них.

5.2.1 Сложение

Схема команды: add приемник,источник

Назначение: сложение двух операндов источник и приемник размерностью в байт, слово или двойное слово.

Алгоритм работы:

- сложить операнды источник и приемник;

- записать результат сложения в приемник;

- установить флаги.

Применение:

Команда add используется для сложения двух целочисленных операндов. Результат сложения помещается по адресу первого операнда. Если результат сложения выходит за границы операнда приемник (возникает переполнение), то учесть эту ситуацию следует путем анализа флага cf и последующего возможного применения команды adc.

Команда сложения с переносом ADC - это та же команда ADD, за исключением того, что в сумму включается флаг переноса. Для любой

формы команды ADD существует сравнимая с ней команда ADC.

Обе команды сложения, как ADD, так и ADC, устанавливают равным 1 флаг переноса, если произошел перенос из старшего разряда результата. Команда ADD складывает два операнда, не обращая внимания на флаг переноса, а команда ADC учитывает и флаг переноса. Если флаг переноса равен 0, результат равен результату выполнения команды ADD. Если же флаг переноса равен 1, то результат на 1 больше результата команды ADD. Таким образом, программа может использовать флаг переноса для операций повышенной точности.

Соседние файлы в папке docx56