Инструкция SUB


Как выучить английский Как выучить английский

В наше время любой человек должен знать английский язык. А тем более программист. Потому что довольно большая часть документации существует только на английском. А профессионал не может ждать, пока кто-то переведёт ему документацию. Он должен уметь быстро получать нужную инфорамцию и использовать её, независимо от того, на каком она языке - на английском или на русском... Ссылки на курсы по английскому...

Инструкция SUB тоже довольно проста для понимания. Если инструкция ADD выполняет сложение, то команда SUB процессоров семейства i80x86 используется для вычитания. Синтаксис команды SUB такой:

SUB РАЗНОСТЬ, ЧИСЛО

С помощью этой команды можно из РАЗНОСТИ вычесть ЧИСЛО. Результат помещается в РАЗНОСТЬ.

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

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

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

РАЗНОСТЬЮ может быть один из следующих:

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

Эта команда, также как и команда сложения, не работает с сегментными регистрами. Комбинации РАЗНОСТЬ-ЧИСЛО могут быть следующими:

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

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

MOV AL, 5   ; AL = 5
SUB AL, 1   ; AL = 4

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

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

Например, дальнейшее поведение вашей программы может зависеть от того, какой результат получен после выполнения команды SUB. В таком случае надо проверить состояние флага SF, и в зависимости от его состояния перейти на тот или иной участок программы с помощью меток и специальных инструкций. Но эти инструкции мы пока не изучали, поэтому в данной статье я о них говорить не буду. Ждите следующих уроков - подписывайтесь на новости сайта, чтобы ничего не пропустить.



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

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