Иллюстрированный самоучитель по Assembler

S

386P+ STR Сохранение содержимого регистра состояния задачи

Команда str копирует содержимое регистра задачи TR (селектор сегмента состояния задачи) в двухбайтовый регистр общего назначения или 16-битовую ячейку памяти, указанные в качестве операнда.

SUB Вычитание целых чисел

Команда sub вычитает второй операнд (источник) из первого (приемника) и помещает результат на место первого операнда. Исходное значение первого операнда (уменьшаемое) теряется. Таким образом, если команду вычитания записать в общем виде:

sub операнд_1, операнд_2

То ее действие можно условно изобразить следующим образом:

операнд_1 – операнд_2 › операнд_1

В качестве первого операнда можно указывать регистр (кроме сегментного) или ячейку памяти, в качестве второго – регистр (кроме сегментного), ячейку памяти или непосредственное значение, однако не допускается определять оба операнда одновременно как ячейки памяти. Операнды могут быть байтами или словами и представлять числа со знаком или без знака. Команда воздействует на флаги OF, SF, ZF, AF, PF и CF.

Пример 1:

mov AX,100
mov BX,60
sub АХ,ВХ; АХ=40 (АХ-ВХ), ВХ=60

Пример 2:

mov DL, '8 ' mov DH, '0 '
sub DL,DH; DL=8 (преобразование кода ASCII в цифру))

Пример 3:

;; В полях данных
dat1 dw -168
dat2 dw 10
;; В программном сегменте
mov AX,data2
sub mem,AX; mem = -178

Иллюстрированный самоучитель по Assembler › Приложение. Система команд процессоров Intel. › S Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.

Пример:

mov EAX,1000000
mov EBX,60000
sub EAX,EBX; EAX=40000
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.