МегаПредмет

ПОЗНАВАТЕЛЬНОЕ

Сила воли ведет к действию, а позитивные действия формируют позитивное отношение


Как определить диапазон голоса - ваш вокал


Игровые автоматы с быстрым выводом


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


Целительная привычка


Как самому избавиться от обидчивости


Противоречивые взгляды на качества, присущие мужчинам


Тренинг уверенности в себе


Вкуснейший "Салат из свеклы с чесноком"


Натюрморт и его изобразительные возможности


Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д.


Как научиться брать на себя ответственность


Зачем нужны границы в отношениях с детьми?


Световозвращающие элементы на детской одежде


Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия


Как слышать голос Бога


Классификация ожирения по ИМТ (ВОЗ)


Глава 3. Завет мужчины с женщиной


Оси и плоскости тела человека


Оси и плоскости тела человека - Тело человека состоит из определенных топографических частей и участков, в которых расположены органы, мышцы, сосуды, нервы и т.д.


Отёска стен и прирубка косяков Отёска стен и прирубка косяков - Когда на доме не достаёт окон и дверей, красивое высокое крыльцо ещё только в воображении, приходится подниматься с улицы в дом по трапу.


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

ADD – целочисленное сложение





Команда ADD осуществляет сложение первого и второго операнда, при этом исходное значение первого операнда (dst - приёмника) теряется, замещаясь результатом сложения. Второй операнд (src –источник) не изменяется.

ADD dst, src; dst: = (dst) + (src).

В качестве первого операнда можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго – регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и являться числами со знаком или без знака. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

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

При операциях с числами со знаком нужно учитывать возможный перенос в старший значащий разряд, так как при этом может измениться знак результата. Для этих целей может помочь анализ флага переполнения OF, так как он устанавливается в 1, если происходит перенос в старший значащий разряд (в 7-ой или 15-ый) для положительных чисел или из старшего значащего разряда для отрицательных чисел.

SUB – вычитание целых чисел

Команда SUB вычитает второй операнд из первого и помещает результат на место первого операнда, т.е.

SUB dst, src; ; dst: = (dst) - (src).

Операнды аналогичны команде целочисленного сложения. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

 

Команды INC и DEC

Команда INC (инкремент) прибавляет 1 к операнду, в качестве которого можно указывать регистр (кроме сегментного) или ячейку памяти размером как в байт, так и в слово:

 

INC op; op:= (op) + 1.

 

Не допускается использовать в качестве операнда непосредственное значение. Операнд интерпретируется как число без знака. Команда воздействует на флаги OF, SF, ZF, AF и PF. Команда не воздействует на флаг CF.

Команда DEC (декремент) аналогична команде INC, за исключением того, что она вычитает единицу из операнда:

 

DEC op; op:= (op) – 1.

Команды умножения

Для умножения чисел без знака предназначена команда MUL, которая имеет следующий формат:

 

MUL src;AX:= AL*src - при умножении байтов,

(DX:AX):= AX*src – при умножении слов.

 

Как видно, второй операнд должен находиться или в регистре-аккумуляторе AL (в случае умножения на байт), или в регистре-аккумуляторе AX (в случае умножения на слово). После выполнения операции с однобайтовыми числами, 16-и битовый результат записывается в регистр-аккумулятор AX; для двухбайтовых чисел произведение длиной в 32 бита формируется в паре регистров DX:AXDX – старшая часть, в AX – младшая). Предыдущее содержимое регистра DX затирается.

Если содержимое регистра AH после однобайтового умножения или содержимое регистра DX после двухбайтового умножения не равны 0, флаги CF и OF устанавливаются в 1. В противном случае оба флага сбрасываются в 0.

В качестве операнда-сомножителя команды MUL можно указывать регистр (кроме сегментного) или ячейку памяти; не допускается умножение на непосредственное значение.

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

IMUL src.

Эта команда выполняется так же, как и команда MUL. Отличительной особенностью команды IMUL является только формирование знака. Если результат мал и умещается в одном регистре (то есть если CF=OF=0), то содержимое другого регистра (старшей части) является расширением знака – все его биты равны старшему биту (знаковому разряду) младшей части результата. В противном случае (если CF=OF=1) знаком результата является знаковый бит старшей части результата, а знаковый бит младшей части является значащим битом двоичного кода результата.

Команды деления

Команды деления для знаковых и беззнаковых операндов DIV и IDIVвыполняют целочисленное деление, формируя целое частное и целый остаток. Формат команды:

DIV src;AL:=quot ((AX)/(src)); частное и остаток

AH:=rem ((AX)/(src)); при делении на байт.

AX:=quot ((DX:AX)/(src)); частное и остаток

DX:=rem ((DX:AX)/(src)); при делении на слово.

 

При этом делимое находится в регистрах AX (в случае деления на байт) или DX:AX (в случае деления на слово). Размер делимого в два раза меньше размеров делителя и остатка.

После выполнения операции с однобайтовыми числами, частное записывается в регистр AL, остаток – в регистрAH; для двухбайтовых чисел – частное в AX, остаток вDX.





©2015 www.megapredmet.ru Все права принадлежат авторам размещенных материалов.