Panasonic MN101C77C, F77G user manual D4 sign-extension D7 sign-extension D11 sign-extension

Models: F77G MN101C77C

1 544
Download 544 pages 59.61 Kb
Page 518
Image 518

Chapter 17 Appendices

MN101C SERIES INSTRUCTION SET

Group

Mnemonic

Operation

 

Flag

CodeCycle

Re-

Exten

 

 

 

 

Machine Code

 

 

 

VF

NF

CF

ZF

Size

 

peat

sion 1

2

3

4

5

6

7

8

9

10 11

Notes

NOT

NOT

Dn

_

0

 

0

 

3

2

 

0010 0010

10Dn

 

 

 

 

 

DnDn=

 

 

 

 

 

 

 

 

ASR

ASR

Dn

Dn.msbtemp,Dn.lsbCF

0

--

 

 

3

2

 

0010 0011

10Dn

 

 

 

 

 

 

 

 

 

Dn>>1Dn,tempDn.msb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LSR

LSR

Dn

Dn.lsbCF,Dn>>1Dn

0

0

 

 

3

2

 

0010 0011

11Dn

 

 

 

 

 

 

 

 

 

0Dn.msb

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ROR

ROR

Dn

Dn.Isbtemp,Dn>>1Dn

0

 

 

 

3

2

 

0010 0010

11Dn

 

 

 

 

 

 

 

 

 

CFDn.msb,tempCF

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bit manipulation instructions

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BSET

BSET (io8)bp

mem8(IOTOP+io8)&bpdata...PSW

0

 

0

 

5

5

 

0011

1000

0bp.

<io8

...>

 

 

 

 

 

 

 

1mem8(IOTOP+io8)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BSET (abs8)bp

mem8(abs8)&bpdata...PSW

0

 

0

 

4

4

 

 

1011

0bp.

<abs

8..>

 

 

 

 

 

 

 

1mem8(abs8)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BSET (abs16)bp

mem8(abs16)&bpdata...PSW

0

 

0

 

7

6

 

0011

1100

0bp.

<abs

16

...>

 

 

 

 

 

1mem8(abs16)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCLR

BCLR (io8)bp

mem8(IOTOP+io8)&bpdata...PSW

0

 

0

 

5

5

 

0011

1000

1bp.

<io8

...>

 

 

 

 

 

 

 

0mem8(IOTOP+io8)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCLR (abs8)bp

mem8(abs8)&bpdata...PSW

0

 

0

 

4

4

 

 

1011

1bp.

<abs

8..>

 

 

 

 

 

 

 

0mem8(abs8)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCLR (abs16)bp

mem8(abs16)&bpdata...PSW

0

 

0

 

7

6

 

0011

1100

1bp.

<abs

16

...>

 

 

 

 

 

0mem8(abs16)bp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BTST

BTST imm8,Dm

Dm&imm8...PSW

0

 

0

 

5

3

 

0010 0000

11Dm <#8.

...>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BTST (abs16)bp

mem8(abs16)&bpdata...PSW

0

 

0

 

7

5

 

0011

1101

0bp.

<abs

16

...>

 

Branch instructions

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bcc

BEQ label

if(ZF=1), PC+3+d4(label)+HPC

--

--

--

--

3

2/3

 

 

1001

000H <d4>

 

 

 

*1

 

 

 

 

if(ZF=0), PC+3PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BEQ label

if(ZF=1), PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1010

<d7.

...H

 

 

*2

 

 

 

 

if(ZF=0), PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BEQ label

if(ZF=1), PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1010

<d11

....

...H

 

*3

 

 

 

 

if(ZF=0), PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BNE label

if(ZF=0), PC+3+d4(label)+HPC

--

--

--

--

3

2/3

 

 

1001

001H <d4>

 

 

 

1

 

 

 

 

if(ZF=1), PC+3PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BNE label

if(ZF=0), PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1011

<d7.

...H

 

 

*2

 

 

 

 

if(ZF=1), PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BNE label

if(ZF=0), PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1011

<d11

....

...H

 

*3

 

 

 

 

if(ZF=1), PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BGE label

if((VF^NF)=0),PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1000

<d7.

...H

 

 

*2

 

 

 

 

if((VF^NF)=1),PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BGE label

if((VF^NF)=0),PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1000

<d11

....

...H

 

*3

 

 

 

 

if((VF^NF)=1),PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCC label

if(CF=0),PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1100

<d7.

...H

 

 

*2

 

 

 

 

if(CF=1), PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCC label

if(CF=0), PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1100

<d11

....

...H

 

*3

 

 

 

 

if(CF=1), PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCS label

if(CF=1),PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1101

<d7.

...H

 

 

*2

 

 

 

 

if(CF=0), PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BCS label

if(CF=1), PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1101

<d11

....

...H

 

*3

 

 

 

 

if(CF=0), PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLT label

if((VF^NF)=1),PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1110

<d7.

...H

 

 

*2

 

 

 

 

if((VF^NF)=0),PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLT label

if((VF^NF)=1),PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1110

<d11

....

...H

 

*3

 

 

 

 

if((VF^NF)=0),PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLE label

if((VF^NF)ZF=1),PC+4+d7(label)+HPC

--

--

--

--

4

2/3

 

 

1000

1111

<d7.

...H

 

 

*2

 

 

 

 

if((VF^NF)ZF=0),PC+4PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BLE label

if((VF^NF)ZF=1),PC+5+d11(label)+HPC

--

--

--

--

5

2/3

 

 

1001

1111

<d11

....

...H

 

*3

 

 

 

 

if((VF^NF)ZF=0),PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BGT label

if((VF^NF)ZF=0),PC+5+d7(label)+HPC

--

--

--

--

5

3/4

 

0010

0010

0001

<d7.

...H

 

 

*2

 

 

 

 

if((VF^NF)ZF=1),PC+5PC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

*1 d4 sign-extension

*2 d7 sign-extension

*3 d11 sign-extension

XVII - 18

Instruction Set

Page 518
Image 518
Panasonic MN101C77C, F77G user manual D4 sign-extension D7 sign-extension D11 sign-extension