Команда "сдвиг содержимого аккумулятора вправо через флаг переноса" сдвигает восемь бит аккумулятора и флаг переноса на один бит вправо. Бит 0 перемещается в флаг переноса, а исходное содержимое флага переноса помещается в бит 7. На другие флаги эта команда не влияет.
Ассемблер:
RRC A
Код:
0 0 0 1 0 0 1 1
Время:
1 цикл
Алгоритм:
(A[N]):=(A[N+1]), где N=0-6 (A[7]):=(C), (C):=(A[0])
Пример:
;(A)=95H (10010101B), (C)=0
RRC A ;(A)=4AH (01001010B), (C)=1
Команда SETB <bit>
Команда "установить бит" устанавливает указанный бит в "1". Адресуется:
Команда "короткий переход" выполняет безусловное ветвление в программе по указанному адресу. Адрес ветвления вычисляется сложением смещения со знаком во втором байте команды с содержимым счетчика команд после прибавления к нему 2.
Таким образом, адрес перехода должен находиться в диапазоне от 128 байт, предшествующих команде, до 127 байт, следующих за ней.
Ассемблер:
SJMP <метка>
Код:
1 0 0 0 0 0 0 0
re18
Время:
2 циклa
Алгоритм:
(PC):=(PC)+2, (PC):=(PC)+(re18)
Пример:
;(PC)=0418H,
;метка МЕТ1 соответствует адресу 039АН
SJMP MET1 ;(PC)=039AH, где (re18)=80h=-128 DEC
SJMP MET2 ;(PC)=041AH, где метка МЕТ2 соответствует
;адресу 041АН,
;(re18)=7DH=+125 DEC
Команда SUBB A, <байт источника>
Команда "вычитание с заемом" вычитает указанную переменную вместе с флагом переноса из содержимого аккумулятора, засылая результат в аккумулятор. Эта команда устанавливает флаг переноса (заема), если при вычитании для бита 7 необходим заем, в противном случае флаг переноса сбрасывается. Если флаг переноса установлен перед выполнением этой команды, то это указывает на то, что заем необходим при вычитании с увеличенной точностью на предыдущем шаге, поэтому флаг переноса вычитается из содержимого аккумулятора вместе с операндом источника. (АС) устанавливается, если заем необходим для бита 3 и сбрасывается в противном случае. Флаг переполнения (OV) устанавливается, если заем необходим для бита 6, но его нет для бита 7, или есть для бита 7, но нет для бита 6.
При вычитании целых чисел со знаком (OV) указывает на отрицательное числоЮ которое получается при вычитании отрицательной величины из положительной, или положительное число, которое получается при вычитании положительного числа из отрицательного.
Операнд источника допускает четыре режима адресации:
регистровый;
прямой;
косвенно-регистровый;
непосредственный (к константе).
Ассемблер:
SUBB A, Rn; где n=0-7
Код:
1 0 0 1 1 rrr
где r=000-111
Время:
1 цикл
Алгоритм:
(A) : = (A)-(C)-(Rn); (C):=X, (AC):=X, (OV):=X, где X=(0 или 1)