Renesas Renasas Single-Chip Microcomputer SH7086 Bedienungsanleitung

Stöbern Sie online oder laden Sie Bedienungsanleitung nach Vernetzung Renesas Renasas Single-Chip Microcomputer SH7086 herunter. M16C/60, M16C/20, M16C/Tiny Series Software Manual Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 308
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 0
To our customers,
Old Company Name in Catalogs and Other Documents
On April 1
st
, 2010, NEC Electronics Corporation merged with Renesas Technology
Corporation, and Renesas Electronics Corporation took over all the business of both
companies. Therefore, although the old company name remains in this document, it is a valid
Renesas Electronics document. We appreciate your understanding.
Renesas Electronics website: http://www.renesas.com
April 1
st
, 2010
Renesas Electronics Corporation
Issued by: Renesas Electronics Corporation (http://www.renesas.com)
Send any inquiries to http://www.renesas.com/inquiry
.
Seitenansicht 0
1 2 3 4 5 6 ... 307 308

Inhaltsverzeichnis

Seite 1 - To our customers

To our customers, Old Company Name in Catalogs and Other Documents On April 1st, 2010, NEC Electronics Corporation merged with Renesas Technology C

Seite 2

Quick Reference-2MOVDir MOVHH MOVHL MOVLH MOVLLMULMULUNEGNOPNOTORPOPPOPCPOPMPUSHPUSHAPUSHCPUSHMREITRMPAROLCRORC 96 97 98 9910010110310

Seite 3 - M16C/60, M16C/20, M16C/Tiny

82Chapter 3 Functions3.2 Functions[ Operation ]When jump distance specifier (.length) is (.W) When jump distance specifier (.length) is (.A)PC

Seite 4

83Chapter 3 Functions3.2 FunctionsJuMP Special pageJump to special page[ Syntax ]JMPS srcJMPS JMPS[ Operation ]PCH 0F16PCML M( FFFFE16 – src

Seite 5 - Using This Manual

84Chapter 3 Functions3.2 FunctionsJump SubRoutineSubroutine call[ Syntax ]JSR(.length) label[ Flag Change ][ Description Example ][ Related Instruc

Seite 6 - M16C Family Documents

85Chapter 3 Functions3.2 FunctionsUIOBSZDCIndirect subroutine call[ Related Instructions ] JSR,JSRSW , AJump SubRoutine IndirectJSRI190[ Instructio

Seite 7 - Table of Contents

86Chapter 3 Functions3.2 FunctionsJump SubRoutine Special pageSpecial page subroutine callJSRS JSRS[ Syntax ]JSRS src[ Function ]• This instruction

Seite 8

87Chapter 3 Functions3.2 FunctionsLoaD Control registerTransfer to control register[ Flag Change ][ Description Example ][ Related Instructions ] P

Seite 9 - Quick Reference-1

88Chapter 3 Functions3.2 FunctionsRegister information for the task whose task number = 0. (See the above diagram.)SP correction value for the tas

Seite 10 - Quick Reference-2

89Chapter 3 Functions3.2 FunctionsLoaD from EXtra far data areaTransfer from extended data area[ Flag Change ][ Description Example ][ Related Inst

Seite 11 - Quick Reference by Function

90Chapter 3 Functions3.2 FunctionsLoaD INTB registerTransfer to INTB register[ Flag Change ][ Description Example ][ Related Instructions ] LDC,STC

Seite 12 - Quick Reference-4

91Chapter 3 Functions3.2 FunctionsLoaD Interrupt Permission LevelSet interrupt enable level[ Syntax ]LDIPL src[ Flag Change ][ Description Example

Seite 13 - Quick Reference-5

Quick Reference-3MOV TransferMOVA Transfer effective addressMOVDir Transfer 4-bit dataPOP Restore register/memoryPOPM Restore multiple registersPUSH S

Seite 14 - Quick Reference-6

923.2 FunctionsChapter 3 FunctionsMOVeTransfer[ Related Instructions ] LDE,STE,XCHG[ Description Example ][ Selectable src/dest ][ Function ]MOV MOV

Seite 15 - Quick Reference-7

933.2 FunctionsChapter 3 Functions[src/dest Classified by Format]G formatsrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0*1A1/A1

Seite 16 - Quick Reference-8

943.2 FunctionsChapter 3 FunctionsMOVe effective AddressTransfer effective address[ Flag Change ][ Description Example ][ Related Instructions ] PUS

Seite 17 - Quick Reference-9

953.2 FunctionsChapter 3 FunctionsMOVe nibbleTransfer 4-bit dataMOVDirMOVDir[ Operation ][ Syntax ]MOVDirsrc,dest[ Description Example ]DirOperation

Seite 18 - Quick Reference-10

963.2 FunctionsChapter 3 FunctionsMULtipleSigned multiply[ Syntax ]MUL.size src,dest[ Description Example ][ Related Instructions ] DIV,DIVU,DIVX,MU

Seite 19 - Overview

973.2 FunctionsChapter 3 Functionssrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0*1A1/A1*1[A0] [A1] A0/A0*1A1/A1 [A0] [A1]dsp:8

Seite 20 - 1.1.2 Speed performance

983.2 FunctionsChapter 3 FunctionsNEGateTwo’s complement[ Syntax ]NEG.size dest[ Flag Change ][ Description Example ][ Related Instructions ] NOT[ F

Seite 21 - 1.2 Address Space

993.2 FunctionsChapter 3 Functions No OPerationNo operation[ Flag Change ][ Description Example ]NOP[ Function ]NOP NOP[ Syntax ]NOP• This instructi

Seite 22 - 1.3 Register Configuration

1003.2 FunctionsChapter 3 FunctionsNOTInvert all bits[ Related Instructions ] NEGNOT NOT[ Operation ]________dest dest[ Function ]• This in

Seite 23

101Chapter 3 Functions3.2 Functions[ Instruction Code/Number of Cycles ]Page=ORLogically OR[ Description Example ]OR.B Ram:8[SB],R0LOR.B:G A0,R0L ;

Seite 24 - 1.4 Flag Register (FLG)

Quick Reference-4116DADD Decimal add without carryDEC DecrementDIV Signed divideDIVU Unsigned divideDIVX Singed divideDSBB Decimal subtract with borro

Seite 25 - 1.4.11 Bit 15: Reserved area

102Chapter 3 Functions3.2 Functions[src/dest Classified by Format]G formatsrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0*1A1

Seite 26 - 1.5 Register Bank

103Chapter 3 Functions3.2 FunctionsPOPRestore register/memory[ Flag Change ]POP.B R0LPOP.W A0[ Related Instructions ] PUSH,POPM,PUSHM[ Selectable d

Seite 27

104Chapter 3 Functions3.2 FunctionsPOP Control registerRestore control register[ Flag Change ][ Description Example ][ Related Instructions ] PUSH

Seite 28 - 1.7 Data Types

105Chapter 3 Functions3.2 FunctionsPOP MultipleRestore multiple registers[ Description Example ][ Related Instructions ] POP,PUSH,PUSHM[ Selectable

Seite 29 - 1.7.2 Decimal

106Chapter 3 Functions3.2 FunctionsPUSHSave register/memory/immediate data[ Flag Change ][ Description Example ][ Related Instructions ] POP,POPM,

Seite 30 - 1.7.3 Bits

107Chapter 3 Functions3.2 FunctionsPUSH effective AddressSave effective address [ Flag Change ][ Description Example ][ Related Instructions ] MOV

Seite 31

108Chapter 3 Functions3.2 FunctionsPUSH Control registerSave control register[ Syntax ]PUSHC src[ Flag Change ][ Description Example ]PUSHC SB[ Re

Seite 32

109Chapter 3 Functions3.2 FunctionsPUSH MultipleSave multiple registers[ Syntax ]PUSHM src[ Description Example ][ Related Instructions ] POP,PUSH,

Seite 33 - 1.7.4 String

110Chapter 3 Functions3.2 FunctionsREturn from InTerruptReturn from interrupt[ Syntax ]REIT[ Flag Change ][ Description Example ][ Function ]REIT

Seite 34 - 1.8 Data Arrangement

1113.2 FunctionsChapter 3 FunctionsRepeat MultiPle & AdditionCalculate sum-of-products[ Description Example ]RMPA RMPA[ Syntax ]RMPA.sizeB , W

Seite 35

Quick Reference-5Other132133LDCTX Restore contextLDINTB Transfer to INTB registerLDIPL Set interrupt enable levelNOP No operationPOPC Restore control

Seite 36 - 1.9 Instruction Format

1123.2 FunctionsChapter 3 FunctionsROtate to Left with CarryRotate left with carryC[ Description Example ][ Related Instructions ] RORC,ROT,SHA,SH

Seite 37 - 1.10 Vector Table

1133.2 FunctionsChapter 3 FunctionsROtate to Right with CarryRotate right with carry[ Syntax ]RORC.size dest[ Flag Change ][ Related Instructions

Seite 38 - 1.10.2 Variable Vector Table

1143.2 FunctionsChapter 3 FunctionsROTateRotate[ Related Instructions ] ROLC,RORC,SHA,SHLROT ROT[ Syntax ]ROT.size src,destB , W• This instruction

Seite 39 - Addressing Modes

1153.2 FunctionsChapter 3 FunctionsReTurn from SubroutineReturn from subroutine[ Flag Change ][ Description Example ]RTSRTS RTS[ Syntax ]RTS[ Oper

Seite 40 - 2.1 Addressing Modes

1163.2 FunctionsChapter 3 FunctionsSuBtract with BorrowSubtract with borrow[ Syntax ]SBB.size src,dest[ Operation ]___dest dest – s

Seite 41 - 2.2 Guide to This Chapter

1173.2 FunctionsChapter 3 FunctionsSuBtract then Jump on Not ZeroSubtract & conditional jump[ Selectable src/dest/label ][ Related Instruction

Seite 42 - Chapter 2 Addressing Modes

1183.2 FunctionsChapter 3 FunctionsSHift ArithmeticShift arithmetic[ Syntax ]SHA.size src,dest[ Related Instructions ] ROLC,RORC,ROT,SHLSHAB , W ,

Seite 43

1193.2 FunctionsChapter 3 FunctionsSHift LogicalShift logical[ Syntax ]SHL.size src,dest[ Related Instructions ] ROLC,RORC,ROT,SHASHL SHLB , W , L

Seite 44

1203.2 FunctionsChapter 3 FunctionsString MOVe Backward Transfer string backward[ Syntax ]SMOVB.size[ Description Example ]SMOVB.B[ Related Instru

Seite 45

1213.2 FunctionsChapter 3 FunctionsString MOVe ForwardTransfer string forward[ Syntax ]SMOVF.size[ Description Example ][ Related Instructions ] S

Seite 46

Quick Reference-6R0L/R0R0H/R1R1L/R2R1H/R3An[An]dsp:8[An]dsp:8[SB/FB]dsp:16[An]dsp:16[SB]abs16#IMM8#IMM16#IMM20#IMMSee pagefor functionSee page forinst

Seite 47

122Chapter 3 Functions3.2 FunctionsString SToReStore string[ Function ][ Flag Change ][ Description Example ]SSTR.B[ Related Instructions ] SMOVB,

Seite 48

123Chapter 3 Functions3.2 FunctionsTransfer from control registerSTore from Control register[ Syntax ]STC src,dest[ Description Example ][ Related

Seite 49

124Chapter 3 Functions3.2 FunctionsSTore ConTeXtSave contextSTCTX Ram,Rom_TBL[ Related Instructions ] LDCTX[ Flag Change ]STCTX STCTX[ Syntax ]STC

Seite 50

125Chapter 3 Functions3.2 FunctionsSTore to EXtra far data areaTransfer to extended data area[ Flag Change ][ Description Example ]STE.B R0L,[A1A0

Seite 51 - Functions

126Chapter 3 Functions3.2 FunctionsSTore on Not ZeroConditional transfer[ Function ][ Flag Change ][ Description Example ][ Related Instructions ]

Seite 52 - 3.1 Guide to This Chapter

127Chapter 3 Functions3.2 FunctionsSTore on ZeroConditional transfer[ Syntax ]STZ src,dest[ Function ][ Flag Change ]• This instruction transfers

Seite 53 - (3) Syntax

128Chapter 3 Functions3.2 Functions[ Instruction Code/Number of Cycles ]Page=STore on Zero eXtentionConditional transfer[ Syntax ]STZX src1,src2,d

Seite 54

129Chapter 3 Functions3.2 Functions[ Selectable src/dest ]SUBtractSubtract without borrow[ Syntax ]SUB.size (:format) src,dest[ Operation ]dest

Seite 55

130Chapter 3 Functions3.2 Functions[src/dest Classified by Format]G formatsrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0*1A1

Seite 56 - Unconditional jump

131Chapter 3 Functions3.2 FunctionsTeSTTest[ Syntax ]TST.size src,dest[ Description Example ]TST.B #3,R0LTST.B A0,R0L ; A0's 8 low-order bits

Seite 57 - Absolute value

Quick Reference-7LDINTBLDIPLMOV*1MOVAMOVDirMULMULUNEGNOTORPOPPOPM*1PUSHPUSHAPUSHM*1ROLCRORCROTSBBSBJNZ*1SHA*1SHL*1STC*1STCTX*1STE*1R0L/R0R0H/R1R1L/R2R

Seite 58 - Add with carry

132Chapter 3 Functions3.2 FunctionsUNDefined instructionInterrupt for undefined instruction[ Syntax ]UND[ Flag Change ][ Description Example ]UND

Seite 59 - ADCF ADCF

133Chapter 3 Functions3.2 FunctionsWAITWait[ Syntax ]WAIT[ Flag Change ][ Description Example ][ Function ]WAIT WAIT• This instruction halts progr

Seite 60 - Add without carry

134Chapter 3 Functions3.2 FunctionseXCHanGeExchange[ Flag Change ][ Description Example ][ Function ][ Selectable src/dest ]XCHG XCHG[ Syntax ]XCH

Seite 61

135Chapter 3 Functions3.2 FunctionseXclusive ORExclusive OR[ Syntax ]XOR.size src,dest[ Flag Change ][ Selectable src/dest ][ Description Example

Seite 62 - ADJNZ ADJNZ

136Chapter 3 Functions3.2 Functions

Seite 63 - Logically AND

Chapter 4Instruction Code/Number of Cycles4.1 Guide to This Chapter4.2 Instruction Code/Number of Cycles

Seite 64

138Chapter 4 Instruction Code4.1 Guide to This Chapter4.1 Guide to This ChapterThis chapter describes instruction code and number of cycles for ea

Seite 65 - BAND BAND

139Chapter 4 Instruction Code4.1 Guide to This Chapter(1) MnemonicShows the mnemonic explained in this page.(2) SyntaxShows an instruction syntax

Seite 66 - Clear bit

140Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesABS(1) ABS.size destdest codedsp8)dsp16/abs16.size.B.WSIZE01dsp

Seite 67 - Bit Move Condition

141Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cyclesdsp8dest codedsp16/abs16)src codedsp8)dsp16/abs16SRC/DESTsrc/de

Seite 68 - Logically AND inverted bits

Quick Reference-8R0L/R0R0H/R1R1L/R2R1H/R3An[An]dsp:8[An]dsp:8[SB/FB]dsp:16[An]dsp:16[SB]abs16#IMM8#IMM16#IMM20#IMMSTNZSTZSTZXSUBTSTXCHGXOR134135126127

Seite 69 - BNOR BNOR

142Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADCF(1) ADCF.size destdest codedsp8)dsp16/abs16.size.B.WSIZE01d

Seite 70 - BNOTBNOT

143Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADD(2) ADD.size:Q #IMM, destdest codedsp8)dsp16/abs16.size.B.WS

Seite 71 - BNTST BNTST

144Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADDRndsp:8[SB/FB]011100101110111R0HR0Ldsp:8[SB]dsp:8[FB]abs16ab

Seite 72 - Exclusive OR inverted bits

145Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADD(4) ADD.size:G src, dest1010000SIZESRC DESTdsp8dest codedsp1

Seite 73 - Logically OR bits

146Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles3/2[ Number of Bytes/Number of Cycles ]ADD#IMM8#IMM16.size.B.WS

Seite 74 - Debug interrupt

147Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADD(7) ADD.size:Q #IMM, SP[ Number of Bytes/Number of Cycles ]2

Seite 75 - BSET BSET

148Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesADJNZ1111100SIZEIMM4 DEST(1) ADJNZ.size #IMM, dest, labeldest c

Seite 76 - BTST BTST

149Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesAND0111011SIZE0 0 1 0 DEST(1) AND.size:G #IMM, destdest codedsp

Seite 77 - BTSTC BTSTC

150Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(AND(3) AND.size:G src, dest1001000SIZESRC DESTdsp8dsp16/abs16)

Seite 78 - BTSTS BTSTS

151Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(4) AND.B:S src, R0L/R0Hsrc codedsp8)abs16dsp:8[SB/FB]2/3Rn1/2a

Seite 79 - Exclusive OR bits

Quick Reference-9ADD*1ADJNZ*1JCndJMPJMPI*1JSRJSRI*1LDC*1LDCTXLDE*1MOV*1POPCPOPM*1PUSHCPUSHM*1SBJNZ*1SHA*1SHL*1STC*1STCTX*1STE*1dsp:20[A0]dsp:20[A1]abs

Seite 80 - Compare

152Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBAND011111100100 SRC(1) BAND srcsrc codedsp8dsp16)[ Number of B

Seite 81

153Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(2) BCLR:S bit, base:11[SB]BCLRdsp8dest code[ Number of Bytes/N

Seite 82 - DADC DADC

154Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBMCnddest4/7bit,base:8[SB/FB]4/104/64/6bit,Rn bit,An [An]bit,ba

Seite 83 - DADD DADD

155Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBMCnd011111011101 CND2/1BNAND(1) BNAND srcsrc codedsp8dsp16[ Nu

Seite 84 - Decrement

156Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBNOR011111100111 SRC(1) BNOR srcsrc codedsp8dsp16)[ Number of B

Seite 85 - Signed divide

157Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBNOT(2) BNOT:S bit, base:11[SB]dest codedsp8[ Number of Bytes/N

Seite 86 - DIVU DIVU

158Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(1) BNXOR srcsrc codedsp8dsp16)[ Number of Bytes/Number of Cycl

Seite 87 - DIVX DIVX

159Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBRK(1) BRK00000000[ Number of Bytes/Number of Cycles ]1/27(1) B

Seite 88 - DSBB DSBB

160Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(2) BSET:S bit, base:11[SB]dsp8dest code0 1 0 0 1 BIT[ Number o

Seite 89 - DSUB DSUB

161Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cyclesdest codedsp8dsp16)BTST(2) BTST:S bit, base:11[SB]0 1 0 1 1 BIT

Seite 90 - ENTER ENTER

Quick Reference-10BANDBCLRBMCndBNANDBNORBNOTBNTSTBNXORBORBSETBTSTBTSTCBTSTSBXORFCLRFSETbit,Rnbit,An[An]base:8[An]bit,base:8[SB/FB]base:16[An]bit,base:

Seite 91 - EXITD EXITD

162Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesBTSTS0 1 1 1 1 1 1 0 0 0 0 1 DEST(1) BTSTS destdest codedsp8dsp

Seite 92 - EXTS EXTS

163Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesCMP0111011SIZE1 0 0 0 DEST(1) CMP.size:G #IMM, destdest codedsp

Seite 93 - Clear flag register bit

164Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesCMP(2) CMP.size:Q #IMM, destdest codedsp8)dsp16/abs16 0+1+2+3+

Seite 94 - FSET FSET

165Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesCMP[ Number of Bytes/Number of Cycles ]dsp:8[SB/FB]3/3Rn2/1abs1

Seite 95 - Increment

166Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesCMP1100000SIZESRC DEST(4) CMP.size:G src, destdsp8dest codedsp1

Seite 96 - Interrupt by INT instruction

167Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(5) CMP.B:S src, R0L/R0HCMPsrc codedsp8)abs16DADC01111100111011

Seite 97 - INTO INTO

168Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDADC(2) DADC.W #IMM16, R0[ Number of Bytes/Number of Cycles ]4/

Seite 98 - Jump on condition

169Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDADC(4) DADC.W R1, R0[ Number of Bytes/Number of Cycles ]2/5DAD

Seite 99 - Unconditional jump

170Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDADD(2) DADD.W #IMM16, R0#IMM16[ Number of Bytes/Number of Cycl

Seite 100 - JMPI JMPI

171Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDADD(4) DADD.W R1, R0[ Number of Bytes/Number of Cycles ]2/5DEC

Seite 101 - JMPS JMPS

Chapter 1Overview1.1 Features of M16C/60, M16C/20, M16C/Tiny series1.2 Address Space1.3 Register Configuration1.4 Flag Register (FLG)1.5 Register

Seite 102 - Subroutine call

172Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDEC(2) DEC.W dest[ Number of Bytes/Number of Cycles ]1/1DIV(1)

Seite 103 - Indirect subroutine call

173Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDIV(2) DIV.size srcdsp8src codedsp16/abs16)srcdsp:8[A0]dsp:8[A1

Seite 104 - JSRS JSRS

174Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDIVU0111011SIZE1 1 0 0 SRC(2) DIVU.size srcdsp8src codedsp16/ab

Seite 105 - Transfer to control register

175Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDIVX(2) DIVX.size srcdsp8src codedsp16/abs16)srcdsp:8[A0]dsp:8[

Seite 106 - LDCTX LDCTX

176Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDSBB(2) DSBB.W #IMM16, R0#IMM16[ Number of Bytes/Number of Cycl

Seite 107 - LoaD from EXtra far data area

177Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDSBB(4) DSBB.W R1, R0[ Number of Bytes/Number of Cycles ]2/4DSU

Seite 108 - LDINTB LDINTB

178Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDSUB(2) DSUB.W #IMM16, R0#IMM16[ Number of Bytes/Number of Cycl

Seite 109 - LDIPL LDIPL

179Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesDSUB(4) DSUB.W R1, R0[ Number of Bytes/Number of Cycles ]2/4(1)

Seite 110 - Transfer

180Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesEXITD(1) EXITD[ Number of Bytes/Number of Cycles ]2/9EXTS(1) EX

Seite 111 - Chapter 3 Functions

181Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesEXTS(2) EXTS.W R0[ Number of Bytes/Number of Cycles ]2/3[ Numbe

Seite 112 - MOVA MOVA

Notice 1. All information included in this document is current as of the date this document is issued. Such information, however, is subject to chang

Seite 113 - Transfer 4-bit data

2Chapter 1 Overview1.1 Features of M16C/60, M16C/20, M16C/Tiny seriesThe M16C/60, M16C/20, M16C/Tiny series are single-chip microcomputer developed f

Seite 114 - Signed multiply

182Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesFSET(1) FSET dest[ Number of Bytes/Number of Cycles ]2/2INC(1)

Seite 115 - MULU MULU

183Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesINC(2) INC.W destINT(1) INT #IMM11[ Number of Bytes/Number of C

Seite 116 - Two’s complement

184Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesINTO(1) INTO[ Number of Bytes/Number of Cycles ]1/1JCnd(1) JCnd

Seite 117 - No operation

185Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesJCnd(2) JCndlabeldsp8label code3/2[ Number of Bytes/Number of C

Seite 118 - ________

186Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesJMP(2) JMP.B labellabel code[ Number of Bytes/Number of Cycles

Seite 119 - Logically OR

187Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles[ Number of Bytes/Number of Cycles ]4/4(1) JMPI.W srcsrcdsp:8[A

Seite 120

188Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesJMPI(2) JMPI.A srcJMPS(1) JMPS #IMM8#IMM8[ Number of Bytes/Numb

Seite 121 - Restore register/memory

189Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesJSR(1) JSR.W labeldsp16 = address indicated by label – (start a

Seite 122 - POPC POPC

190Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(1) JSRI.W src(2) JSRI.A srcsrcdsp:8[A0]dsp:8[A1]dsp:8[SB]dsp:8

Seite 123 - POPM POPM

191Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesJSRS(1) JSRS #IMM8#IMM8[ Number of Bytes/Number of Cycles ]2/13

Seite 124 - PUSH PUSH

3Chapter 1 OverviewThe SFR area in eachmodel extends towardlower-address locationsas much as available.The RAM area in eachmodel extends towardhigher-

Seite 125 - PUSHA PUSHA

192Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesLDC(2) LDC src, destdsp8src codedsp16/abs16)[ Number of Bytes/N

Seite 126 - PUSHC PUSHC

193Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesLDE(1) LDE.size abs20, destdestdsp:8[A0]dsp:8[A1]dsp:8[SB]dsp:8

Seite 127 - PUSHM PUSHM

194Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesLDE(3) LDE.size [A1A0], destdest codedsp8)dsp16/abs16destdsp:8[

Seite 128 - REIT REIT

195Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(1) LDIPL #IMM[ Number of Bytes/Number of Cycles ]2/2(1) MOV.si

Seite 129 - RMPA RMPA

196Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOV1101100SIZEIMM4 DEST(2) MOV.size:Q #IMM, destdest codedsp8)d

Seite 130 - ROLC ROLC

197Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOVdsp:8[SB/FB]3/2Rn2/1abs164/2dest[ Number of Bytes/Number of

Seite 131 - RORC RORC

198Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOV(4) MOV.size:S #IMM, dest#IMM8#IMM16.size.B.WSIZE10DESTdestA

Seite 132

199Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(MOV(6) MOV.size:G src, destdsp8dest codedsp16/abs16)src codeds

Seite 133 - Return from subroutine

200Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOV(7) MOV.B:S src, destsrc codedsp8)abs16DESTdestA0A101MOV(8)

Seite 134 - Subtract with borrow

201Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOV(9) MOV.B:S src, R0L/R0Hsrc codedsp8)abs16MOV(10) MOV.size:G

Seite 135 - SBJNZ SBJNZ

4Chapter 1 Overview1.3 Register Configuration1.3 Register ConfigurationThe central processing unit (CPU) contains the 13 registers shown in Figure 1

Seite 136 - Shift arithmetic

202Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOVMOVA(11) MOV.size:G src, dsp:8[SP]dest codedsp8)dsp8src code

Seite 137 - Shift logical

203Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOVDir(1) MOVDirR0L, destdest codedsp8)dsp16/abs16b7 b0 b7 b00

Seite 138 - SMOVB SMOVB

204Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMOVDir(2) MOVDirsrc, R0Ldest codedsp8)dsp16/abs16b7 b0 b7 b0011

Seite 139 - SMOVF SMOVF

205Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMUL(1) MUL.size #IMM, destdest codedsp8dsp16/abs16)#IMM8#IMM16D

Seite 140 - SSTR SSTR

206Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(MUL(2) MUL.size src, destdsp8dest codedsp16/abs16)src codedsp8

Seite 141 - STore from Control register

207Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesMULU(1) MULU.size #IMM, dest.size.B.WSIZE01DESTdestdsp:8[A0]dsp

Seite 142 - STCTX STCTX

208Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(MULU(2) MULU.size src, destdsp8dest codedsp16/abs16)src codeds

Seite 143 - STore to EXtra far data area

209Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesNEG(1) NEG.size destdest codedsp8)dsp16/abs16destdsp:8[A0]dsp:8

Seite 144 - STNZ STNZ

210Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(2) NOT.B:S destNOTdest codedsp8)abs16NOT(1) NOT.size:G destdes

Seite 145 - Conditional transfer

211Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesOR(1) OR.size:G #IMM, destdest codedsp8)dsp16/abs16#IMM8#IMM16d

Seite 146 - STZX STZX

5Chapter 1 Overview1.3.2 Address registers (A0 and A1)The address registers (A0 and A1) consist of 16 bits, and have the similar functions as the dat

Seite 147 - Subtract without borrow

212Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(OR(3) OR.size:G src, destdsp8dest codedsp16/abs16)src codedsp8

Seite 148

213Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesOR(4) OR.B:S src, R0L/R0Hdest codedsp8)abs16POP(1) POP.size:G d

Seite 149

214Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(2) POP.B:S dest1/3POP(3) POP.W:S dest1/3[ Number of Bytes/Numb

Seite 150 - UNDefined instruction

215Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesPOPC(1) POPC destPOPM(1) POPM destDESTdest DEST000001010011---I

Seite 151 - WAIT WAIT

216Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesPUSH(1) PUSH.size:G #IMM#IMM8#IMM16.size.B.WSIZE013/2(2) PUSH.s

Seite 152 - XCHG XCHG

217Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesPUSH(3) PUSH.B:S src1/2[ Number of Bytes/Number of Cycles ]PUSH

Seite 153 - Exclusive OR

218Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesPUSHA(1 ) PUSHA srcdsp8src codedsp16/abs16)[ Number of Bytes/Nu

Seite 154

219Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesPUSHM[ Number of Bytes/Number of Cycles ](1) PUSHM srcSRC2/2

Seite 155 - Chapter 4

220Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles*1 m denotes the number of operation performed.*2 If the size s

Seite 156 - 4.1 Guide to This Chapter

221Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesRORC(1) RORC.size destdest codedsp8)dsp16/abs16destdsp:8[A0]dsp

Seite 157 - (4) Table of cycles

6Chapter 1 Overview1.4 Flag Register (FLG)Figure 1.4.1 shows a configuration of the flag register (FLG). The function of each flag is detailed below

Seite 158 - (1) ADC.size #IMM, dest

222Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesROT(1) ROT.size #IMM, destdest codedsp8)dsp16/abs16100010011010

Seite 159 - (2) ADC.size src, dest

223Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesROT(2) ROT.size R1H, destdest codedsp8)dsp16/abs16DESTdestdsp:8

Seite 160 - (1) ADD.size:G #IMM, dest

224Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSBB(1) SBB.size #IMM, destdest codedsp8)dsp16/abs16#IMM8#IMM16d

Seite 161 - (2) ADD.size:Q #IMM, dest

225Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(SBB(2) SBB.size src, destdsp8dest codedsp16/abs16)src codedsp8

Seite 162 - (3) ADD.B:S #IMM8, dest

226Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSBJNZ(1) SBJNZ.size #IMM, dest, label1111100SIZEIMM4 DESTlabel

Seite 163 - (4) ADD.size:G src, dest

227Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHA(1) SHA.size #IMM, dest1111000SIZEIMM4 DESTdest codedsp8)dsp

Seite 164 - (5) ADD.B:S src, R0L/R0H

228Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHA0111010SIZE1 1 1 1 DEST(2) SHA.size R1H, destdest codedsp8)d

Seite 165 - (7) ADD.size:Q #IMM, SP

229Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHA(4) SHA.L R1H, dest2/4+m[ Number of Bytes/Number of Cycles ]

Seite 166

230Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHL(1) SHL.size #IMM, destdest codedsp8)dsp16/abs16100010011010

Seite 167 - (2) AND.B:S #IMM8, dest

231Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHL(2) SHL.size R1H, destdest codedsp8)dsp16/abs16DESTdestdsp:8

Seite 168 - (3) AND.size:G src, dest

7Chapter 1 Overview1.4 Flag Register (FLG)Figure 1.4.1 Configuration of flag register (FLG)IPL U I O B S Z D Cb15 b0Carry flagDebug flagZero flagSig

Seite 169 - (4) AND.B:S src, R0L/R0H

232Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSHL(4) SHL.L R1H, dest2/4+m[ Number of Bytes/Number of Cycles ]

Seite 170 - (1) BCLR:G dest

233Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles0111110SIZE11101000SMOVF.size.B.WSIZE012/5+5 m[ Number of By

Seite 171 - (2) BCLR:S bit, base:11[SB]

234Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSTC0 1 1 1 1 0 1 1 1 SRC DEST(1) STC src, destdest Codedsp8)dsp

Seite 172

235Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSTCTXabs16[ Number of Bytes/Number of Cycles ]7/11+2 mSTE(1)

Seite 173 - (1) BNAND src

236Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(2) STE.size src, dsp:20[A0]STEdsp8src codedsp16/abs16)srcdsp:8

Seite 174 - (1) BNOT:G dest

237Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSTNZ(1) STNZ #IMM8, destdsp:8[SB/FB]3/2Rn2/1abs164/2destBytes/C

Seite 175 - (1) BNTST src

238Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSTZX(1) STZX #IMM81, #IMM82, dest1 1 0 1 1 DEST[ Number of Byte

Seite 176 - (1) BOR src

239Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSUB(2) SUB.B:S #IMM8, destdsp:8[SB/FB]3/3Rn2/1abs164/3destRndsp

Seite 177 - (1) BSET:G dest

240Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(SUB(3) SUB.size:G src, destdsp8dest codedsp16/abs16)src codeds

Seite 178 - (1) BTST:G src

241Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesSUB(4) SUB.B:S src, R0L/R0Hdest codedsp8)abs16dsp:8[SB/FB]2/3Rn

Seite 179 - (1) BTSTC dest

8Chapter 1 Overview1.5 Register BankR0 H Lb15 b8b7 b0R3A0A1FBR1 H LR2R0 H Lb15 b8b7 b0R3A0A1FBR1 H LR2Register bank 0 (B flag = 0) Register bank 1 (

Seite 180 - (1) BXOR src

242Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesTST(2) TST.size src, destdsp8dest codedsp16/abs16)src codedsp8)

Seite 181 - (1) CMP.size:G #IMM, dest

243Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of Cycles(1) UNDUND[ Number of Bytes/Number of Cycles ]1/20Bytes/Cycles(

Seite 182 - (2) CMP.size:Q #IMM, dest

244Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesXCHG(1) XCHG.size src, destdest codedsp8)dsp16/abs16.size.B.WSI

Seite 183 - (3) CMP.B:S #IMM8, dest

245Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesXOR(1) XOR.size #IMM, destdest codedsp8)dsp16/abs16#IMM8#IMM16d

Seite 184 - (4) CMP.size:G src, dest

246Chapter 4 Instruction Code/Number of Cycles4.2 Instruction Code/Number of CyclesXOR(2) XOR.size src, dest1000100SIZESRC DESTdsp8dest codedsp16/

Seite 185 - (1) DADC.B #IMM8, R0L

Chapter 5Interrupt5.1 Outline of Interrupt5.2 Interrupt Control5.3 Interrupt Sequence5.4 Return from Interrupt Routine5.5 Interrupt Priority5.6

Seite 186 - (3) DADC.B R0H, R0L

248Chapter 5 InterruptUndefined instruction (UND instruc-tion)Overflow (INTO instruction)BRK instructionINT instructionRemarksInterrupt generated by

Seite 187 - (1) DADD.B #IMM8, R0L

249Chapter 5 Interrupt5.1.2 Software InterruptsSoftware interrupts are generated by some instruction that generates an interrupt request when ex-ec

Seite 188 - (3) DADD.B R0H, R0L

250Chapter 5 Interrupt5.1.3 Hardware InterruptsThere are Two types in hardware Interrupts; special interrupts and Peripherai I/O interrupts.(1) Sp

Seite 189 - (1) DEC.B dest

251Chapter 5 InterruptFSET ITime5.2 Interrupt ControlThe following explains how to enable/disable maskable interrupts and set acknowledge priority.

Seite 190 - (1) DIV.size #IMM

9Chapter 1 Overview1.6 Internal State after Reset is Cleared1.6 Internal State after Reset is ClearedThe following lists the content of each registe

Seite 191 - (1) DIVU.size #IMM

252Chapter 5 InterruptWhen the processor interrupt priority level (IPL) or the interrupt priority level of some interrupt ischanged, the altered lev

Seite 192 - (1) DIVX.size #IMM

253Chapter 5 Interrupt5.2 Interrupt ControlExample 1:Using the NOP instruction to keep the program waiting until the interrupt control register is

Seite 193 - (1) DSBB.B #IMM8, R0L

254Chapter 5 Interrupt5.3 Interrupt SequenceAn interrupt sequence — what are performed over a period from the instant an interrupt is accepted to t

Seite 194 - (3) DSBB.B R0H, R0L

255Chapter 5 Interrupt5.3.1 Interrupt Response TimeThe interrupt response time means a period of time from when an interrupt request is generated t

Seite 195 - (1) DSUB.B #IMM8, R0L

256Chapter 5 InterruptValue that is set to IPL70Not changed5.3.2 Changes of IPL When Interrupt Request AcknowledgedWhen an interrupt request is ack

Seite 196 - (3) DSUB.B R0H, R0L

257Chapter 5 InterruptThe register save operation performed in an interrupt sequence differs depending on whether the con-tent of the stack pointer

Seite 197 - (1) ENTER #IMM8

258Chapter 5 Interrupt5.4 Return from Interrupt RoutineAs you execute the REIT instruction at the end of the interrupt routine, the contents of the

Seite 198 - (1) EXTS.B dest

259Chapter 5 Interrupt5.5 Interrupt PriorityIf two or more interrupt requests are sampled active at the same time, whichever interrupt request is a

Seite 199 - (1) FCLR dest

260Chapter 5 Interrupt5.6 Multiple InterruptsThe following shows the internal bit states when control has branched to an interrupt routine:• The i

Seite 200 - (1) INC.B dest

261Chapter 5 InterruptI = 0IPL = 0I = 1I = 0IPL = 3I = 1I = 0IPL = 5REITI = 1IPL = 3REITI = 1IPL = 0I = 0IPL = 2REITI = 1IPL = 0Interrupt priority l

Seite 201 - (1) INT #IMM

10Chapter 1 Overview1.7 Data Typesb7 b0b7 b0 Sb15 b0 SSigned byte (8 bit) integerUnsigned byte (8 bit) integerSigned word (16 bit) integerUnsigned wo

Seite 202 - (1) INTO

262Chapter 5 Interrupt5.7 Precautions for Interrupts5.7.1 Reading address 0000016Do not read the address 0000016 in a program. When a maskable inter

Seite 203 - (1) JMP.S label

263Chapter 5 InterruptExample 1:Using the NOP instruction to keep the program waiting until the interrupt control register is modifiedINT_SWITCH1:FC

Seite 204 - (3) JMP.W label

264Chapter 5 Interrupt

Seite 205 - (4) JMP.A label

Chapter 6Calculation Number of Cycles6.1 Instruction queue buffer

Seite 206 - (1) JMPS #IMM8

62666.1 Instruction queue bufferCalculation number of cycles6.1 Instruction queue bufferThe M16C/60, M16C/20, M16C/Tiny series have 4-stage (4-byte) i

Seite 207 - (2) JSR.A label

6267Calculation number of cycles6.1 Instruction queue bufferSample programAddress Code InstructionFC050 64 JMP TEST_11FC051 04 NOP FC052 04 NOPFC053 0

Seite 208 - (2) JSRI.A src

62686.1 Instruction queue bufferCalculation number of cyclesSample programAddress Code InstructionFC058 64 JMP TEST_11FC059 04 NOPFC05A 04 NOP FC05B

Seite 209 - (1) LDC #IMM16, dest

6269Calculation number of cycles6.1 Instruction queue bufferSample programAddress Code InstructionFC06C 64 JMP TEST_11FC06D 04 NOPFC06E 04 NOP FC06F

Seite 210 - (1) LDCTX abs16, abs20

62706.1 Instruction queue bufferCalculation number of cyclesSample programAddress Code InstructionFC058 64 JMP TEST_11FC059 04 NOPFC05A 04 NOP FC05B

Seite 211 - (2) LDE.size dsp:20[A0], dest

Q&A-1 Q & AInformation in a Q&A form to be used to make the most of the M16C family is given below.Usually, one question and the answer to

Seite 212 - (1) LDINTB #IMM

11Chapter 1 Overview1.7 Data Types1.7.2 DecimalThis type of data can be used in DADC, DADD, DSBB, and DSUB.Pack format(2 digits)Pack format(4 digits

Seite 213 - (1) MOV.size:G #IMM, dest

Q&A-2CPUQASB and FB function in the same manner, so you can use them as intended in programming in theassembly language. If you write a program in

Seite 214 - (2) MOV.size:Q #IMM, dest

Q&A-3InterruptQAYes. But there can be a chance that the microcomputer runs away out of control if an interruptrequest occurs in changing the value

Seite 215 - (3) MOV.B:S #IMM8, dest

Q&A-4CPUQAWhat is the difference between the user stack pointer (USP) and the interrupt stack pointer (ISP)?,What are their roles?You use USP when

Seite 216 - (5) MOV.B:Z #0, dest

Q&A-5CPUQAHow does the instruction code become if I use a bit instruction in absolute addressing ?An explanation is given here by taking BSET bit,

Seite 217 - (6) MOV.size:G src, dest

Q&A-6CPUQAWhat is the difference between the DIV instruction and the DIVX instruction?Either of the DIV instruction and the DIVX instruction is an

Seite 218 - (8) MOV.B:S R0L/R0H, dest

Glossary-1GlossaryTechnical terms used in this software manual are explained below. They are good in this manual only.

Seite 219 - (9) MOV.B:S src, R0L/R0H

Glossary-2borrow Tomove a digit to the next lower position. carrycarry Tomove a digit to the next higher position. borrowcontext Registers that a pro

Seite 220 - (1) MOVA src, dest

Glossary-3Term Meaning Related wordmacro instructionMSBoperandoperationoperation codeoverflowpackSFR areaAn instruction, written in a source language,

Seite 221 - R0L, dest

Glossary-4Term Meaning Related wordshift outsign bitsign extensionstack framestringunpackzero extensionTo move the content of a register either to the

Seite 222

Symbol-1Table of symbolsSymbols used in this software manual are explained below. They are good in this manual only.

Seite 223 - (1) MUL.size #IMM, dest

M16C/60, M16C/20, M16C/Tiny SeriesSoftware Manual16Rev. 4.00 2004.01RENESAS 16-BIT SINGLE-CHIP MICROCOMPUTERAll information contained in these mater

Seite 224 - (2) MUL.size src, dest

12Chapter 1 Overview1.7 Data Types1.7.3 Bits● Register bitsFigure 1.7.3 shows register bit specification.Register bits can be specified by register

Seite 225 - (1) MULU.size #IMM, dest

Symbol-2Symbol MeaningTransposition from the right side to the left sideInterchange between the right side and the left sideAdditionSubtractionMultipl

Seite 226 - (2) MULU.size src, dest

Index-1IndexAA0 and A1 ••• 5A1A0 ••• 5Address register ••• 5Address space ••• 3Addressing mode ••• 22BB flag ••• 6Byte (8-bit) data ••• 16CC flag •••

Seite 227 - (1) NEG.size dest

Index-2Operation ••• 37Overflow flag ••• 6PPC ••• 5Processor interrupt priority level ••• 7Program counter ••• 5RR0, R1, R2, and R3 ••• 4R0H, R1H •••

Seite 228 - (1) NOT.size:G dest

REVISION HISTORYRev. Date DescriptionPage SummaryM16C/60, M16C/20, M16C/Tiny Series Software ManualB Sep 09, 1999Page 104 [Operation] Line 3Add to “ *

Seite 229 - (2) OR.B:S #IMM8, dest

REVISION HISTORYRev. Date DescriptionPage SummaryM16C/60, M16C/20, M16C/Tiny Series Software ManualB3 Jul 09, 2002 –Page 127 [ Function ]• This instr

Seite 230 - (3) OR.size:G src, dest

REVISION HISTORYRev. Date DescriptionPage SummaryM16C/60, M16C/20, M16C/Tiny Series Software ManualB3 Jul 09, 2002 –Page 132 [ Function ] perform op

Seite 231 - (1) POP.size:G dest

REVISION HISTORYRev. Date DescriptionPage SummaryM16C/60, M16C/20, M16C/Tiny Series Software Manual4.00 Jan 21, 2004 253, 262Add TECHNICAL NEWS NO M16

Seite 232 - (3) POP.W:S dest

RENESAS 16-BIT SINGLE-CHIP MICROCOMPUTERSOFTWARE MANUALM16C/60, M16C/20, M16C/Tiny SeriesPublication Data : Rev.B3 Jul 15, 2002Rev.4.00 Jan 21, 2004Pu

Seite 233 - (1) POPM dest

1753, Shimonumabe, Nakahara-ku, Kawasaki-shi, Kanagawa 211-8668 JapanM16C/60, M16C/20, M16C/Tiny SeriesREJ09B0137-0400ZSoftware Manual

Seite 234 - (2) PUSH.size:G src

13Chapter 1 Overview0n-1nn+1nÅ{1 n nÅ|1 0b7 b0b7 b0b7 b0 b7 b0b7 b0BSET 2,AH ;b7 b2 b0b15 b10 b8b7 b0b87 b82 b80b79 b72 b7 b0b23 b18 b16b15 b8b7 b0BSE

Seite 235 - (4) PUSH.W:S src

14Chapter 1 Overview1.7 Data Types(2) SB/FB relative bit specificationFor SB/FB-based relative addressing, use bit 0 of the address that is the sum

Seite 236 - (1) PUSHC src

15Chapter 1 Overview1.7 Data Types1.7.4 StringString is a type of data that consists of a given length of consecutive byte (8-bit) or word (16-bit)

Seite 237 - (1) REIT

16Chapter 1 Overview1.8 Data Arrangement1.8 Data Arrangement1.8.1 Data Arrangement in RegisterFigure 1.8.1 shows the relationship between a registe

Seite 238 - (1) ROLC.size dest

17Chapter 1 Overviewb7 b0N DATA(L)N+1 DATA(H)N+2N+3b7 b0N DATAN+1N+2N+3MOV.B N,R0HMOV.W N,R0R0HLb15 b0R0HLb15 b0DATADATA(H) DATA(L)Word (16-bit) dataB

Seite 239 - (1) RORC.size dest

18Chapter 1 Overview1.9 Instruction Format1.9 Instruction FormatThe instruction format can be classified into four types: generic, quick, short, and

Seite 240 - (1) ROT.size #IMM, dest

19Chapter 1 Overview255254181.10 Vector Table1.10 Vector TableThe vector table comes in two types: a special page vector table and an interrupt vect

Seite 241 - (2) ROT.size R1H, dest

20Chapter 1 Overview1.10 Vector Table1.10.2 Variable Vector TableThe variable vector table is an address-variable vector table. Specifically, this

Seite 242 - (1) SBB.size #IMM, dest

Chapter 2Addressing Modes2.1 Addressing Modes2.2 Guide to This Chapter2.3 General Instruction Addressing2.4 Special Instruction Addressing2.5 Bit

Seite 243 - (2) SBB.size src, dest

Keep safety first in your circuit designs!Notes regarding these materials1.Renesas Technology Corporation puts the maximum effort into making semicond

Seite 244

22Chapter 2 Addressing Modes2.1 Addressing ModesThis section describes addressing mode-representing symbols and operations for each addressing mode.

Seite 245 - (1) SHA.size #IMM, dest

23Chapter 2 Addressing Modes2.2 Guide to This ChapterThe following shows how to read this chapter using an actual example.Address register relatived

Seite 246 - (3) SHA.L #IMM, dest

24Chapter 2 Addressing Modes#IMM#IMM8#IMM16#IMM20ImmediateThe immediate data indicated by #IMMis the object to be operated on.Register directR0LR0HR1

Seite 247 - (4) SHA.L R1H, dest

25Chapter 2 Addressing ModesaddressaddressAddress register relativedsp:8[A0]dsp:8[A1]dsp:16[A0]dsp:16[A1]dsp:8[SB]dsp:16[SB]SB relativeFB relativedsp

Seite 248 - (1) SHL.size #IMM, dest

26Chapter 2 Addressing Modesdsp:8[SP]Stack pointer relativedspdspSPRegisterMemoryIf the dsp value is negativeIf the dsp value is positiveaddress2.3

Seite 249 - (3) SHL.L #IMM, dest

27Chapter 2 Addressing Modes20-bit absoluteabs20abs20dsp:20[A0]dsp:20[A1]Address register relative with20-bit displacementaddressA0LDE, STE instructi

Seite 250 - (1) SMOVB.size

28Chapter 2 Addressing Modes 32-bit register directR2R0R3R1A1A0 SHL, SHA instructionsJMPI, JSRI instructionsR2R0R3R1A1A0b0b31b15b16R2R0R3R1b0b31b15b1

Seite 251 - (1) SSTR.size

29Chapter 2 Addressing Modes +0 dsp +7Memorylabel Program counter relativelabel Base address dspdspdsplabellabelMemory Base addressIf the dsp va

Seite 252 - (2) STC PC, dest

30Chapter 2 Addressing ModesThe specified register bit is the objectto be operated on.For the bit position (bit) you canspecify 0 to 15.Register dire

Seite 253 - (1) STCTX abs16, abs20

31Chapter 2 Addressing Modesbaseaddress Address register relativebase:8[A0]base:8[A1]base:16[A0]base:16[A1]SB relativebit,base:8[SB]bit,base:11[SB]bi

Seite 254 - (3) STE.size src, [A1A0]

A table of symbols, a glossary, and an index are appended at the end of this manual.Using This ManualThis manual is written for the M16C/60, M16C/20,

Seite 255 - (1) STZ #IMM8, dest

32Chapter 2 Addressing Modesaddress FB relativebit,base:8[FB]FBaddressRegisterbasebaseIf the base value is negative If the base value is positive Mem

Seite 256 - (1) SUB.size:G #IMM, dest

Chapter 3Functions3.1 Guide to This Chapter3.2 Functions

Seite 257 - (2) SUB.B:S #IMM8, dest

343.1 Guide to This ChapterChapter 3 Functions[ Operation ]dest src92MOVeMOV[ Function ][ Reated Instruction]LDE,STE,XCHG[ Description Exam

Seite 258 - (3) SUB.size:G src, dest

353.1 Guide to This ChapterChapter 3 Functions(1) MnemonicIndicates the mnemonic explained in this page.(2) Instruction code/Number of CyclesIndic

Seite 259 - (1) TST.size #IMM, dest

363.1 Guide to This ChapterChapter 3 Functions9292MOVeMOVsrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0 A1/A1 [A0] [A1] A0/A0

Seite 260 - (2) TST.size src, dest

373.1 Guide to This ChapterChapter 3 Functions(4) OperationExplains the operation of the instruction using symbols.(5) FunctionExplains the functi

Seite 261 - (1) WAIT

383.1 Guide to This ChapterChapter 3 FunctionsThe following explains the syntax of each jump instruction—JMP, JPMI, JSR, and JSRI by using an actual

Seite 262 - (1) XCHG.size src, dest

393.2 FunctionsChapter 3 FunctionsAbsolute valueABSolute[ Syntax ]ABS.size destABS.B R0LABS.W A0[ Selectable dest ]ABS[ Function ]• This instructi

Seite 263 - (1) XOR.size #IMM, dest

403.2 FunctionsChapter 3 Functions[ Instruction Code/Number of Cycles ]Page=Add with carryADdition with Carry[ Related Instructions ] ADCF,ADD,SBB

Seite 264 - (2) XOR.size src, dest

413.2 FunctionsChapter 3 FunctionsAdd carry flagADdition Carry Flag[ Selectable dest ]destR0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0 A1/A1 [A0] [A1]dsp:8[A0

Seite 265 - Interrupt

M16C Family Documents The following documents were prepared for the M16C family. (1) Document ContentsShort Sheet Hardware overviewData

Seite 266

423.2 FunctionsChapter 3 FunctionsAdd without carryADDition[ Related Instructions ] ADC,ADCF,SBB,SUBADD ADD[ Syntax ]ADD.size (:format) src,dest[

Seite 267 - 5.1.2 Software Interrupts

433.2 FunctionsChapter 3 Functions[src/dest Classified by Format]src destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0 A1/A1 [A0] [

Seite 268 - ____________

443.2 FunctionsChapter 3 FunctionsUIOBSZDCAdd & conditional jumpADdition then Jump on Not ZeroADJNZ.W #–1,R0,label[ Related Instructions ] SBJ

Seite 269 - 5.2 Interrupt Control

453.2 FunctionsChapter 3 FunctionsANDLogically AND[ Related Instructions ] OR,XOR,TST[ Function ]AND AND[ Syntax ]AND.size (:format) src,dest[ Sel

Seite 270

463.2 FunctionsChapter 3 Functions[src/dest Classified by Format]G formatsrc destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0*1A1/

Seite 271

473.2 FunctionsChapter 3 Functions• This instruction logically ANDs the C flag and src together and stores the result in the C flag.Bit AND carry

Seite 272 - 5.3 Interrupt Sequence

483.2 FunctionsChapter 3 FunctionsBit CLeaRClear bit[ Syntax ]BCLR (:format) dest[ Related Instructions ] BSET,BNOT,BNTST,BTST,BTSTC,BTSTS[ Funct

Seite 273

493.2 FunctionsChapter 3 FunctionsCndConditionExpressionCndConditionExpressionGEU/C C=1 Equal to or greater than LTU/NC C=0 Smaller thanC flag is

Seite 274 - 5.3.3 Saving Registers

503.2 FunctionsChapter 3 FunctionsBit Not AND carry flagLogically AND inverted bits[ Related Instructions ] BAND,BOR,BXOR,BNOR,BNXOR[ Function ]BN

Seite 275

51Chapter 3 Functions3.2 Functions[ Instruction Code/Number of Cycles ]Page=Bit Not OR carry flagLogically OR inverted bits[ Syntax ]BNOR src[ Desc

Seite 276

A-1Table of ContentsChapter 1 Overview ___________________________________________________1.1 Features of M16C/60, M16C/20, M16C/Tiny series

Seite 277 - 5.5 Interrupt Priority

52Chapter 3 Functions3.2 FunctionsUIOBSZDCBit NOTInvert bit [ Syntax ]BNOT(:format) dest[ Flag Change ][ Description Example ]BNOT flagBNOT 4,Ram:

Seite 278 - 5.6 Multiple Interrupts

53Chapter 3 Functions3.2 FunctionsBit Not TeSTTest inverted bit[ Flag Change ][ Description Example ][ Function ][ Selectable src ]BNTST BNTST[ Syn

Seite 279

54Chapter 3 Functions3.2 FunctionsBit Not eXclusive OR carry flagExclusive OR inverted bits[ Flag Change ][ Description Example ][ Related Instruct

Seite 280 - 5.7.2 Setting the SP

55Chapter 3 Functions3.2 FunctionsBit OR carry flagLogically OR bits[ Syntax ]BOR src[ Description Example ][ Related Instructions ] BAND,BXOR,BNAN

Seite 281

56Chapter 3 Functions3.2 FunctionsBReaKDebug interruptBRK[ Description Example ][ Related Instructions ] INT,INTO[ Function ]BRK BRK[ Flag Change ]

Seite 282

57Chapter 3 Functions3.2 FunctionsBit SETSet bit [ Flag Change ][ Related Instructions ] BCLR,BNOT,BNTST,BTST,BTSTC,BTSTS[ Function ][ Selectable

Seite 283 - Calculation Number of Cycles

58Chapter 3 Functions3.2 FunctionsBit TeSTTest bit[ Flag Change ][ Function ][ Related Instructions ] BCLR,BSET,BNOT,BNTST,BTSTC,BTSTS[ Selectable

Seite 284

59Chapter 3 Functions3.2 FunctionsBit TeST & ClearTest bit & clear[ Flag Change ][ Description Example ][ Related Instructions ] BCLR,BSET,

Seite 285 - Calculation number of cycles

60Chapter 3 Functions3.2 FunctionsBit TeST & SetTest bit & set[ Flag Change ][ Description Example ][ Related Instructions ] BCLR,BSET,BNOT

Seite 286

613.2 FunctionsChapter 3 FunctionsBit eXclusive OR carry flagExclusive OR bits[ Flag Change ][ Description Example ][ Related Instructions ] BAND,B

Seite 287

A-2Chapter 2 Addressing Modes ___________________________________________2.1 Addressing Modes ...

Seite 288

623.2 FunctionsChapter 3 Functions[ Instruction Code/Number of Cycles ]Page= Compare[ Syntax ]CMP.size (:format) src,dest[ Description Example ][ S

Seite 289 - Q & A

633.2 FunctionsChapter 3 Functions[src/dest Classified by Format]S format*3src destR0L/R0 R0H/R1 R1L/R2 R1H/R3 R0L/R0 R0H/R1 R1L/R2 R1H/R3A0/A0 A1/

Seite 290 - Q&A-2

643.2 FunctionsChapter 3 FunctionsDecimal ADdition with CarryDecimal add with carry[ Syntax ]DADC.size src,dest[ Flag Change ][ Description Example

Seite 291 - Q&A-3

653.2 FunctionsChapter 3 FunctionsDecimal ADDitionDecimal add without carry[ Flag Change ][ Description Example ]DADD.B #3,R0LDADD.W R1,R0[ Related

Seite 292 - Q&A-4

663.2 FunctionsChapter 3 FunctionsUIOBSZDCDECrementDecrement[ Syntax ]DEC.size dest[ Flag Change ][ Related Instructions ] INC[ Function ]DEC DEC[

Seite 293 - Q&A-5

673.2 FunctionsChapter 3 FunctionsSigned divideDIVideDIV.B A0 ;A0’s 8 low-order bits is the divisor.DIV.B #4DIV.W R0[ Related Instructions ] DIVU,D

Seite 294 - Q&A-6

683.2 FunctionsChapter 3 FunctionsDIVide UnsignedUnsigned divide[ Description Example ][ Related Instructions ] DIV,DIVX,MUL,MULUDIVU DIVU[ Syntax

Seite 295 - Glossary

693.2 FunctionsChapter 3 FunctionsDIVide eXtensionSinged divide[ Syntax ]DIVX.size src[ Description Example ][ Related Instructions ] DIV,DIVU,MUL,

Seite 296 - Glossary-2

703.2 FunctionsChapter 3 FunctionsDecimal SuBtract with BorrowDecimal subtract with borrow[ Syntax ]DSBB.size src,dest[ Flag Change ][ Description

Seite 297 - Glossary-3

713.2 FunctionsChapter 3 FunctionsDecimal SUBtractDecimal subtract without borrow [ Syntax ]DSUB.size src,dest [ Flag Change ] [ Description Exa

Seite 298 - Glossary-4

Quick Reference-1DIVUDIVXDSBBDSUBENTEREXITDEXTSFCLRFSETINCINTINTOJCnd JEQ/Z JGE JGEU/C JGT JGTU JLE JLEU JLT JLTU/NC JN

Seite 299 - Table of symbols

72Chapter 3 Functions3.2 Functions179ENTER functionBuild stack frame[ Description Example ]ENTER #3[ Related Instructions ] EXITDENTER ENTER[ Flag

Seite 300 - Symbol-2

73Chapter 3 Functions3.2 FunctionsArgument of function[ Instruction Code/Number of Cycles ]Page=180EXIT and Deallocate stack frame[ Description Exa

Seite 301

74Chapter 3 Functions3.2 FunctionsEXTend SignExtend sign[ Description Example ][ Function ][ Flag Change ]EXTS EXTS[ Syntax ]EXTS.size dest• This i

Seite 302

75Chapter 3 Functions3.2 FunctionsFlag register CLeaRClear flag register bit[ Flag Change ][ Description Example ][ Related Instructions ] FSET[ Fu

Seite 303 - REVISION HISTORY

76Chapter 3 Functions3.2 FunctionsFlag register SETSet flag register bit[ Description Example ][ Related Instructions ] FCLR[ Function ][ Selectabl

Seite 304

77Chapter 3 Functions3.2 FunctionsINCrementIncrement[ Description Example ]INC.W A0INC.B R0L[ Related Instructions ] DEC[ Function ][ Selectable de

Seite 305

78Chapter 3 Functions3.2 FunctionsInterrupt by INT instructionINTerrupt[ Related Instructions ] BRK,INTO[ Flag Change ]INT INT[ Syntax ]INT src[ De

Seite 306

79Chapter 3 Functions3.2 FunctionsINTerrupt on OverflowInterrupt on overflow[ Syntax ]INTO[ Related Instructions ] BRK,INT[ Flag Change ]INTO INTO[

Seite 307

80Chapter 3 Functions3.2 FunctionsCndConditionExpressionCndConditionExpressionGEU/C C=1 Equal to or greater than LTU/NC C=0 Smaller thanC flag is 1

Seite 308 - Software Manual

81Chapter 3 Functions3.2 FunctionsJuMPUnconditional jump[ Syntax ]JMP(.length) label[ Description Example ][ Related Instructions ] JMPI,JMPSJMP JM

Kommentare zu diesen Handbüchern

Keine Kommentare