Команды расширения формата

Опубликовано января 12, 2018 в Архитектура процессора Intel

Команды расширения формата

  • CBW ( Convert Byte to Word) — преобразование байта в слово.
  • CWD ( Convert Word to Double Word) — преобразование слова в двойное слово.

CBW и CWD — безоперандные команды, состоящие из единственной мнемоники. Команды являются аккумуляторными. Они поддерживают знаковое представление целых чисел. Расширение операндов производится путём копирования знакового бита на все старшие разряды.

Команда CBW производит знаковое расширение байга из регистра AL до слова путем копирования (распространения) старшего бита (знакового разряда) регистра AL на все разряды регистра АН. Команда CWD производит аналогичную операцию над DX, расширяя его знаком слова из АХ.

Команды знакового расширения форматов обычно используются перед командами знакового деления для преобразования делимого в требуемый формат. Эти команды не оказывают влияния на арифметические флаги.

Команды расширения формата

Команды инкремента/декремента

  • INC (INCrement by 1) — инкремент (увеличение) на единицу.
  • DEC (DECrement by 1) — декремент (уменьшение) на единицу.

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

Примеры:

INC АХ — увеличить значение АХ на 1;

DEC CL — уменьшить значение CL на 1.

Команда изменения знака

NEG (NEGate two’s complement) — изменение знака, дополнение до 2.

Команда производит изменение знака адресуемого операнда на противоположный. При этом осуществляется взятие дополнения от исходного операнда путем инвертирования всех его разрядов с добавлением единицы к младшему разряду. Фактически в ЛЛУ эта операция реализуется вычитанием исходного операнда из нуля.

По результату этой команды устанавливаются все арифметические флаги. Флаг OF устанавливается в том случае, если операнд команды представляет собой максимальное по модулю отрицательное число для данного формата. Флаги CF и AF фиксируют соответствующие засмы при вычитании операнда из нуля.

Пример:

NEG АХ — изменение знака операнда из АХ.

Облачная 1C — это удобный сервис для удаленной работы с программами 1C. Лицензионные программы установлены на серверах в крупнейших российских и европейских дата-центрах. Вот описание!