Программирование на Ассемблере


         

Основные арифметические команды


Основные арифметические команды представлены в табл. 5.1

Таблица 5.1. Основные арифметические команды

Назначение

Общий вид

Комментарий

Сложение

add  <Оп1>, <Оп2>

xadd <Оп1>, <Оп2>

Оп1 = Оп1 + Оп2

Оп1«Оп2, Оп1 = Оп1 + Оп2

Вычитание

sub <Оп1>, <Оп2>

Оп1 = Оп1 - Оп2

Умножение беззнаковое

mul  < Оп >

Умножение знаковое

imul < Оп >

Умножение знаковое 2-х операндное

imul <Оп1>, <Оп2>

Оп1 = Оп1 * Оп2

Умножение знаковое 3-х операндное

imul <Оп1>, <Оп2>, константа

Оп1 = Оп2 * константа

Деление беззнаковое

Деление знаковое

div  <Оп>

idiv <Оп>

Во всех командах не допускается два адреса памяти.

При выполнении сложения с помощью команды xadd второй операнд должен быть регистром.

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

Деление выполняется нацело, дробная часть результата отбрасывается. Одновременно с частным формируется остаток от деления. Если при выполнении деления частное не помещается в отведенное для него поле, возникает особая ситуация “Деление на ноль”. Команда деления может требовать специальной подготовки для записи делимого. Подготовка состоит в расширении делимого знаковым разрядом для чисел со знаком и обнулении старшей части делимого для чисел без знака. Для этих целей можно использовать команды пересылки или специальные команды. Команды пересылки (MOV) рассмотрены выше



Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий