Скачиваний:
25
Добавлен:
03.06.2014
Размер:
2.09 Mб
Скачать

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

Мнемоника

Спос

адр.

Содержание

Флаги

SXHINZVC

Цк

Бт

Примечание

ABA

INH

(A) <- (A)+(B)

--+-++++

2

1

Add B A

ABX

INH

(X) <- (X)+(B)

--------

3

1

Add B X

ABY

INH

(Y) <- (Y)+(B)

--------

4

2

Add B Y

ADDA aop

*

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

--+-++++

*

*

ADD A

ADDB aop

*

(B) <- (B)+(aop)

--+-++++

*

*

ADD B

ADDD aop

*

(D) <- (D)+(aop):(aop+1)

----++++

*

*

ADD D

ADCA aop

*

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

--+-++++

*

*

ADD, Carry

ADCB aop

*

(B) <- (B)+(aop)+(C)

--+-++++

*

*

ADD, Carry

SBA

INH

(A) <- (A)-(B)

--+-++++

2

1

Subtract

SUBA aop

*

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

----++++

*

*

SUBtract A

SUBB aop

*

(B) <- (B)-(aop)

----++++

*

*

SUBtract B

SUBD aop

*

(D) <- (D)-(aop):(aop+1)

----++++

*

*

SUBtract D

SBCA aop

*

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

----++++

*

*

SUB C A

SBCB aop

*

(B) <- (B)-(aop)-(C)

----++++

*

*

SUB C B

CMPA aop

*

(A)-(aop)

----++++

*

*

CoMPare A

CMPB aop

*

(B)-(aop)

----++++

*

*

CoMPare A

CPX aop

*

(X)-(aop)

----++++

*

*

ComPare X

CPY aop

*

(Y)-(aop)

----++++

*

*

ComPare Y

CPD aop

*

(D)-(aop):(aop+1)

----++++

*

*

ComPare D

TSTA

INH

(A)-0

----++00

2

1

TeST for

TSTB

INH

(B)-0

----++00

2

1

negative

TST ad16

EXT

(ad8)-0

----++00

6

3

or zero

TST of8,X

IX

(of8+(X))-0

----++00

6

2

TST of8,Y

IY

(of8+(Y))-0

----++00

7

3

INCA

INH

(A) <- (A)+1

----+++-

2

1

INCrement A

INCB

INH

(B) <- (B)+1

----+++-

2

1

INCrement B

INX

INH

(X) <- (X)+1

-----+--

3

1

INcrement X

INY

INH

(Y) <- (Y)+1

-----+--

4

1

INcrement Y

INS

INH

(SP) <- (SP)+1

--------

3

2

IncrementSP

INC ad16

EXT

(ad16) <- (ad16)+1

----+++-

6

3

INC of8,X

IX

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

----+++-

6

2

INC of8,Y

IY

(of8+(Y)) <- (of8+(Y))+1

----+++-

7

3

DECA

INH

(A) <- (A)-1

----+++-

2

1

DECrement A

DECB

INH

(B) <- (B)-1

----+++-

2

1

DECrement X

DEX

INH

(X) <- (X)-1

-----+--

3

1

DEcrement X

DEY

INH

(Y) <- (Y)-1

-----+--

4

2

DEcrement Y

DES

INH

(SP) <- (SP)-1

--------

3

1

DEcrementSP

DEC ad16

EXT

(ad8) <- (ad8)-1

----+++-

6

3

DEC of8,X

IX

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

----+++-

6

2

DEC of8,Y

IY

(of8+(Y)) <- (of8+(Y))-1

----+++-

7

3

NEGA

INH

(A) <- -(A)

----++++

2

1

NEGate A

NEGB

INH

(B) <- -(B)

----++++

2

1

NEGate B

NEG ad16

EXT

(ad16) <- -(ad16)

----++++

6

3

Дополни-

NEG of8,X

IX8

(of8+(X)) <- -(of8+(X))

----++++

6

2

тельный код

NEG of8,Y

SP8

(of8+(Y)) <- -(of8+(Y))

----++++

7

3

MUL

INH

