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
Допустимо использование 32-битовых операндов и дополнительных режимов адресации 32-разрядных процессоров.
Пример:
mov EAX,1000000 mov EBX,60000 sub EAX,EBX; EAX=40000