logo

Система команд x86
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

SUB

Вычитание

Влияние команды на флаги и форматы команды:

OF

DF

IF

TF

SF

ZF

AF

PF

CF

*

 

 

 

*

*

*

*

*

 

Код

Команда

Описание

Проц.

Пример

2C ib

SUB AL,imm8

Вычитание imm8 из регистра AL

8086

sub al,0AAh

2D iw

SUB AX,imm16

Вычитание imm16 из регистра AX

8086

sub ax,0FODh

2D id

SUB EAX,imm32

Вычитание imm32 из регистра EAX

Intel386

sub eax,23456789h

80 /5 ib

SUB r/m8,imm8

Вычитание imm8 из r/m8

8086

sub ah,5

81 /5 iw

SUB r/m16,imm16

Вычитание imm16 из r/m16

8086

sub dx,0DBBh

81 /5 id

SUB r/m32,imm32

Вычитание imm32 из r/m32

Intel386

sub edx,0CAAAAh

83 /5 ib

SUB r/m16,imm8

Вычитание знакорасширенного  imm8 из r/m16

8086

sub cx,0AAh

83 /5 ib

SUB r/m32,imm8

Вычитание знакорасширенного  imm8 из r/m32

Intel386

sub ecx,02h

28 /r

SUB r/m8,r8

Вычитание байтового регистра из r/m8

8086

sub [di],ah

29 /r

SUB r/m16,r16

Вычитание 16-битного регистра из r/m16

8086

sub bx,si

29 /r

SUB r/m32,r32

Вычитание 32-битного регистра из r/m32

Intel386

sub memory,eax

2A /r

SUB r8,r/m8

Вычитание r/m8 из байтового регистра

8086

sub dl,sum

2B /r

SUB r16,r/m16

Вычитание r/m16 из 16-битного регистра

8086

sub di,[si+12]

2B /r

SUB r32,r/m32

Вычитание r/m32 из 32-битного регистра

Intel386

sub ecx,raznost

Операция:

IF (SRC - байт, а DEST - слово или двойное слово)

  THEN DEST = DEST - SignExtend(SRC);

  ELSE DEST = DEST - SRC;

FI;

Описание:

Команда SUB вычитает второй операнд (SRC) из первого операнда (DEST). Первому операнду присваивается результат вычитания, и соответствующим образом устанавливаются флаги.

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

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

Особые ситуации защищенного режима:

#GP(0), если операнд-назначение находится в сегменте, запрещенном для записи, если используется некорректный эффективный адрес операнда в памяти в сегментах CS, DS, ES, FS, GS или нулевой селектор.
#SS(0) при использовании некорректного эффективного адреса в сегменте SS.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память при текущем уровне привилегий равном 3.

Особые ситуации режима реальной адресации:

#GP, если любая часть операнда находится вне пространства эффективных адресов в сегментах CS, DS, ES, FS или GS.
#SS, если любая часть операнда находится вне пространства эффективных адресов в сегменте SS.

Особые ситуации режима V86:

Такие же, как и в режиме реальной адресации.
#PF(Код ошибки) при страничной ошибке.
#AC(0) при невыровненной ссылке в память.


Входит в группу команд: Базовая система команд CPU



Все права защищены © 1997-2011 Перепечатка возможна только по согласованию с владельцем авторских прав. admin@club155.ru

Яндекс.Метрика               Сервер радиолюбителей России - схемы, документация,

 соревнования, дипломы, программы, форумы и многое другое!   схемы новости электроники