Составители:
11
c) Десятичная арифметика
Для ускорения ввода и вывода при разделении с фазой обработки данных
и в расчетах с данными переменной длины используется десятичная
арифметика в форматах с естественной запятой.
В MCS51 работа с десятичными данными поддерживается специальными
командами:
DA a – десятичная коррекция результатов двоичного сложения или
вычитания 2/10 чисел
swap a – обмен
тетрадами в Асс
xchd a, @rj - обмен тетрадами
d) Логика поразрядная 8 битовая
anl a, {Ri,@rj,#d,ad} a & {..} a признаки p, 0c,
anl ad, {#d, a} ;
orl a, {Ri,@rj,#d,ad} a v {..} a признаки p, 0c,
orl ad, {#d, a}
xrl {Ri,@rj,#d,ad} a # {..} a признаки p, 0c
xrl ad, {#d, a}
cpl a ; not a
rr a ; циклический сдвиг Асс вправо (признак С
не изменяется)
rl a ; циклический сдвиг Асс влево (признак С не изменяется)
e) Битовые операции
anl c,{bit, /bit} /bit – инверсия бита ;
Например, anl c,/ACC.6
orl c,{bit , /bit}
setb bit,
clr bit,
cpl C
f) Работа с портами
Передача данных через двунаправленный порт Р0 определяется
сигналами записи или чтения, которые являются стробами для внешних
устройств и признаками готовности MCU, соответственно, к выводу или вводу
через порт. Таким образом, исключается одновременный ввод и
вывод.
В квазидвунаправленных портах P1,P2,P3 состояние порта задается
программой:
Ввод char bb=P1; //чтение с контактов порта mov bb,P1
Вывод P2= bb; //запись в регистр порта командой mov P2,bb
Страницы
- « первая
- ‹ предыдущая
- …
- 9
- 10
- 11
- 12
- 13
- …
- следующая ›
- последняя »