ПОЗНАВАТЕЛЬНОЕ Сила воли ведет к действию, а позитивные действия формируют позитивное отношение Как определить диапазон голоса - ваш вокал
Игровые автоматы с быстрым выводом Как цель узнает о ваших желаниях прежде, чем вы начнете действовать. Как компании прогнозируют привычки и манипулируют ими Целительная привычка Как самому избавиться от обидчивости Противоречивые взгляды на качества, присущие мужчинам Тренинг уверенности в себе Вкуснейший "Салат из свеклы с чесноком" Натюрморт и его изобразительные возможности Применение, как принимать мумие? Мумие для волос, лица, при переломах, при кровотечении и т.д. Как научиться брать на себя ответственность Зачем нужны границы в отношениях с детьми? Световозвращающие элементы на детской одежде Как победить свой возраст? Восемь уникальных способов, которые помогут достичь долголетия Как слышать голос Бога Классификация ожирения по ИМТ (ВОЗ) Глава 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:AX (в DX – старшая часть, в 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. |