(D) <- (A)*(B)

-------+

10

1

MULtiply

Без знака

IDIV

INH

(X) <- (D)/(X) Со знаком

(D) <- (D)mod(X)

-----+0+

41

1

DIVide

Остаток

FDIV

INH

(X) <- (D)/(X) Без знака

(D) <- (D)mod(X)

-----+++

41

1

DIVide

Остаток

DAA

INH

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

----++++

2

1

Decimal Adjust Accum.

  1. Команды перехода

Мнемоника

Спос

адр.

Содержание

Флаги

SXHINZVC

Цк

Бт

Примечание

Команды безусловного перехода

JMP ad8

DIR

(PC) <- ad8

--------

2

2

JuMP

JMP ad16

EXT

(PC) <- ad16

--------

3

3

JMP of8,X

IX

(PC) <- of8+(X)

--------

3

2

JMP of8,Y

IY

(PC) <- of8+(Y)

--------

4

3

BRA cad

REL

(PC)<-(PC)+rel

--------

3

2

BRanch Always

BRN cad

IMM

Переход к следующей команде

--------

3

2

Branch Never

NOP

INH

Переход к следующей команде

--------

2

1

No OPeration

Команды вызова подпрограмм и обслуживания прерываний

BSR cad

REL

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

(PC) <- (PC)+rel

--------

6

2

Branch to SubRoutine

JSR ad8

DIR

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

(PC) <- ad8

--------

5

2

JuMP To Subroutine

JSR ad16

EXT

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

(PC) <- ad16

--------

6

3

JSR of8,X

IX

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

(PC) <- of8+(X)

--------

6

2

JSR of8,Y

IY

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

(PC) <- of16+(Y)

--------

7

3

SWI

INH

(PC)<-(PC)+1;

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

((SP))<-(YL);(SP)<-(SP)-1;

((SP))<-(YH);(SP)<-(SP)-1;

((SP))<-(XL);(SP)<-(SP)-1;

((SP))<-(XH);(SP)<-(SP)-1;

((SP))<-(A);(SP)<-(SP)-1;

((SP))<-(B);(SP)<-(SP)-1;

((SP))<-(CCR);(SP)<-(SP)-1;

(I)<-1 (Запрет прерываний)

(PC)<-($FFF6):($FFF7) (вектор программного прерывания SWI)

---1----

14

1

SoftWare Interrupt. Регистр H не запоминается для совместимости с HC05

RTI

INH

(SP)<-(SP)+1; (CCR)<-((SP));

(SP)<-(SP)+1; (B)<-((SP));

(SP)<-(SP)+1; (A)<-((SP));

(SP)<-(SP)+1; (XH)<-((SP));

(SP)<-(SP)+1; (XL)<-((SP));

(SP)<-(SP)+1; (YH)<-((SP));

(SP)<-(SP)+1; (YL)<-((SP));

(SP)<-(SP)+1; (PCH)<-((SP));

(SP)<-(SP)+1; (PCL)<-((SP));

(Разрешение прерываний)

+¯++++++

12

1

ReTurn from Interrupt

RTS

INH

(SP)<-(SP)+1; (PCH)<-((SP));

(SP)<-(SP)+1; (PCL)<-((SP));

--------

5

1

ReTurn from Subroutine

Команды условных переходов

по признакам

BCC cad

REL

Если (C)=0, (PC)<-(PC)+rel

--------

3

2

Branch if Carry Clear

BCS cad

REL

Если (C)=1, (PC)<-(PC)+rel

--------

3

2

Branch if Carry Set

BEQ cad

REL

Если (Z)=1, (PC)<-(PC)+rel

--------

3

2

Branch if Equal

BNE cad

REL

Если (Z)=0, (PC)<-(PC)+rel

--------

3

2

Branch if Not Equal

BVC cad

REL

Если (V)=0, (PC)<-(PC)+rel

--------

3

2

Branch if oVerflow Clear

BVS cad

REL

Если (V)=1, (PC)<-(PC)+rel

--------

3

2

Branch if oVerflow Set

при сравнении чисел без знака

BPL cad

REL

