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



Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать неотразимый комплимент Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

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







Регистры-указатели





Лабораторная работа №2

ИЗУЧЕНИЕ АРИФМЕТИЧЕСКИХ КОМАНД.

1.1 Цель лабораторной работы:

Изучение ситуаций переноса(заема) и/или переполнения в командах сложения, вычитания, умножения, деления. Изучение особенностей знаковой и беззнаковой интерпретации данных. Изучение синтаксиса команд умножения и деления.

Задание

1. Написать программу, демонстрирующую ситуации переноса(заема), переполнения на ариф. командах (см. таблицу вариантов); подобрать операнды и выполнить знаковое и беззнаковое умножение и деление с целью демонстрации различий между знаковыми и беззнаковыми командами.

2. Получите файл листинга программы .LST.

3. Выпишите машинные коды команд : ADD, ADC, SUB, SBB, MUL, IMUL., DIV, IDIV.

Содержание отчета

- титульный лист;

- задание;

- текст программы в виде распечатанного .LST файла с комментариями;

- результаты работы программы (.CRF файл, состояния регистров, дампы (dump) памяти;

- машинные коды требуемых команд.


Основные понятия

2.1 Программная модель МП – реальный режим (рис.1)

Рис.1

Универсальные регистры

Любой универсальный регистр может рассматриваться, как 32-разрядный (ЕАХ) или как 16-разрядный (АХ) или как пара 8-разрядных (AH и AL).

Регистр (Е)АХ – накопитель (аккумулятор). Он оптимизирован для выполнения ряда арифметических и логических операций (например, MUL, IMUL).

Регистр (Е)ВХ – база. Он предназначен для хранения смещения относительно сегментного регистра (по умолчанию в DS).

Регистр (Е)СХ - счетчик. В нем находится количество повторений тела цикла.

Регистр (Е)DX используется в операциях умножения и деления, а также является единственным регистром, в котором может быть представлен адрес порта в командах ввода/вывода.

Кроме закрепленных функций, универсальные регистры используются как операнды в прочих командах, не “чувствительных” к типу регистра.

Регистры-указатели

Регистр (Е)ВР - база. Аналогично (Е)ВХ, он предназначен для хранения смещения относительно сегментного регистра стека (регистр SS).

Регистры (Е)SI и (Е)DI - индексные. Они содержат смещения относительно начала выбранных сегментов данных и используются в командах над цепочками данных.

Регистр (Е)SР - указатель стека. В нем содержится смещение относительно сегмента стека. Значение (E)SP трактуется как беззнаковое.








Date: 2015-05-22; view: 396; Нарушение авторских прав



mydocx.ru - 2015-2021 year. (0.017 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию