Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
MPS.doc
Скачиваний:
29
Добавлен:
17.04.2019
Размер:
1.08 Mб
Скачать

Rlc a, rrc a ; циклические сдвиги влево и вправо через признак переноса.

3. Ввод-вывод данных. При выводе данных содержимое аккумулятора пересылается в соответствующий порт и остается там без изменения до следующей команды вывода. Для команд ввода-вывода используется мнемокод операции MOV с указанием порта и аккумулятора. Отметим два типа команд ввода-вывода данных:

а). ввод - вывод байта с использованием аккумулятора

MOV А, Pi ; чтение байта Pi A

MOV Pi, А ; вывод байта А Pi ;

б).ввод-вывод бита m порта Pi с использованием признака переноса С

MOV C, Pi .m ; чтение бита Pi .m C

MOV Pi .m, C ; вывод бита C Pi .m ;

в). логические операции при вводе данных через порты. Выполняется поразрядное преобразование вводимого байта и содержимого аккумулятора А, с записью результата в аккумулятор –

ANL Pi , А; ORL Pi , А; XRL Pi ,

а также преобразование бита через порты в соответствии с признаком С:

ANL Pi .m, C ORL Pi .m, C XRL Pi .m, C .

4. Команды передачи управления. В системе команд ОМЭВМ К1816ВЕ51 уменьшено количество признаков, по которым выполняются условные переходы по сравнению ОМЭВМ К1816ВЕ48. Оставлены команды условных переходов по такими признакам как: Z – нулевой результат, С – перенос и В - значение бита в аккумуляторе. Но включены комбинированные команды с указанием операндов для сравнения и признака перехода.

Основные команды передачи управления следующие:

а). безусловные переходы

AJMP <Adr11> ; в пределах адресного пространства 2 кбайта

LJMP <Adr16> ; в пределах адресного пространства 64 К;

JMP @A + DPTR ; переход по косвенному адресу, содержащемуся в DPTR и смещению в пределах 128 адресов, хранящемуся в А;

б). условные переходы по состоянию признака, выполняются по адресу, который вычисляется путем сложения с учетом знака относительного смещения Disp8, указанного в команде , и содержимого счетчика команд PC + 2. При этом общая запись мнемокода может быть представлена в виде - J* < Disp8> ; переход по адресу [ Disp8+PC+2], если признак (*)=1, например,

JC < Disp 8>, JZ < Disp 8>,

или в виде:

JN* < Disp8> ; переход, если признак (*)=0,

например, JNC < Disp8>, JNZ < Disp8>,

в). условные переходы по состоянию битов В0 – В7 в аккумуляторе -

JB0 < Disp8> – JB7 < Disp8> ; переход, если бит =1;

г). вызов подпрограммы -

АCALL < Adr11> ; в пределах адресного пространства 2 кбайта

LCALL <Adr16> ; в пределах адресного пространства 64 К;

При выполнении команды ACALL реализуется следующие операции:

- полный 16-разрядный адрес следующей команды в виде 2-х байтов записываются в стек;

- в РС записываются 11 разрядов начального адреса подпрограммы;

- выполняется переход по начальному адресу подпрограммы;

д). возврат по адресу в стеке -

RET ; без восстановления PSW,

RETI ; возврат из прерывания без восстановления PSW;

е). комбинированные команды, когда в команде совмещено несколько команд-

CJNE A, #D8, addr ; сравнить A и константу D8 и если не равно, то выполнить переход по указанному адресу addr,

CJNE @R0(1), #D8, addr ; сравнить байт, находящийся в ОЗУ по адресу, записанному в регистре R0 или R1, с константой D8 и если не равно, то выполнить переход по указанному адресу addr,

DJNZ Rm, addr ; выполнить декремент кода в регистре Rm и если получился ненулевой результат, то выполнить переход по указанному адресу addr,

DJNZ direct, addr ; выполнить декремент кода в ячейке ОЗУ с адресом, указанном в команде - direct и если получился ненулевой результат, то выполнить переход по указанному адресу addr.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]