Instruction Set Encoding

4.15 Instruction Set Encoding

Instructions

16

15

14

 

13

12

11

10

9

8

7

6

5

4

 

3

 

2

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD An[~], An, {adrs} [, next A]

1

1

1

 

0

~A

next A

An

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD An[~], An[~], imm16 [, next A]

1

1

1

 

0

0

next A

An

0

0

0

0

 

0

 

1

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

imm16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD An[~], An[~], PH [, next A]

1

1

1

 

0

0

next A

An

0

1

1

0

 

1

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD An[~], An~, An [, next A]

1

1

1

 

0

0

next A

An

0

0

1

0

 

1

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD Rx, imm16

1

1

1

 

1

1

1

1

0

0

0

0

0

 

 

Rx

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

imm16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD Rx, R5

1

1

1

 

1

1

1

1

0

0

1

0

0

 

 

Rx

 

 

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADD APn, imm5

1

1

1

 

1

1

0

1

APn

0

1

0

 

 

 

imm5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDB An, imm5

1

0

1

 

0

0

0

0

An

 

 

 

imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDB Rx, imm8

1

0

1

 

1

0

0

k4

k3

k2

k7

k6

k5

 

 

Rx

 

 

k1

k0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDS An[~], An, {adrs}

0

0

0

 

0

~A

1

1

An

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDS An[~], An[~], pma16

1

1

1

 

0

0

1

1

An

0

0

0

0

 

0

 

1

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

pma16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDS An[~], An~, An

1

1

1

 

0

0

1

1

An

0

0

1

0

 

1

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ADDS An[~], An[~], PH

1

1

1

 

0

0

1

1

An

0

1

1

0

 

1

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AND An, {adrs}

0

1

0

 

0

0

1

0

An

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AND An[~], An[~], imm16 [, next A]

1

1

1

 

0

0

next A

An

1

0

1

0

 

0

 

1

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

imm16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AND An[~], An~, An [, next A]

1

1

1

 

0

0

next A

An

0

1

0

1

 

0

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AND TFn, {flagadrs}

1

0

0

 

1

1

flg

Not

1

0

0

 

 

 

flagadrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AND TFn, {cc} [, Rx]

1

0

0

 

1

0

flg

Not

 

 

cc

 

 

 

 

Rx

 

 

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDB An, imm8

1

0

1

 

0

1

0

1

An

 

 

 

imm8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDS An, {adrs}

0

1

0

 

0

0

1

1

An

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDS An[~], An[~], pma16

1

1

1

 

0

0

1

1

An

1

0

1

0

 

0

 

1

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ANDS An[~], An~, An

1

1

1

 

0

0

1

1

An

0

1

0

1

 

0

 

0

A~

~A

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BEGLOOP

1

1

1

 

1

1

1

1

1

0

0

0

0

0

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CALL pma16

1

0

0

 

0

0

1

0

1

0

1

0

1

0

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

pma16

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CALL *An

1

0

0

 

0

1

1

0

An

0

0

0

0

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ccc pma16

1

0

0

 

0

0

1

Not

 

 

cc

 

 

0

 

0

 

0

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

pma16

 

 

 

 

 

 

 

 

 

Assembly Language Instructions

4-189

Page 275
Image 275
Texas Instruments MSP50C6xx manual Instruction Set Encoding, Assembly Language Instructions 189