Скачиваний:
20
Добавлен:
03.06.2014
Размер:
84.99 Кб
Скачать

3. Команды битового процессора

Мнемоника

Спос

адр.

Содержание

Флаги

VHINZC

Цк

Бт

Примечание

BCLR n,ad8

DIR

(ad8).n <- 0

------

4

2

Bit CLiaR

BSET n,ad8

DIR

(ad8).n <- 1

------

4

2

Bit Set

CLC

INH

(C) <- 0

-----0

1

1

CLear C

SEC

INH

(C) <- 1

-----1

1

1

SEt C

BRCLR n,ad8,cad

DIR

REL

Если (ad8).n=0, то

(PC)<-(PC)+rel;(C)<-(ad8).n

-----+

5

3

Branch if bit CLeaR

BRSET n,ad8,cad

DIR

REL

Если (ad8).n=1, то

(PC)<-(PC)+rel;(C)<-(ad8).n

-----+

5

3

Branch if bit Set

4. Команды арифметической обработки

Мнемоника

Спос

адр.

Содержание

Флаги

VHINZC

Цк

Бт

Примечание

ADD aop

*

(A) <- (A)+(aop)

++-+++

*

*

ADD

ADC aop

*

(A) <- (A)+(aop)+(C)

++-+++

*

*

ADD, Carry

AIS #d8

IMM

(SP) <- (SP)+d8

------

2

2

Со знаком

AIX #d8

IMM

(H:X) <- (H:X)+d8

------

2

2

Со знаком

SUB aop

*

(A) <- (A)-(aop)

+--+++

*

*

SUBtract

SBC aop

*

(A) <- (A)-(aop)-(C)

+--+++

*

*

SUBtract

CMP aop

*

(A)-(aop)

+--+++

*

*

CoMPare A

CPX aop

*

(X)-(aop)

+--+++

*

*

ComPare X

TSTA

INH

(A)-0

0--++-

1

1

TeST for

TSTX

INH

(X)-0

0--++-

1

1

negative

TST ad8

DIR

(ad8)-0

0--++-

3

2

or zero

TST ,X

IX

((H:X))-0

0--++-

2

1

TST of8,X

IX8

(of8+(H:X))-0

0--++-

3

2

TST of8,SP

SP8

(of8+(SP))-0

0--++-

4

3

CPHX #d16

IMM

(H:X)-d16

+--+++

*

*

CoMPare H:X

CPHX ad8

DIR

(H:X)-(ad8)

+--+++

*

*

CoMPare H:X

INCA

INH

(A) <- (A)+1

+--++-

1

1

INCrement A

INCX

INH

(X) <- (X)+1

+--++-

1

1

INCrement X

INC ad8

DIR

(ad8) <- (ad8)+1

+--++-

4

2

INC ,X

IX

((H:X)) <- ((H:X))+1

+--++-

3

1

INC of8,X

IX8

(of8+(H:X)) <- (of8+(H:X))+1

+--++-

4

2

INC of8,SP

SP8

(of8+(SP)) <- (of8+(SP))+1

+--++-

5

3

DECA

INH

(A) <- (A)-1

+--++-

1

1

DECrement A

DECX

INH

(X) <- (X)-1

+--++-

1

1

DECrement X

DEC ad8

DIR

(ad8) <- (ad8)-1

+--++-

4

2

DEC ,X

IX

((H:X)) <- ((H:X))-1

+--++-

3

1

DEC of8,X

IX8

(of8+(H:X)) <-(of8+(H:X))-1

+--++-

4

2

DEC of8,SP

SP8

(of8+(SP)) <- (of8+(SP))-1

+--++-

5

3

NEGA

INH

(A) <- -(A)

+--++-

1

1

NEGate A

NEGX

INH

(X) <- -(X)

+--++-

1

1

NEGate X

NEG ad8

DIR

(ad8) <- -(ad8)

+--++-

4

2

Дополни-

NEG ,X

IX

((H:X)) <- -((H:X))

+--++-

3

1

тельный код

NEG of8,X

IX8

(of8+(H:X)) <- -(of8+(H:X))

+--++-

4

2

NEG of8,SP

SP8

(of8+(SP)) <- -(of8+(SP))

+--++-

5

3

MUL

INH

(X:A) <- (X)*(A)

-0---0

5

1

MULtiply

Без знака

DIV

INH

(A) <- (H:A)/(X)

(H) <- (H:A)mod(X)

----++

7

1

DIVide

Остаток

DAA

INH

Двоично-десят.коррекция (A)

?--+++

2

1

Decimal Adjust Accum.

Инкремент и декремент 16-разрядных регистров H:X и SP в целом может быть сделан с помощью команд AIX и AIS соответственно. Пример вычисления однобайтовой контрольной суммы таблицы из однобайтовых чисел приведен ниже.

TABLE: EQU $7000 ; Адрес начала таблицы

ORG $6E00

LDHX #511 ; Число элементов таблицы

CLRA ; Очистка А – контрольной суммы

ADDLOOP: ADD TABLE,X

AIX #$FF ; Уменьшить число элементов на 1

CPHX #0

BPL ADDLOOP

Соседние файлы в папке MCS_UP