Как стать программистом Как устроен компьютер. Что такое программа. Как написать свою программу. И многое другое узнаете вы из этой книги. Получить бесплатно! |
Инструкция 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, и в зависимости от его состояния перейти на тот или иной участок программы с помощью меток и специальных инструкций. Но эти инструкции мы пока не изучали, поэтому в данной статье я о них говорить не буду. Ждите следующих уроков - подписывайтесь на новости сайта, чтобы ничего не пропустить.
Подписаться на Дзен-канал
Вступить в группу "Основы программирования" Подписаться на рассылки по программированию |
Первые шаги в программирование
Главный вопрос начинающего программиста – с чего начать? Вроде бы есть желание, но иногда «не знаешь, как начать думать, чтобы до такого додуматься». У человека, который никогда не имел дело с информационными технологиями, даже простые вопросы могут вызвать большие трудности и отнять много времени на решение. Подробнее... |