Интерфейсы микропроцессорных систем. Воробьева Г.С - 55 стр.

UptoLike

Команда
Мнемоника
Опе
ранды
Алгоритм
Код
операци
и
Описание команды
Примечание. Все команды "сложения" (ADD) и "сложение с переносом" (ADDC
) не
з
ависимо от способа адресации источника ( 29 .. 36) од
инаково влияют на флаги. Если
прои
с
ходит перенос из разрядов 7 или 3 соответственно устанавливаются флаги С или АС, иначе
Флаг переполнения
OV устанавливается если е
сть перенос из бита 6 и нет переноса из бита 7,
или есть перенос из бита 7 и нет
- из 6-го, иначе OV -
сбрасывается. При сложении целых чисел со
знаком
OV
указывает на отрицательный результат сложения двух положительных операндов или
на положител
ьную сумму от двух отрицательных операндов.
37.
DA A Если (A
0-3
)>9 V
V((AC)=1), то
(A
0-3
)(A
0-3
)+6,
затем
если (A
4-7
)>9 V
V((AC)=1), то
(A
4-7
)(A
4-7
)+6
11010100
Двоичнодесятичная коррекция 8-
битного значения аккумулятора, я
в-
ляющегося результатом выполненного
ранее сложения двух двоично
-
десятичных чисел. В результате, с
учетом переноса получается двоично
-
десятичное число, от 0 до 199. Команда
выполняет преобразование с помощью
сложения 06
h, 60h, 66h
с содержимым
аккумулятора, в зависимости от начал
ь-
ного состоя
ния аккумулятора и слова
состояния программы. Флаг переноса С
устанавливается, если результат больше
99
d, в противном случае - не изменяет-
ся. Флаг 0
V - не изменяется. Эта ко-
манда не может просто преобразов
ы-
вать шестнадцатеричное число в
аккумуляторе в
двоично -
десятичное и
не применяется для двоично
-
десятичного вычитания.
38.
SUBB A, Rr
(r = 0..7)
(A) (A) –
– © – (Rr)
10011rrr
Вычитание из аккумулятора содер-
жимого регистра
Rr
, и бита переноса.
Результат остается в аккумуляторе.
39.
SUBB A, @Ri
(i = 0, 1)
(A)(A) –
– (С) – ((Ri))
1001011i
Вычитание, из аккумулятора байта из
ячейки резидентной памяти данных
адресуемой регистром
Ri
с заемом.
Результат остается в аккум
уляторе.
40.
SUBB A, ad
(A) (A) -
- (ad) - (С)
10010101
Вычитание из аккумулятора
прямоа
д
ресуемого байта вместе с
переносом и сохранение результата в
аккумулят
оре.
41.
SUBB A, #d
(B) (A) -
- #d - (С)
10010100
Вычитание из аккумулятора
конста
н
ты, с учетом переноса, и
сохранение результата в аккумул
яторе.
Примечание. Команды "вычитания
с заемом" при всех режимах адресации ( 38 ..41)
бита 7 необходим заем, если нет
-
сбрасывается. АС устанавливается, если необходим заем для
бита 3 и сбрасывается в
противном случае. При вычитании целых чисел со знаком OV
указывает
пол
ожительный результат вычитания положительного числа из отрицательного.
42.
INC A (A) (A) + 1
00000100
Команда "инкремент аккумулятора"
прибавляет один к содержимому
акк
умулятора.
Команда
Мнемоника
Опе
ранды
Алгоритм
Код
операци
и
Описание команды
43.
INC Rr
(r = 0..7)
(Rr) (Rr) + 1
00001rrr
Увеличение содержимого регистра Rr
на единицу.
44.
INC ad (ad) (ad) + 1
00000101
Увеличение содержимого ячейки
п
амяти, расположенной по адресу ad
на
единицу.
45.
INC @Ri
(i = 0,1)
((Ri))
((Ri)) + 1
0000011i
Увеличение содержимого
ячейки
р
е
зидентной памяти данных, адрес
кот
орой расположен в Ri на единицу.
46.
INC DPTR (DPTR)
(DPTR) + 1
Прибавление единицы к 16-
разрядному содержимому указателя
данных.
47.
DEC A (A) (A) – 1
00010100
Команда "декремент аккумулятора"
производи
т вычитание единицы из
содержимого аккумул
ятора.
48.
DEC Rr
(r = 0..7)
(Rr) (Rr) – 1
00011rrr
Уменьшение на единицу содержимого
регистра
Rr.
49.
DEC ad (ad) (ad) – 1
00010101
Уменьшение содержимого ячейки
памяти, расположенной по адресу
ad
на
единицу
.
50.
DEC @Ri
(i = 0,1)
((Ri))
((Ri)) – 1
0001011i
Уменьшение содержимого ячейки
резидентной памяти данных, адрес
которой расположен в
Ri на единицу.
Примечание:
команды инкремента (№№ 42 .. 46) и декремента (№№ 47 .. 50) не
изм
еняют флаги.
51.
MUL A B (B)
[7-0]=(A)
*
(B)
(B)
[15-8]=(A)
*
(B)
10100100
Перемножение 8-
битных беззнаковых
чисел из регистров
A и B
Старший байт
произведения помещается в регистр В, а
младший
-
в А. Если результат больше,
чем 0
FFh
, то устанавливается флаг
переполнения
OV, иначе -
сбрасывается.
Флаг переноса всегда сбрасывается.
52.
DIV A B (A)
[15-8]=(A)/(B)
(B)
[7-0]=(A)/(B)
10000100
Деление 8-
битного целого
беззнаков
ого числа из регистра A на 8-
битное целое без знака из B.
Аккумулятору присваивается целая
часть частн
ого (старшие разряды), а
регистру В
-
остаток. Если (А)<(B), то
АС
- не сбра
сывается. Если (В)=00,
после выполн
е
ния команды содержимое
А и В
- неоп
ределенное, а флаг
переполнения уст
а
навливается, иначе
OV
- сбрасыва
ется. С сбрасывается в
любом случае.
Команды логических операций
53.
ANL A, Rr
(r = 0..7)
(A) (A)Λ (Rr)
01011rrr
Логическое умножение (операция И)
битов аккумулятора и регистра.
54.
ANL A, ad (A) (A)Λ (ad)
01010101
Логическое И битов аккумулятора и
прямоадресу
емого байта.