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

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

Практическая работа №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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Ситуация 26. ПРОВЕРЕНО МИНЗДРАВОМ   Станислав Свердлов закончил российско-американский факультет менеджмента Томского государственного университета...

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