Студопедия Главная Случайная страница Обратная связь

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

Практическая работа №1. Разработка линейных программ с использованием арифметических выражений





Разработка линейных программ с
использованием арифметических выражений

Цель:

Научиться разрабатывать линейные программы с использованием арифметических выражений.

Программное обеспечение: TASM, FAR

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

Правила по технике безопасности: общие (приложение).

Литература:

Магда Ю. Ассемблер для процессоров Intel Pentium.

Голубь Н. Г. Искусство программирования на Ассемблере. Лекции и упражнения.

Время выполнения: 2 часа.

ВОПРОСЫ ВХОДНОГО КОНТРОЛЯ:

1. Перечислите арифметические операции.

2. Перечислите регистры процессора.

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

Сложение двоичных чисел

В системе команд микропроцессора имеются три команды двоичного сложения:

1. Операция инкремента:

inc операнд

Означает увеличение значения операнда на 1.

2. Команда сложения:

add операнд_1, операнд_2

Принцип ее действия:

операнд_1 = операнд_1 + операнд_2

3. Команда сложения с учетом флага переноса cf:

adc операнд_1, операнд_2

Принцип действия команды:

операнд_1 = операнд_1 + операнд_2 + значение_ cf

Последняя команда сложения учитывает перенос единицы из старшего разряда. Когда в старшем разряде появляется единица, она переносится в бит cf флагового регистра.

Вычитание двоичных чисел

К командам вычитания относятся следующие:

1. Операция декремента:

dec операнд

Уменьшение значения операнда на 1.

2. Команда вычитания:

sub операнд_1, операнд_2

Принцип действия:

операнд_1 = операнд_1 – операнд_2

3. Команда вычитания с учетом заема (флага cf):

sbb операнд_1, операнд_2

Принцип действия:

операнд_1 = операнд_1 – операнд_2 – значение_ cf

Умножение чисел без знака и со знаком

Для умножения чисел без знака предназначена команда

mul сомножитель_1

В команде указан только один операнд-сомножитель. Второй операнд – сомножитель_2 задан неявно. Его местоположение фиксировано (например, для байта – в регистре al) и зависит от размера сомножителей. Так как в общем случае результат умножения больше, чем любой из его сомножителей, то его размер и местоположение должны быть тоже определены однозначно.

Для указания превышения результатом умножения размера регистра используются флаги переноса cf и переполнения of.

Для умножения чисел со знаком предназначена команда

imul операнд_1[, операнд_2, операнд_3]

Эта команда выполняется так же, как и команда mul. Отличительной особенностью команды imul является только формирование знака.

Если результат мал и умещается в одном регистре (то есть, если cf = of = 0), то содержимое другого регистра (старшей части) является расширением знака – все его биты равны старшему биту (знаковому разряду) младшей части результата.

В противном случае (если cf = of = 1) знаком результата является знаковый бит старшей части результата, а знаковый бит младшей части является значащим битом двоичного кода результата.

Деление чисел без знака и со знаком

Для деления чисел без знака предназначена команда

div делитель

Делитель может находиться в памяти или в регистре и иметь размер 8, 16 или 32 бит. Местонахождение делимого фиксировано и так же, как в команде умножения, зависит от размера операндов (например, для слова – в регистре ax). Расположение частного и остатка также фиксировано. Результатом команды деления являются значения частного и остатка.

Для деления чисел со знаком предназначена команда

idiv делитель

Для этой команды справедливы все рассмотренные положения, касающиеся команд и чисел со знаком.







Дата добавления: 2014-11-10; просмотров: 1036. Нарушение авторских прав; Мы поможем в написании вашей работы!




Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...


Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


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

Именные части речи, их общие и отличительные признаки Именные части речи в русском языке — это имя существительное, имя прилагательное, имя числительное, местоимение...

Интуитивное мышление Мышление — это пси­хический процесс, обеспечивающий познание сущности предме­тов и явлений и самого субъекта...

Объект, субъект, предмет, цели и задачи управления персоналом Социальная система организации делится на две основные подсистемы: управляющую и управляемую...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Studopedia.info - Студопедия - 2014-2025 год . (0.008 сек.) русская версия | украинская версия