Команда SUBB A, <байт источника>
Команда "вычитание с заемом" вычитает указанную переменную вместе с флагом переноса из содержимого аккумулятора, засылая результат в аккумулятор. Эта команда устанавливает флаг переноса (заема), если при вычитании для бита 7 необходим заем, в противном случае флаг переноса сбрасывается. Если флаг переноса установлен перед выполнением этой команды, то это указывает на то, что заем необходим при вычитании с увеличенной точностью на предыдущем шаге, поэтому флаг переноса вычитается из содержимого аккумулятора вместе с операндом источника. (АС) устанавливается, если заем необходим для бита 3 и сбрасывается в противном случае. Флаг переполнения (OV) устанавливается, если заем необходим для бита 6, но его нет для бита 7, или есть для бита 7, но нет для бита 6.
При вычитании целых чисел со знаком (OV) указывает на отрицательное числоЮ которое получается при вычитании отрицательной величины из положительной, или положительное число, которое получается при вычитании положительного числа из отрицательного.
Операнд источника допускает четыре режима адресации:
- регистровый;
- прямой;
- косвенно-регистровый;
- непосредственный (к константе).
Ассемблер: |
SUBB A, Rn; где n=0-7 |
Код: |
|
где r=000-111 |
Время: |
1 цикл |
Алгоритм: |
(A) : = (A)-(C)-(Rn);
(C):=X, (AC):=X, (OV):=X, где X=(0 или 1) |
Пример: |
;(A)=C9H, (R2)=54H, (C)=1
SUBB A,R2 ;(A)=74H, (R2)=54H, (C)=0
;(AC)=0, (OV)=1
|
Ассемблер: |
SUBB A, <direct> |
Код: |
|
|
Время: |
1 цикл |
Алгоритм: |
(A) : =(A)-(C)-(direct);
(C):=X, (AC):=X, (OV):=X, где Х=(0 или 1) |
Пример: |
;(A)=97H, (B)=25H, (C)=9
SUBB A,B ;(A)=72H, (B)=25H, (C)=0,
;(AC)-0, (OV)=1
|
Ассемблер: |
SUBB A@Ri; где i=0,1 |
Код: |
|
Время: |
1 цикл |
Алгоритм: |
(A) : = (A)-(C)-((Ri));
(C):=X, (AC):=X, (OV):=X, где Х=(0 или 1) |
Пример: |
;(A)=49H, (C)=1, (R0)=33H,
;(ОЗУ[33])=68H
SUBB A,@R0 ;(A)=E0H, (C)=1, (AC)=0, (OV)=0
|
Ассемблер: |
SUBB A,#data |
Код: |
|
|
Время: |
1 цикл |
Алгоритм: |
(A):=(A)-(C)-(#data8);
(C):=X, (AC):=X, (OV):=X, где Х=(0 или 1) |
Пример: |
;(A)=0BEH, (C)=0
SUBB A,#3FH ;(A)=7FH, (C)-0, (AC)=1, (OV)=1
|
|