Команда ADD


Ассемблер для Windows Ассемблер для Windows

Рассмотрены необходимые сведения для программирования Windows-приложений на ассемблерах MASM и TASM: разработка оконных и консольных приложений; создание динамических библиотек; многозадачное программирование; программирование в локальной сети, в том числе и с использованием сокетов; создание драйверов, работающих в режиме ядра; простые методы исследования программ и др. Подробнее...

Синтаксис команды ADD:

ADD СУММА, ЧИСЛО

С помощью этой команды можно сложить два числа: СУММА и ЧИСЛО складываются, а результат помещается в СУММУ.

Эта команда может изменять флаги (в зависимости от результата - но об этом чуть позже).

ЧИСЛОМ может быть один из следующих:

  • Область памяти (MEM)
  • Регистр общего назначения (REG)
  • Непосредственное значение (например, число) (IMM)

СУММОЙ может быть один из следующих:

  • Область памяти (MEM)
  • Регистр общего назначения (REG)

То есть эта команда не работает с сегментными регистрами. Комбинации СУММА-ЧИСЛО могут быть следующими:

REG,  MEM
MEM,  REG
REG,  REG
MEM,  IMM
REG,  IMM

Пример использования инструкции ADD:

MOV AL, 5   ; AL = 5
ADD AL, -3  ; AL = 2

А теперь о флагах.

Команда ADD в зависимости от результата выполнения может изменять все основные флаги, а именно:

  • CF - флаг переноса. Этот флаг может быть изменён, например, при переполнении.
  • ZF - флаг нуля. Этот флаг будет установлен, если результатом сложения будет ноль
  • SF - флаг знака. Этот флаг будет установлен, если результатом сложения будет отрицательное число.
  • OF - флаг переполнения. Этот флаг будет установлен в случае переполнения (то есть когда результат не помещается в СУММУ - значение слишком большое).
  • PF - флаг чётности. Этот флаг устанавливается в довольно сложных случаях (для начинающих это пока лишнее), поэтому подробно рассказывать не буду.
  • AF - вспомогательный флаг переноса. Для новичков это тоже лишнее.

Если информация о флагах вас не удовлетворила, то посмотрите видео и/ли купите уже наконец нормальную книгу по Ассемблеру.

Ну и напоследок скажу, почему эта команда ассемблера называется ADD. Это сокращение от английского слова ADDITION, которое можно перевести как “сложить”.



Инфо-МАСТЕР ®
Все права защищены ©
e-mail: mail@info-master.su

Яндекс.Метрика