Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методические указания по Архитектуре ЭВМ и сист...doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
2 Мб
Скачать
☆

Порядок выполнения

  1. С помощью данных методических указаний освоить применение inline assembler в среде Microsoft Visual Studio.

  2. Написать программу согласно варианту задания.

  3. Оформить отчет.

Задания

1. Написать программу, сумму чисел введенных с клавиатуры.

Контрольные вопросы

  1. Перечислите основные этапы процесса создания программы в IDE Visual Studio.

  2. Опишите последовательность действий которые необходимо совершить что бы создать новый проект в IDE Visual Studio.

  3. Перечислите способы создания вставок на языке ассемблер.

  4. Для чего необходимо в тестовых примерах необходима строчка «using namespace std».

  5. Расскажите про конвейер, реализованный в микропроцессорах фирмы Intel — i486.

  6. Расскажите, для чего служит оператор cout.

  7. Приведите пример использования оператора cout.

  8. Расскажите, зачем необходимо подключать библиотеку iostream и подключать пространство имен std.

  9. Для чего в С++ используется директива #include.

  10. Расскажите о назначение и синтаксис операторов cout и cin.

  11. Расскажите, для чего служит оператор cin.

  12. Приведите пример использования оператора cin.

  13. Расскажите, какими способами можно организовать операции ввода/вывода в C++.

  14. Для чего в C++ служит директива __asm.

  15. Расскажите о пользовательских регистрах реализованных в микропроцессорах фирмы Intel — i486.

Лабораторная работа №2 Линейное программирование

Цель работы: освоить работу с арифметическими командами ассемблера.

Оборудование: персональный компьютер, Microsoft Visual Studio.

Краткая теория

Все машинные команды можно разделить на несколько функциональных групп (см. Рисунок 24):

Рисунок 24 – Классификация машинных команд

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

К этой группе относятся следующие команды:

mov <операнд назначения>, <операнд-источник>

xchg <операнд1>, <операнд2>

mov – это основная команда пересылки данных. Она реализует самые разнообразные варианты пересылки.

Отметим особенности применения этой команды:

  • Командой mov нельзя осуществить пересылку из одной области памяти в другую.

  • Нельзя загрузить в сегментный регистр значения непосредственно из памяти.

  • Нельзя переслать содержимое одного сегментного регистра в другой сегментный регистр.

  • Нельзя использовать сегментный регистр cs в качестве операнда назначения.

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

Естественно, что операнды должны иметь один тип. Не допускается (как и для всех команд ассемблера) обменивать между собой содержимое двух ячеек памяти.

xchg ax, bx ; обменять содержимое регистров ax и bx

xchg ax, word ptr [si] ; обменять содержимое регистра ax

; и слова в памяти по адресу в [si]