Если (Z)=0, (PC)<-(PC)+rel

--------

3

2

Branch if Plus

BMI cad

REL

Если (Z)=1, (PC)<-(PC)+rel

--------

3

2

Branch if Minus

BLO cad

REL

Если (C)=1, (PC)<-(PC)+rel

--------

3

2

Branch if Lower

BLS cad

REL

Если (C)|(Z)=1,

(PC)<-(PC)+rel

--------

3

2

Branch if Lower or Same (BCS)

BHI cad

REL

Если (C)|(Z)=0,

(PC)<-(PC)+rel

--------

3

2

Branch if Higher

BHS cad

REL

Если (C)=0, (PC)<-(PC)+rel

--------

3

2

Branch if Higher or Same (BCC)

при сравнении чисел со знаком

BLT cad

REL

Если (N)Å(V)=1,

(PC)<-(PC)+rel

--------

3

2

Branch if Less Then

BLE cad

REL

Если (Z)|(N)Å(V)=1,

(PC)<-(PC)+rel

--------

3

2

Branch if Less Then or Equal

BGT cad

REL

Если (Z)|(N)Å(V)=0,

(PC)<-(PC)+rel

--------

3

2

Branch if Greater Then

BGE cad

REL

Если (N)Å(V)=0,

(PC)<-(PC)+rel

--------

3

2

Branch if Greater Then or Equal

по значению битов

BRCLR ad8,#d8,cad

DIR

REL

Если (ad8)&d8=0,

(PC)<-(PC)+rel

--------

6

4

BRanch if bits CLeaR

BRCLR of8,X, #d8,cad

IX

REL

Если (of8+(X))&d8=0,

(PC)<-(PC)+rel

--------

7

4

Branch if bits CLeaR

BRCLR of8,Y, #d8,cad

IY

REL

Если (of8+(Y))&d8=0,

(PC)<-(PC)+rel

--------

8

5

BRanch if bits CLeaR

BRSET ad8,#d8,cad

DIR

REL

Если (ad8)&d8=1,

(PC)<-(PC)+rel;

--------

6

4

BRanch if bits Set

BRSET of8,X, #d8,cad

DIR

REL

Если (of8+(X))&d8=1,

(PC)<-(PC)+rel;

--------

7

4

BRanch if bits Set

BRSET of8,Y, #d8,cad

DIR

REL

Если (of8+(Y))&d8=1,

(PC)<-(PC)+rel;

--------

8

5

BRanch if bits Set

  1. Команды управления

Мнемоника

Спос

адр.

Содержание

Флаги

SXHINZVC

Цк

Бт

Примечание

CLC

INH

(C) <- 0

-------0

2

1

CLear C

SEC

INH

(C) <- 1

-------1

2

1

SEt C

CLI

INH

(I) <- 0 - разрешение прерываний, один цикл дополнительная задержка в исполнении для выполнения следующей команды

---0----

1+1

1

Clear I

SEI

INH

(I) <- 1 - запрет прерываний

---1----

1+1

1

SEt I

CLV

INH

(C) <- 0

------0-

2

1

CLear V

SEV

INH

(C) <- 1

------1-

2

1

SEt V

WAIT

INH

(PC)<-(PC)+1;

((SP))<-(PCL);(SP)<-(SP)-1;

((SP))<-(PCH);(SP)<-(SP)-1;

((SP))<-(YL);(SP)<-(SP)-1;

((SP))<-(YH);(SP)<-(SP)-1;

((SP))<-(XL);(SP)<-(SP)-1;

((SP))<-(XH);(SP)<-(SP)-1;

((SP))<-(A);(SP)<-(SP)-1;

((SP))<-(B);(SP)<-(SP)-1;

((SP))<-(CCR);(SP)<-(SP)-1;

Останов процессора до прерывания. Периферийные блоки тактируются

--------

*

1

Сокращает мощность потребления

STOP

INH

(I) <- 0; Останов генератора тактов до прихода внешнего сигнала

--------

2

1

Сокращает мощность потребления

TEST

INH

Счет шины адреса - только в режиме теста

--------

*

1

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