Материал: Функциональная организация микро-ЭВМ К1816ВЕ48

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

11111nnn

1

A = Rn

MOV Rn, A 10101nnn

1

Rn = A

MOV

A, @Rr

1111000r

1

A= D(Rr) MOV @Rr, A 1010000r

1

D(Rr) = A MOVX

A, @Rr 1000000r 2

A = XD(Rr) MOVX @Rr, A 1001000r

2

XD(Rr) = A MOV

Rn, #d

10111nnn

2

Rn = данные

MOV @Rr, #d 1011000r 2

D(Rr) = данные MOV

A, #d 00100011 2

A = данные

MOV

A, PSW

11000111

1

A = PSW MOV PSW, A

11010111

1

PSW = A MOV

A, T 01000010

1

A = T

MOV T, A

01100010

1

T = A

MOVP A, @A

10100011

2

A = D(PC[11..8](A) MOVP3

A, @A

11100011

2

A = D(0011( A) XCH

A, Rn 00101nnn

1

A <=> Rn XCH

A, @Rr 0010000r

1

A <=> Rr XCHD

A, @Rr 0011000r

1

A[3..0]<=>D(Rr)[3..0] IN

A, Pp 000010pp 2

A = Pp INS

A, BUS 00001000 2

A = BUS OUTL Pp, A 001110pp 2

Pp = A

OUTL

BUS, A 00000010 2

BUS = A

MOVD

A, Ps

000011ss

2

A = 0000(Ps MOVD

Ps, A 001111ss 2

Ps = A[3..0]

Для обработки отдельных разрядов и битовых полей используется 28 команд логических операций (таблица 2). В системе команд МК реализованы логические операции И,ИЛИ и Исключающее ИЛИ. Существует два варианта этих команд в зависимости от операндов. В первом варианте один из операндов - это аккумулятор, где и хранится результат выполнения операции. В этом случае адрес аккумулятора задается в коде команды неявно, а в качестве второго операнда может использоваться содержимое любого регистра; ячейка РПД, адресуемая через R0 или R1; константа, указываемая во

втором байте комады. Особенностью системы команд МК является второй вариант команд логических операций, где в качестве

операнда-приемника используются

порты ввода/вывода. Это

позволяет

маскировать отдельные биты портов ввода/вывода,

управляя таким образом вводом данных.

 

Например:

 

 

 

ORL P1,

#3,

; разрешение ввода через биты P1[1..0]

ANL R1,

#FB

; очистка разряда R1[2]

XRL R2,

#7

; инвертирование разрядов R2[2..0]

Мнемокод команды Операнд Машинный код команды Число циклов Действие

ANL

A, Rn 01011nnn

1

A &= Rn ORL

A, Rn 01001nnn

1

A |= Rn XRL

A, Rn

11011nnn

1

A ^= Rn ANL

A, @Rr 0101000r

1

A & = D(Rr) ORL

A, @Rr 0100000r

1

A |= D(Rr)

XRL

A, @Rr 1101000r

1

A ^= D(Rr) ANL

A, #d 01010011 2

A &= данные

ORL

A, #d 01000011 2

A |= данные

XRL

A, #d

11010011

2

A ^= данные

ANL Pp, #d

100110pp

2

Pp & =данные

ANL BUS, #d 10011000 2

BUS @= данные

ORL Pp, #d

100010pp

2

Pp |= данные

ORL BUS, #d 10001000 2

BUS | = данные

ANLD

Ps, A

100111ss