-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||2C ib SUB AL,imm8 1 Вычитание непосредственного || байта из AL ||2D iw SUB AX,imm16 1 Вычитание непосредственного || слова из AX ||2D id SUB EAX,imm32 1 Вычитание непосредственного || двойного слова из EAX ||80 /5 ib SUB r/m8,imm8 1/3 Вычитание непосредственного || байта из байта r/m ||81 /5 iw SUB r/m16,imm16 1/3 Вычитание непосредственного || слова из слова r/m ||81 /5 id SUB r/m32,imm32 1/3 Вычитание непосредственного || двойного слова из || двойного слова r/m ||83 /5 ib SUB r/m16,imm8 1/3 Вычитание непосредственного || расширенного знаком байта || из слова r/m ||83 /5 ib SUB r/m32,imm8 1/3 Вычитание непосредственного || расширенного знаком байта || из двойного слова r/m ||28 /r SUB r/m8,r8 1/3 Вычитание регистра - || байта из байта r/m ||29 /r SUB r/m16,r16 1/3 Вычитание регистра - || слова из слова r/m ||29 /r SUB r/m32,r32 1/3 Вычитание регистра - || двойного слова из || двойного слова r/m ||2A /r SUB r8,r/m8 1/2 Вычитание регистра - || байта из байта r/m ||2B /r SUB r16,r/m16 1/2 Вычитание регистра - || слова из слова r/m ||2B /r SUB r32,r/m32 1/2 Вычитание регистра - || двойного слова из || двойного слова r/m |----------------------------------------------------------------- Работа команды IF SRC это байт, а DEST это слово или двойное словоTHEN DEST = DEST - SignExtend(SRC);ELSE DEST <- DEST - SRC;FI; ОписаниеКоманда SUB вычитает второй операнд (SRC) из первого (DEST). Первомуоперанду присваивается результат вычитания, а флаги устанавливаютсясоответствующим образом.При вычмитании из операнда - слова непосредственного байтового значенияпоследнее расширяется знаком до размера операнда назначения. Изменяемые флагиФлаги OF, SF, ZF, AF, PF и CF устанавливаются в соответствии с результатом. Исключения защищенного режима#GP(0), если назначением является сегмент, недоступный для записи; #GP(0)в случае недопустимого исполнительного адреса операнда памяти в сегментахCS, DS, ES, FS или GS; #SS(0) в случае недопустимого адреса в сегменте SS;#PF(код сбоя) в случае страничного сбоя; #AC для невыравненной ссылки кпамяти при текущем уровне привилегированности, равном 3. Исключения режима реальных адресовПрерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев. #AC для невыравненной ссылки к памяти при текущем уровнепривилегированности, равном 3.