Motorola DSP96002 User Manual

Browse online or download User Manual for Acoustics Motorola DSP96002. Motorola DSP96002 User Manual

  • Download
  • Add to my manuals
  • Print
  • Page
    / 897
  • Table of contents
  • BOOKMARKS
  • Rated. / 5. Based on customer reviews
Page view 0
DSP96002
32-BIT
DIGITAL SIGNAL PROCESSOR
USER’S MANUAL
Motorola, Inc.
Semiconductor Products Sector
DSP Division
6501 William Cannon Drive, West
Austin, Texas 78735-8598
Page view 0
1 2 3 4 5 6 ... 896 897

Summary of Contents

Page 1 - DSP96002

DSP9600232-BITDIGITAL SIGNAL PROCESSORUSER’S MANUALMotorola, Inc.Semiconductor Products SectorDSP Division6501 William Cannon Drive, WestAustin, Texas

Page 2 - DSP96002 INTRODUCTION

MOTOROLA DSP96002 USER’S MANUAL 2 - 7 an "early write" signal for DRAM interfacing. R/—W is high for a read access and is lowfor a write

Page 3

7 - 14 DSP96002 USER’S MANUAL MOTOROLA 7.4.4 HI Programming Model The HI block diagram is shown in Figure 7-9. The HI has two programming models - one

Page 4 - SECTION 2

MOTOROLA DSP96002 USER’S MANUAL 7 - 15Figure 7-9. HI Block Diagram (One Port)

Page 5

7 - 16 DSP96002 USER’S MANUAL MOTOROLA 7.4.6 Host Transmit Data Register and HMRC Clear (HTXC) - DSP96002 Side The Host Transmit register and HMRC Cle

Page 6

MOTOROLA DSP96002 USER’S MANUAL 7 - 17 7.4.7 Host Receive Data Register (HRX) - DSP96002 Side The Host Receive Data register (HRX) is used for host pr

Page 7

7 - 18 DSP96002 USER’S MANUAL MOTOROLA 7.4.8 Host Control Register (HCR) - DSP96002 Side The Host Control Register (HCR) is a 32-bit read/write contro

Page 8

MOTOROLA DSP96002 USER’S MANUAL 7 - 19 7.4.8.2 HCR Host Transmit Interrupt Enable (HTIE) Bit 1The Host Transmit Interrupt Enable (HTIE) bit is used to

Page 9

7 - 20 DSP96002 USER’S MANUAL MOTOROLA 7.4.8.6 HCR Host Reset (HRES) Bit 5The Host Reset (HRES) bit is used to reset the status bits of the HI and to

Page 10

MOTOROLA DSP96002 USER’S MANUAL 7 - 21rupt request will occur if HYRP is set. The starting address of this interrupt is shown in Figure 7-13. HYREis c

Page 11

7 - 22 DSP96002 USER’S MANUAL MOTOROLA 7.4.9.6 HSR Reserved bits (Bits 5, 6, 14-31)These status bits are reserved for future expansion and read as zer

Page 12

MOTOROLA DSP96002 USER’S MANUAL 7 - 23interrupt". HYRP is set when data is transferred from the TX register to the HRX register. HYRP is clearedw

Page 13

2 - 8 DSP96002 USER’S MANUAL MOTOROLA When a bus master, the combination of —B–S and —T–S can be decoded externally todetermine the status of the cu

Page 14

7 - 24 DSP96002 USER’S MANUAL MOTOROLAthat the host processor can force any of the existing exception handlers (IRQA, IRQB, etc.) and can use anyof th

Page 15

MOTOROLA DSP96002 USER’S MANUAL 7 - 25TXDE may be used to assert the Host Request —H–R pin if the Transmit Request Enable bit (TREQ) is set.TXDE provi

Page 16

7 - 26 DSP96002 USER’S MANUAL MOTOROLAIn DMA Mode (DMAE=1), TREQ must be set or cleared by software to select the direction of DMA transfers.Setting T

Page 17

MOTOROLA DSP96002 USER’S MANUAL 7 - 272. When not using the —H–R pin for handshake, use polling of the INIT bit in ICS to make sureit is cleared by t

Page 18

7 - 28 DSP96002 USER’S MANUAL MOTOROLA 7.4.13.9 ICS Host Flag 0 (HF0) Bit 8The Host Flag 0 (HF0) bit is used as a general purpose flag for host proces

Page 19 - 5.16.1 Arbitration Scheme

MOTOROLA DSP96002 USER’S MANUAL 7 - 29es. In this mode, the —H–R pin can be used as an interrupt request to the host processor, and the —H–Apin may be

Page 20

7 - 30 DSP96002 USER’S MANUAL MOTOROLAbusy semaphore bit), several bits or write the whole 16 bits (which, for example, may be used as host pro-cess

Page 21

MOTOROLA DSP96002 USER’S MANUAL 7 - 31The HI interrupt requests to the external host processor use the Host Request —H–R pin. —H–R is normallyconnecte

Page 22

7 - 32 DSP96002 USER’S MANUAL MOTOROLA 7.4.18 96002 Programmer Considerations 7.4.18.1 Reading Status Bits HF1, HF0, HCP, HPRP, HPWP, HXRP, HXWP, HYR

Page 23

MOTOROLA DSP96002 USER’S MANUAL 7 - 33sors are used to transfer data without interfering with the local processing in both chips. Figure 7-17 contains

Page 24 - CHIP ARCHITECTURE

MOTOROLA DSP96002 USER’S MANUAL 2 - 9 —A–E (Address Enable) - active low input, must be asserted and deasserted synchronous tothe input clock (CLK)

Page 25 - 3.2.2 Address Buses

7 - 34 DSP96002 USER’S MANUAL MOTOROLAwhere this pin is defined as a DMA service request input. When —H–R is asserted, the master DMA Con-troller tran

Page 26

MOTOROLA DSP96002 USER’S MANUAL 7 - 35should be cleared. Figure 7-19 contains a diagram showing the data paths and control lines used for thedata tran

Page 27 - 3.2.6 Y Data Memory

7 - 36 DSP96002 USER’S MANUAL MOTOROLAA data read transfer is initiated when the slave’s —H–R signal is asserted, indicating that its HI RX registeris

Page 28

MOTOROLA DSP96002 USER’S MANUAL 7 - 37 7.4.21.1 Semaphore Control Whenever a host transfer is to be executed, the host processor must first obtain own

Page 29

7 - 38 DSP96002 USER’S MANUAL MOTOROLA 7.4.21.4 ICS Register Read HICSR points to the slave ICS register (—H–S=0, —H–A=1, A5-A2=1000). The master exec

Page 30 - 3.3.1 Multiply Unit

MOTOROLA DSP96002 USER’S MANUAL 7 - 39 7.4.21.8 68K Interrupt Register Write HIVR points to the slave IVR register (—H–S=0, —H–A=1, A5-A2=1100). The m

Page 31

7 - 40 DSP96002 USER’S MANUAL MOTOROLA5. In the DSP96002 side, the X/Y/P Memory Write interrupt vector should point to a routine thatfirst reads HRX

Page 32

MOTOROLA DSP96002 USER’S MANUAL 7 - 41 clock wor

Page 33

7 - 42 DSP96002 USER’S MANUAL MOTOROLA4. The host processor polls the ICS register until HMRC is cleared and then reads the data D fromthe RX registe

Page 34 - CAUTION

MOTOROLA DSP96002 USER’S MANUAL 7 - 43The minimal memory read procedure is 6 program words and 16 clock cycles. The first move triggers the XMemory Re

Page 35

2 - 10 DSP96002 USER’S MANUAL MOTOROLA register (IVR) onto the data bus outputs D0-D31. This provides an interrupt acknowl-edge capability compati

Page 36

7 - 44 DSP96002 USER’S MANUAL MOTOROLAThe table in Figure 7-24 shows the data transfers that the DMA Controller is capable of. The number of cy-cles s

Page 37

MOTOROLA DSP96002 USER’S MANUAL 7 - 45 7.5.2 DMA Controller Programming Model The registers comprising the DMA Controller are shown in Figure 7-25 and

Page 38

7 - 46 DSP96002 USER’S MANUAL MOTOROLA 7.5.3 DMA Control/Status Register (DCS) The DMA Control/Status Register (DCS) is a 32-bit read/write register t

Page 39

MOTOROLA DSP96002 USER’S MANUAL 7 - 47 7.5.3.1 DCS DMA Destination Space Control (DDS2-DDS0) Bits 0,1,2The DMA Destination Space control bits (DDS2-DD

Page 40 - SECTION 4

7 - 48 DSP96002 USER’S MANUAL MOTOROLAthe DMA transfer. If an input is unmasked, asserting that input will set the latch and initiate a DMA transfer.T

Page 41

MOTOROLA DSP96002 USER’S MANUAL 7 - 49 7.5.3.7 DCS DMA Transfer Mode – (DTM1–DTM0) Bits 25,26DMA Transfer Mode bits (DTM1-DTM0) specify the mode of op

Page 42

7 - 50 DSP96002 USER’S MANUAL MOTOROLABlock transfer mode is selected. Clearing DE during DMA operation will stop the DMA only after the presentDMA tr

Page 43

MOTOROLA DSP96002 USER’S MANUAL 7 - 51able memory would typically load the Offset register with +4 to perform 32-bit aligned accesses. DMA trans-fers

Page 44 - Figure 4-3. SR Format

7 - 52 DSP96002 USER’S MANUAL MOTOROLA3. If the core is doing one external access and the DMA is also doing an external access thorough the other por

Page 45

MOTOROLA DSP96002 USER’S MANUAL 7 - 53 X DATA Memory Space $FFFFFFFF IPR - Interrupt Priority Regis

Page 46

MOTOROLA DSP96002 USER’S MANUAL 2 - 11 (BSET, BCLR, BCHG) will not give up bus mastership until the end of the current instruc-tion. ——B–G is ignor

Page 47

7 - 54 DSP96002 USER’S MANUAL MOTOROLA

Page 48

MOTOROLA DSP96002 USER’S MANUAL 8 - 1 SECTION 8EXCEPTION PROCESSING 8.1 INTRODUCTION This section describes the actions of the DSP96002 which are

Page 49

8 - 2 DSP96002 USER’S MANUAL MOTOROLA 8.2.3 Wait Processing State The wait processing state is a low power consumption mode entered by execution o

Page 50

MOTOROLA DSP96002 USER’S MANUAL 8 - 3 * Int ctl cyc1 i

Page 51

8 - 4 DSP96002 USER’S MANUAL MOTOROLA interrupt instructions are being fetched, the PC is inhibited from being updated. After the two interruptword

Page 52

MOTOROLA DSP96002 USER’S MANUAL 8 - 5 * Int ctl cyc1 i

Page 53

8 - 6 DSP96002 USER’S MANUAL MOTOROLA Int ctl cyc1 i Int ctl cyc2 i

Page 54 - SECTION 5

MOTOROLA DSP96002 USER’S MANUAL 8 - 7 Int ctl cyc1 i † i* Int ctl cyc2 i

Page 55

8 - 8 DSP96002 USER’S MANUAL MOTOROLA InterruptStartingAddress interrupt Source $FFFFFFFE Hardware RESET$00000000 Hardware RESET$00000002 Stack Error

Page 56

MOTOROLA DSP96002 USER’S MANUAL 8 - 9 which are maskable. Additionally, each of these interrupts has independent enable control. When the IRQA,IRQB o

Page 57

2 - 12 DSP96002 USER’S MANUAL MOTOROLA —B–L (Bus Lock) - active low output, never three-stated. Asserted at the start of an externalindivisible Rea

Page 58 - 5.3.1 Data ALU Registers

8 - 10 DSP96002 USER’S MANUAL MOTOROLA 31 30 29 28 27 26 25 24 ** ** ** ** ** ** ** **

Page 59

MOTOROLA DSP96002 USER’S MANUAL 8 - 11 IxL2 Trigger Mode IRxS Status 0 level

Page 60

8 - 12 DSP96002 USER’S MANUAL MOTOROLA 8.5.2 Interrupt Priority Register (IPR) This read/write register specifies the interrupt priority level for

Page 61

MOTOROLA DSP96002 USER’S MANUAL 8 - 13 8.5.2.5 IRQB Trigger Mode - IBL2 (Bit 6) The IRQB Trigger Mode (IBL2) bit specifies the trigger metho

Page 62

8 - 14 DSP96002 USER’S MANUAL MOTOROLA 8.5.2.9 IRQC Status - IRCS (Bit 11) The read-only IRQC Status (IRCS) bit indicates the status of the inter

Page 63

MOTOROLA DSP96002 USER’S MANUAL 8 - 15 8.5.2.14 Host B Interrupt Priority Level - HBL1-HBL0 (Bits 22-23)The Host B Interrupt Priority Level (HBL1-HBL

Page 64 - 5.6.2 Stack References

8 - 16 DSP96002 USER’S MANUAL MOTOROLA 8.5.3 Exception Priorities within an IPLIf more than one exception is pending when an instruction is executed,

Page 65

MOTOROLA DSP96002 USER’S MANUAL 9 - 1 SECTION 9CHIP OPERATING MODES AND MEMORY MAPS 9.1 OPERATING MODES AND PROGRAM MEMORY MAPS The operating mode

Page 66

9 - 2 DSP96002 USER’S MANUAL MOTOROLA 9.1.2 Mode 1 (Internal PRAM enabled, Reset at $FFFFFFFE, Port B) In Mode 1, the internal program memory occup

Page 67

MOTOROLA DSP96002 USER’S MANUAL 9 - 3 If the Host Interface flag HF1 is set, the bootstrap program assumes that the external host processoris a 32-b

Page 68

MOTOROLA DSP96002 USER’S MANUAL 2 - 13 3:4. When the Address and Memory Reference signals are stable, the data transfer is enabled bythe Transfer St

Page 69

9 - 4 DSP96002 USER’S MANUAL MOTOROLA PAGE 132,50,0,10 ; BOOTSTRAP CODE FOR DSP96002 -  Copyright 1988 Motorola Inc. ; ; Ho

Page 70

MOTOROLA DSP96002 USER’S MANUAL 9 - 5 ; The second routine loads the internal PRAM using the Host ; Interface logic. ; If HF1=0, it will load 4

Page 71 - 5.8.3 Modulo Modifier

9 - 6 DSP96002 USER’S MANUAL MOTOROLA ; Host load routine_HOSTR_LBL11 JCLR #3,X:(R2),_LBL22 ; if HF0=1, stop loading data.ENDDO ; Must t

Page 72 - Yes x x x x

MOTOROLA DSP96002 USER’S MANUAL 9 - 7 9.2.1 Internal Data RAMs The on-chip X and Y Data RAMs occupy locations $00000000 to $000001FF in X and Y Da

Page 73 - ∫Nn∫ is not

9 - 8 DSP96002 USER’S MANUAL MOTOROLA X DATA Y DATA $FFFFFFFF $FFFFFFFF

Page 74

MOTOROLA DSP96002 USER’S MANUAL 9 - 9 PROGRAM MEMORY MMM HW RESET MODE INTERNAL PROGRAM EXTERNAL PROGRAM

Page 75 - Modifier

9 - 10 DSP96002 USER’S MANUAL MOTOROLA

Page 76

MOTOROLA DSP96002 USER’S MANUAL 10 - 1 SECTION 10ON-CHIP EMULATOR 10.1 INTRODUCTION Conventional methods of system development (for example the DSP

Page 77 - INSTRUCTION SET AND EXECUTION

10 - 2 DSP96002 USER’S MANUAL MOTOROLAFigure 10-1. OnCE  Block Diagram 10.2.2 Debug Serial Clock/Chip Status 1 (DSCK/OS1) The serial clock is su

Page 78

MOTOROLA DSP96002 USER’S MANUAL 10 - 3 10.2.3 Debug Serial Output (DSO) The debug serial output provides the data contained in one of the OnCE  co

Page 79

2 - 14 DSP96002 USER’S MANUAL MOTOROLA3. 6.1.2—W–E Controlled Writes This form of static interface uses the memory write enable (—W–E) as the writ

Page 80

10 - 4 DSP96002 USER’S MANUAL MOTOROLAFigure 10-2. OnCE  Controller and Serial Interface been received), and two signals indicating that the core

Page 81

MOTOROLA DSP96002 USER’S MANUAL 10 - 5 PBS1 PBS0 Selection 0 0 Breakpoint on Core fetch accesses

Page 82 - 6.3 INSTRUCTION FORMAT

10 - 6 DSP96002 USER’S MANUAL MOTOROLA 10.3.4.5 Trace Mode Enable (TME) Bit 8 This control bit, when set, enables the Trace Mode causing the chip to

Page 83

MOTOROLA DSP96002 USER’S MANUAL 10 - 7Figure 10-4. Program Memory Breakpoint Logic cific point to examine/change registers or memory. Using address

Page 84

10 - 8 DSP96002 USER’S MANUAL MOTOROLAFigure 10-5. Data Memory Breakpoint Logic dress is ignored. Program memory address breakpoints occur after th

Page 85

MOTOROLA DSP96002 USER’S MANUAL 10 - 9 provides a means of checking hot spots in program segments as well as peripheral or data memory access-es. Pro

Page 86

10 - 10 DSP96002 USER’S MANUAL MOTOROLA 10.4.9 Data Memory Address Latch (ODAL) The Data Memory Address Latch is a 32-bit register that latches the

Page 87 - SECTION 7

MOTOROLA DSP96002 USER’S MANUAL 10 - 11 software developer debug sections of code which do not have a normal flow or are getting hung up in infinitel

Page 88

10 - 12 DSP96002 USER’S MANUAL MOTOROLAFigure 10-6. Breakpoint and Trace Counter Logicfor any newly fetched instruction including instructions fetche

Page 89

MOTOROLA DSP96002 USER’S MANUAL 10 - 13 10.7.4 External Request During WAITAsserting —D–R when the chip is in the WAIT state (i. e., has executed a WA

Page 90

MOTOROLA DSP96002 USER’S MANUAL 2 - 15 The Port A/B bus control signals are designed for efficient interface to DRAM/VRAM devices in both ran-dom re

Page 91

10 - 14 DSP96002 USER’S MANUAL MOTOROLAFigure 10-7. Pipeline Information Registers through the serial interface. This register is affected by the ope

Page 92

MOTOROLA DSP96002 USER’S MANUAL 10 - 15Figure 10-8. Program Address Bus FIFO

Page 93

10 - 16 DSP96002 USER’S MANUAL MOTOROLA 10.9.1 PAB Register for Fetch (OPABFR)The PAB Register for Fetch is a 32-bit register that stores the address

Page 94

MOTOROLA DSP96002 USER’S MANUAL 10 - 17 10010 Program Address Bus Latch for Decode (OPABD) 10011 Reserved 101xx

Page 95

10 - 18 DSP96002 USER’S MANUAL MOTOROLA 0 write the data associated with the command into the register specified by RS4-RS

Page 96

MOTOROLA DSP96002 USER’S MANUAL 10 - 196. CLK7. Send command READ FIFO REGISTER (and increment pointer).8. ACK9. CLK10. Send command READ FIF

Page 97

10 - 20 DSP96002 USER’S MANUAL MOTOROLA4. ACK5. Send command READ GDB REGISTER(ODEC selects GDB as source for serial data and an acknowledge is issued

Page 98 - 7.4.2 HI Reset

MOTOROLA DSP96002 USER’S MANUAL 10 - 21(ODEC releases the chip from the "halt" state and the instruction is executed again (in a "RE-PE

Page 99

10 - 22 DSP96002 USER’S MANUAL MOTOROLA4. ACK 5. Send command WRITE PDB REGISTER (GO, EX). (ODEC selects PDB as destination for serial data.) 6. ACK 7

Page 100 - 7.4.4 HI Programming Model

MOTOROLA DSP96002 USER’S MANUAL A - 1 APPENDIX AINSTRUCTION SET DETAILS A.1 INTRODUCTION This appendix contains detailed information about each

Page 101

2 - 16 DSP96002 USER’S MANUAL MOTOROLA 4.11.2 The Arbitration Protocol The bus is arbitrated by a central bus arbitrator, using individual request

Page 102

A - 2 DSP96002 USER’S MANUAL MOTOROLA A.3 CONDITION CODE COMPUTATION The CCR contains the condition code bits Carry (C), Overflow (V), Zero (Z), N

Page 103

MOTOROLA DSP96002 USER’S MANUAL A - 3 by Address Generation Unit operation when executing MOVETA instructions. Clearedotherwise. The V bit is clear

Page 104 - Figure 7-12. HI Functions

A - 4 DSP96002 USER’S MANUAL MOTOROLA compare instruction. The –R bit is cleared during processor reset. See the example forthe FCMPG instruction f

Page 105

MOTOROLA DSP96002 USER’S MANUAL A - 5Mnemonic A–R LR I N Z V C Special DefinitionsABS ––––***–ADD –––––* * *ADDC ––––*?* * Note 1AND ––––** 0–ANDC –

Page 106

A - 6 DSP96002 USER’S MANUAL MOTOROLAMnemonic A–R LR I N Z V C Special DefinitionsFCOPYS.X –––***––FDEBUGcc ––––––––FFcc ––––––––FFcc.U ???????? Note

Page 107

MOTOROLA DSP96002 USER’S MANUAL A - 7Mnemonic A–R LR I N Z V C Special Definitions JOIN ––––* * 0–JOINB ––––* * 0–JScc ––––––––JSCLR ––––––––JSET –––

Page 108

A - 8 DSP96002 USER’S MANUAL MOTOROLA Note 1 Z - Cleared if the result is not zero. Unchanged otherwise. Note 2 All ? Bits - Cleared if correspondin

Page 109

MOTOROLA DSP96002 USER’S MANUAL A - 9 Note 28 All ? bits - If SR is specified as a destination operand, set according to the corresponding bit ofthe

Page 110 - CAUTION:

A - 10 DSP96002 USER’S MANUAL MOTOROLA DZ (Division by Zero) - Set if the dividend is a finite nonzero number and the divisor is zero. Theresult wi

Page 111

MOTOROLA DSP96002 USER’S MANUAL A - 11 need for the UNCC bit. This would be true except for the way in which the 754-standard treatsthe equal and &qu

Page 112

MOTOROLA DSP96002 USER’S MANUAL 1 - 1 SECTION 1DSP96002 INTRODUCTION This manual describes the first member of a family of dual-port IEEE floating po

Page 113

MOTOROLA DSP96002 USER’S MANUAL 2 - 17 An implementation of a bus arbitration scheme may hold —B–G asserted, for example, to the current busowner if

Page 114

A - 12 DSP96002 USER’S MANUAL MOTOROLAMnemonic UNCC NAN SNAN OPERR OVF UNF DZ INX Special DefinitionsABS – – – – – – – –ADD – – – – – – – –ADDC1 – –

Page 115

MOTOROLA DSP96002 USER’S MANUAL A - 13 Mnemonic UNCC NAN SNAN OPERR OVF UNF DZ INX Special Definitions FCOPYS.X 0 * * 0 * * 0 *FDEBUGcc * – – – – – –

Page 116

A - 14 DSP96002 USER’S MANUAL MOTOROLAMnemonic A–R LR I N Z V C Special Definitions JOIN ––––––––JOINB ––––––––JScc ––––––––JSCLR ––––––––JSET ––––––

Page 117

MOTOROLA DSP96002 USER’S MANUAL A - 15 Note 1 SNAN - Set if anyone of the source operands is a signaling NaN. Cleared otherwise. Note 2 OPERR - Set

Page 118

A - 16 DSP96002 USER’S MANUAL MOTOROLA Note 31 OPERR - Set if the source operand is less than zero. Cleared otherwise. A.5 IEEE EXCEPTION BITS CO

Page 119

MOTOROLA DSP96002 USER’S MANUAL A - 17 OperandsData ALU Dn Data ALU Registers, n= 0-9, SP/SEP/Integer reference as specified by the Data ALU operatio

Page 120

A - 18 DSP96002 USER’S MANUAL MOTOROLA OperatorsMiscellaneous #xx Immediate short data (16 bits sign extended) #xxx Immediate short data

Page 121

MOTOROLA DSP96002 USER’S MANUAL A - 19 ABS Absolute Value ABS Instruction Fields:(u u)Dddd Dn.L n n n where nnn = 0-7 Timing: 2 + mv oscillator cloc

Page 122

A - 20 DSP96002 USER’S MANUAL MOTOROLA ADD Add ADD Instruction Fields: (u u)Dddd Dn.L n n n where nnn = 0-7 Ssss Dn.L n n n where nnn = 0-7 Timing:

Page 123 - 7.4.21.1 Semaphore Control

MOTOROLA DSP96002 USER’S MANUAL A - 21 ADDC Add with Carry ADDC Instruction Fields: (u u)Dddd Dn.L n n n where nnn = 0-7 Ssss Dn.L n n n where nnn =

Page 124 - 7.4.21.7 IVR Register Read

2 - 18 DSP96002 USER’S MANUAL MOTOROLA Likewise, when executing the read part of a RMW access, the end_of_sequence signal is deasserted.This signal

Page 125

A - 22 DSP96002 USER’S MANUAL MOTOROLAAND Logical AND AND(u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn = 0-7Timing: 2 + mv oscillator

Page 126

MOTOROLA DSP96002 USER’S MANUAL A - 23ANDC Logical AND with Complement ANDCDATA BUS MOVE FIELD 11 0sss 1000 1ddd31 14 13 0OPTIONAL EFFECTIVE ADDRESS E

Page 127

A - 24 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn = 0-7Timing: 2 + mv oscillator cloc

Page 128

MOTOROLA DSP96002 USER’S MANUAL A - 25ANDI AND Immediate to Control Register ANDI Operation: D & #xx → D Assembler Syntax: AND(I) #Byte,D

Page 129 - 7.5 DMA CONTROLLER

A - 26 DSP96002 USER’S MANUAL MOTOROLAFor OMR, MR, IER, CCR operands: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. O

Page 130

MOTOROLA DSP96002 USER’S MANUAL A - 27ASL Arithmetic Shift Left ASL Operation: Assembler Syntax: ASL D (move syntax - see the MOVE instruction d

Page 131

A - 28 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: ASL D(move syntax - see the MOVE instruction description.) DATA BUS MOVE FIELD 10 0101

Page 132

MOTOROLA DSP96002 USER’S MANUAL A - 29ASR Arithmetic Shift Right ASR Operation: Assembler Syntax: ASR D (move syntax - see the MOVE instruction d

Page 133

A - 30 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: ASR D(move syntax - see the MOVE instruction description.) Instruction Fields: (u u)Ddd

Page 134

MOTOROLA DSP96002 USER’S MANUAL A - 31Bcc Branch Conditionally Bcc Operation: If cc, then PC+xx → PC else PC+1 → PC If cc, then PC+xxxx → PC else PC+1

Page 135

MOTOROLA DSP96002 USER’S MANUAL 2 - 19 ZZ = ^end_of_sequence v ( ext_acc_req & ^—D—B–G ) (note 3) ZW = ^ext_acc_req & ^—B–G

Page 136 - DE DMA Operation

A - 32 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: Bcc label (short)Instruction Fields: Rn - R0-R7 Long Displacement - 32 bits Short Displ

Page 137 - 7.5.10 DMA Restrictions

MOTOROLA DSP96002 USER’S MANUAL A - 33BCHG Bit Test and Change BCHG Operation: D{n} → C;~D{n} → D{n} D{n} → C;~D{n} → D{n} D{n}

Page 138 - 7.6 I/O MEMORY MAP

A - 34 DSP96002 USER’S MANUAL MOTOROLAFor other destination operands: C - Set if bit tested is set. Cleared otherwise. V - Not affected. Z - Not affec

Page 139

MOTOROLA DSP96002 USER’S MANUAL A - 35For other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte

Page 140

A - 36 DSP96002 USER’S MANUAL MOTOROLAD ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 141 - EXCEPTION PROCESSING

MOTOROLA DSP96002 USER’S MANUAL A - 37BCLR Bit Test and Clear BCLR Operation: D{n} → C; 0 → D{n} D{n} → C; 0 → D{n} D{n}

Page 142

A - 38 DSP96002 USER’S MANUAL MOTOROLAFor other destination operands: C - Set if bit tested is set. Cleared otherwise. V - Not affected. Z - Not affec

Page 143

MOTOROLA DSP96002 USER’S MANUAL A - 39For other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte

Page 144

A - 40 DSP96002 USER’S MANUAL MOTOROLAD ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 145

MOTOROLA DSP96002 USER’S MANUAL A - 41BFIND Find Leading One BFINDInstruction Fields: DdddDn.H n n n where nnn = 0-7Ssss Dn.L n n n where nnn = 0-7Ti

Page 146

2 - 20 DSP96002 USER’S MANUAL MOTOROLA 5.16.3.5 Case 5 – Bus Lock during RMW If the device requesting mastership asserts —B–R and the arbiter asserts

Page 147

A - 42 DSP96002 USER’S MANUAL MOTOROLADescription: Program execution continues at location PC+displacement. The PC contains the address of the next

Page 148

MOTOROLA DSP96002 USER’S MANUAL A - 43BRCLR Branch if Bit Clear BRCLR Operation: If S{n} = 0, then PC + xxxx → PC else PC + 1 →

Page 149

A - 44 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxxx) ) PC Relative

Page 150

MOTOROLA DSP96002 USER’S MANUAL A - 45D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 151

A - 46 DSP96002 USER’S MANUAL MOTOROLABRSET Branch if Bit Set BRSET Operation: If S{n} = 1, then PC + xxxx → PC else PC + 1 → PC

Page 152

MOTOROLA DSP96002 USER’S MANUAL A - 47Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxxx) ) PC Relative

Page 153

A - 48 DSP96002 USER’S MANUAL MOTOROLAD ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 154

MOTOROLA DSP96002 USER’S MANUAL A - 49BScc Branch to Subroutine Conditionally BScc Operation: If cc, then PC → SSH; SR → SSL; PC+xx → PC else PC + 1

Page 155

A - 50 DSP96002 USER’S MANUAL MOTOROLAER Status Bits: Not affected. IER Flags: Not affected. Instruction Format: BScc label (short)1c cccc 0000

Page 156

MOTOROLA DSP96002 USER’S MANUAL A - 51BSCLR Branch to Subroutine if Bit Clear BSCLR Operation: If S{n} = 0,then PC → SSH; SR → SSL; PC + xxxx→ PC els

Page 157 - SECTION 9

MOTOROLA DSP96002 USER’S MANUAL 3 - 1 SECTION 3CHIP ARCHITECTURE 3.1 INTRODUCTION The DSP96002 architecture is a 32-bit highly-parallel multiple-bu

Page 158

A - 52 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) PC Relative D

Page 159

MOTOROLA DSP96002 USER’S MANUAL A - 53D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1 1 n n nD8

Page 160

A - 54 DSP96002 USER’S MANUAL MOTOROLABSET Bit Test and Set BSET Operation: D{n} → C; 1 → D{n} D{n} → C; 1 → D{n} D{

Page 161

MOTOROLA DSP96002 USER’S MANUAL A - 55For other destination operands: C - Set if bit tested is set. Cleared otherwise. V - Not affected. Z - Not affec

Page 162

A - 56 DSP96002 USER’S MANUAL MOTOROLAFor other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte

Page 163

MOTOROLA DSP96002 USER’S MANUAL A - 57D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 164

A - 58 DSP96002 USER’S MANUAL MOTOROLABSR Branch to Subroutine BSR 11 1111 0000 000031 14 13 0PC RELATIVE DISPLACEMENT0000 0011 0100 0000 0011 1111 00

Page 165

MOTOROLA DSP96002 USER’S MANUAL A - 59Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aa

Page 166

A - 60 DSP96002 USER’S MANUAL MOTOROLABSSET Branch to Subroutine if Bit SetBSSET Operation: If S{n} = 1, then PC → SSH; SR → SSL; PC + xxxx → P

Page 167 - ON-CHIP EMULATOR

MOTOROLA DSP96002 USER’S MANUAL A - 61 <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) PC Relative Displacement - 32 bit

Page 168

3 - 2 DSP96002 USER’S MANUAL MOTOROLAFigure 3-1. DSP96002 Block Diagram 3.2.2 Address Buses Addresses are specified for internal X Data Memory and

Page 169

A - 62 DSP96002 USER’S MANUAL MOTOROLA D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0

Page 170

MOTOROLA DSP96002 USER’S MANUAL A - 63BTST Bit Test BTST Operation: S{n} → C S{n} → C S{n} → C S{n} → C S{n} → C S{n}

Page 171

A - 64 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory alterable addressing modes only) Immediate Short Data -

Page 172

MOTOROLA DSP96002 USER’S MANUAL A - 65D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0 1

Page 173

A - 66 DSP96002 USER’S MANUAL MOTOROLACLR Clear an Operand CLR Instruction Fields: (u u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator clo

Page 174 - 10.4.2 Breakpoint Counter

MOTOROLA DSP96002 USER’S MANUAL A - 67CMP Compare CMP Operation: S2.L - S1.L (parallel data bus move) Assembler Syntax: CMP S1,S2 (mo

Page 175

A - 68 DSP96002 USER’S MANUAL MOTOROLAA - Cleared if result is negative without overflow. Cleared if result is positive with over-flow. Not affected o

Page 176

MOTOROLA DSP96002 USER’S MANUAL A - 69CMPG Graphics Compare with Trivial CMPGAccept/Reject Flags Operation: S2.L - S1.L (parallel data bus move) Ass

Page 177

A - 70 DSP96002 USER’S MANUAL MOTOROLAA - Cleared if result is negative without overflow. Cleared if result is positive with over-flow. Not affected o

Page 178

MOTOROLA DSP96002 USER’S MANUAL A - 71DEBUGcc Enter Debug Mode DEBUGccConditionally 0c cccc 1111 111131 14 13 00000 0000 0000 0000 01Operation: If cc,

Page 179

MOTOROLA DSP96002 USER’S MANUAL 3 - 33.2.3 Data ALU The Data ALU performs all of the arithmetic and logical operations on data operands. The Data AL

Page 180 - 10.9 PAB HISTORY BUFFER

A - 72 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields:Mnemonic c c c c c Mnemonic c c c c cEQ 0 1 0 0 0 NE(Q) 1 1 0 0 0 PL 01001 MI 11001 CC(HS) 0

Page 181

MOTOROLA DSP96002 USER’S MANUAL A - 73DEC Decrement by One DEC 10 0111 uu11 1ddd31 14 13 0OPTIONAL EFFECTIVE ADDRESS EXTENSION OR IMMEDIATE LONG DATA

Page 182

A - 74 DSP96002 USER’S MANUAL MOTOROLADO Start Hardware Loop DO Operation: LA → SSH; LC → SSL; X:<ea> → LC PC → SSH; SR → SSL; expr →

Page 183

MOTOROLA DSP96002 USER’S MANUAL A - 75"end-of-loop" processing begins.When executing a DO loop, the instructions are actually fetched each t

Page 184

A - 76 DSP96002 USER’S MANUAL MOTOROLA Other restrictions: BSR to (LA), if Loop Flag is set (F)BScc to (LA), if Loop Fl

Page 185

MOTOROLA DSP96002 USER’S MANUAL A - 77Example:DO #n1,END1 DO #n2,END2 MOVE D0,X:(R0)+ END2 ADD D1,D2 X:(R1)+,D3 END1 The assembler calculates the end

Page 186

A - 78 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Addr

Page 187

MOTOROLA DSP96002 USER’S MANUAL A - 79DOR Start PC Relative Hardware Loop DOR Operation: LA → SSH; LC → SSL; X:<ea> → LC PC → SSH; SR → SSL;

Page 188

A - 80 DSP96002 USER’S MANUAL MOTOROLArepresents the "next address" after the end of the loop. If a simple end of loop address label is us

Page 189 - INSTRUCTION SET DETAILS

MOTOROLA DSP96002 USER’S MANUAL A - 81 PC displacement - 32 bits Immediate Short Data - iiiiiiiiiiiiiiiiiii (19 bits) Memory Space SX Memory 0 Y Me

Page 190 - 101 Rn X X (Rn+Nn)

3 - 4 DSP96002 USER’S MANUAL MOTOROLA3.2.6 Y Data Memory The Y Data Memory may contain both data RAM and ROM. The Y Data RAM is a 32-bit wide intern

Page 191

A - 82 DSP96002 USER’S MANUAL MOTOROLAENDDO End Current DO Loop ENDDO 00 0000 0000 011131 14 13 00000 0000 0000 0000 00Operation: SSL(LF) → SR; SP-1 →

Page 192 - Figure A-3

MOTOROLA DSP96002 USER’S MANUAL A - 83EOR Logical Exclusive OR EOR Instruction Fields:(u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn =

Page 193 - Bcc ––––––––

A - 84 DSP96002 USER’S MANUAL MOTOROLAEXT Sign Extend Half Word EXT Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator c

Page 194

MOTOROLA DSP96002 USER’S MANUAL A - 85EXTB Sign Extend Byte EXTB Instruction Fields:(u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator clock

Page 195

A - 86 DSP96002 USER’S MANUAL MOTOROLAFABS.S Absolute Value FABS.S Operation: D → ROUND(SP) → D (parallel data bus move) Assembler Syntax: FABS

Page 196

MOTOROLA DSP96002 USER’S MANUAL A - 87Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv p

Page 197

A - 88 DSP96002 USER’S MANUAL MOTOROLAFABS.X Absolute Value FABS.X Operation: D → D (parallel data bus move) Assembler Syntax: FABS.X D

Page 198

MOTOROLA DSP96002 USER’S MANUAL A - 89Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv p

Page 199

A - 90 DSP96002 USER’S MANUAL MOTOROLAFADD.S Floating-Point Add FADD.S Operation: D + S → ROUND(SP) → D (parallel data bus move) Assembler Synta

Page 200

MOTOROLA DSP96002 USER’S MANUAL A - 91Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscillato

Page 201

MOTOROLA DSP96002 USER’S MANUAL 3 - 5 A program loop begins execution after the DO instruction and continues until the program address fetchedequals

Page 202

A - 92 DSP96002 USER’S MANUAL MOTOROLAFADD.X Floating-Point Add FADD.X Operation: D + S → ROUND(SEP) → D (parallel data bus move) Assembler Synt

Page 203

MOTOROLA DSP96002 USER’S MANUAL A - 93Instruction Fields: DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7 Timing: 2 + mv + da oscillator c

Page 204

A - 94 DSP96002 USER’S MANUAL MOTOROLAFADDSUB.S Add and Subtract FADDSUB.S Description: Add and subtract the two specified operands and round to sing

Page 205

MOTOROLA DSP96002 USER’S MANUAL A - 95Instruction Fields: D1 s s sDn n n n where nnn = 0-7D2 d d d Dn n n n where nnn = 0-7 Timing: 2 + mv + da osci

Page 206 - A.7 OPCODE DESCRIPTIONS

A - 96 DSP96002 USER’S MANUAL MOTOROLAFADDSUB.X Add and Subtract FADDSUB.X Description: Add and subtract the two specified operands and round to sing

Page 207 - ABS Absolute Value ABS

MOTOROLA DSP96002 USER’S MANUAL A - 97Instruction Fields: D1 s s sDn n n n where nnn = 0-7D2 d d d Dn n n n where nnn = 0-7Timing: 2 + mv + da oscill

Page 208 - ADD Add ADD

A - 98 DSP96002 USER’S MANUAL MOTOROLAFBcc Floating-Point Branch Conditionally FBccDescription: If the specified floating-point condition is true, th

Page 209 - ADDC Add with Carry ADDC

MOTOROLA DSP96002 USER’S MANUAL A - 99ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affect

Page 210 - AND Logical AND AND

A - 100 DSP96002 USER’S MANUAL MOTOROLA Rn - R0-R7 Long Displacement - 32 bits Short Displacement - aaaaaaaaaaaaaaa (15 bits) Mnemonic c c c c c

Page 211

MOTOROLA DSP96002 USER’S MANUAL A - 101FBScc Floating-Point Branch FBSccTo Subroutine Conditionally Description: If the specified floating-point cond

Page 212

3 - 6 DSP96002 USER’S MANUAL MOTOROLA cessors, another DSP96002 or DMA hardware. The HI appears as a memory mapped peripheral occupy-ing 16 words in

Page 213

A - 102 DSP96002 USER’S MANUAL MOTOROLA"cc" may specify the following conditions: Non-aware*Mnemonic Condition Set UNCCEQ - equal Z = 1 NoE

Page 214

MOTOROLA DSP96002 USER’S MANUAL A - 103Instruction Fields: Rn - R0-R7 Long Displacement - 32 bits Short Displacement - aaaaaaaaaaaaaaa (15 bits)

Page 215 - ASL Arithmetic Shift Left ASL

A - 104 DSP96002 USER’S MANUAL MOTOROLAFCLR Clear Floating-Point Register FCLR 10 0000 uu11 0ddd31 14 13 0OPTIONAL EFFECTIVE ADDRESS EXTENSION OR IMME

Page 216

MOTOROLA DSP96002 USER’S MANUAL A - 105 Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + m

Page 217

A - 106 DSP96002 USER’S MANUAL MOTOROLAFCMP Compare Two FCMP Floating-Point OperandsOperation: S2 - S1 (parallel data bus move) Assembler

Page 218

MOTOROLA DSP96002 USER’S MANUAL A - 107Instruction Fields: S1 s s sDn n n n where nnn = 0-7(u u)S2 d d d Dn n n n where nnn = 0-7Timing: 2 + mv + da

Page 219 - Bcc Branch Conditionally Bcc

A - 108 DSP96002 USER’S MANUAL MOTOROLAFCMPG Graphics Compare FCMPG with Trivial Accept/Reject Flags Operation: S2 - S1 (parallel data bus

Page 220

MOTOROLA DSP96002 USER’S MANUAL A - 109CCR Condition Codes: (Note: Since there is no destination, there is no rounding and therefore the condition cod

Page 221 - BCHG Bit Test and Change BCHG

A - 110 DSP96002 USER’S MANUAL MOTOROLAFCMPM Compare Magnitude FCMPMof Two Floating-Point Operands Operation: S2 - S1 (parallel data bus move)

Page 222

MOTOROLA DSP96002 USER’S MANUAL A - 111Instruction Fields: S1 s s sDn n n n where nnn = 0-7S2 d d d Dn n n n where nnn = 0-7Timing: 2 + mv + da oscil

Page 223

1 - 2 DSP96002 USER’S MANUAL MOTOROLA

Page 224

MOTOROLA DSP96002 USER’S MANUAL 3 - 7Figure 3-2. Data ALU Block Diagram Data ALU Register File (D0-D9) The registers may also be treated as thirty

Page 225 - BCLR Bit Test and Clear BCLR

A - 112 DSP96002 USER’S MANUAL MOTOROLAFCOPYS.S Copy Sign FCOPYS.S Description: Copy the sign of the floating-point operand S to the floating-point

Page 226

MOTOROLA DSP96002 USER’S MANUAL A - 113Instruction Fields: SsssDn n n n where nnn = 0-7(u u)Dddd Dn n n n where nnn = 0-7Timing: 2 + mv + da oscillat

Page 227

A - 114 DSP96002 USER’S MANUAL MOTOROLAFCOPYS.X Copy Sign FCOPYS.X Operation: Sign of S → D (parallel data bus move) Assembler Syntax: FCOPYS

Page 228

MOTOROLA DSP96002 USER’S MANUAL A - 115Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscillat

Page 229 - BFIND Find Leading One BFIND

A - 116 DSP96002 USER’S MANUAL MOTOROLAFDEBUGcc Enter Debug Mode FDEBUGcc ConditionallyOperation: If cc, then enter debug mode. Assembler Syntax: FDE

Page 230 - BRA Branch Always BRA

MOTOROLA DSP96002 USER’S MANUAL A - 117ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affec

Page 231

A - 118 DSP96002 USER’S MANUAL MOTOROLAFGETMAN Extract the Mantissa FGETMAN Operation: Normalized mantissa of S → D (parallel data bus move) As

Page 232

MOTOROLA DSP96002 USER’S MANUAL A - 119CCR Condition Codes: C - Not affected. V - Not affected. Z - Set if result is zero. Cleared otherwise. N - Set

Page 233

A - 120 DSP96002 USER’S MANUAL MOTOROLAFINT Extract the Integer Part FINT Assembler Syntax: FINT S,D (move syntax - see the MOVE instruction de-sc

Page 234 - BRSET Branch if Bit Set BRSET

MOTOROLA DSP96002 USER’S MANUAL A - 121(u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemor

Page 235

3 - 8 DSP96002 USER’S MANUAL MOTOROLA For the floating-point multiplication the Multiplier accepts two 44-bit input operands, and outputs one 44-bitr

Page 236

A - 122 DSP96002 USER’S MANUAL MOTOROLAFJcc Floating-Point Jump Conditionally FJcc Operation: If cc, then xx → PC else PC+1 → PC If cc, then

Page 237

MOTOROLA DSP96002 USER’S MANUAL A - 123CCR Condition Codes: Not affected. ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected.

Page 238

A - 124 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits

Page 239

MOTOROLA DSP96002 USER’S MANUAL A - 125FJScc Floating-Point Jump To Subroutine FJScc ConditionallyOperation: If cc, then PC → SSH; SR → SSL; xx → P

Page 240

A - 126 DSP96002 USER’S MANUAL MOTOROLAER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affec

Page 241

MOTOROLA DSP96002 USER’S MANUAL A - 127 ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits Short Jump Address -

Page 242 - BSET Bit Test and Set BSET

A - 128 DSP96002 USER’S MANUAL MOTOROLAFLOAT.S Integer to Floating-Point FLOAT.S ConversionOperation: D.L → CONVERT TO FP → ROUND(SP) → D

Page 243

MOTOROLA DSP96002 USER’S MANUAL A - 129Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv

Page 244

A - 130 DSP96002 USER’S MANUAL MOTOROLAFLOAT.X Integer to Floating-Point FLOAT.X ConversionOperation: D.L → CONVERT TO FP → D

Page 245

MOTOROLA DSP96002 USER’S MANUAL A - 131Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscill

Page 246 - BSR Branch to Subroutine BSR

MOTOROLA DSP96002 USER’S MANUAL 3 - 9 All operations inside the Adder occur in one instruction cycle. Latches are provided on the Adder input op-eran

Page 247

A - 132 DSP96002 USER’S MANUAL MOTOROLAFLOATU.S Unsigned Integer to FLOATU.S Floating-Point ConversionOperation: D.L → CONVERT TO FP → ROUND(SP) → D

Page 248

MOTOROLA DSP96002 USER’S MANUAL A - 133Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv

Page 249

A - 134 DSP96002 USER’S MANUAL MOTOROLAFLOATU.X Unsigned Integer to FLOATU.X Floating-Point ConversionDescription: Convert the unsigned 32-bit intege

Page 250

MOTOROLA DSP96002 USER’S MANUAL A - 135Instruction Fields: (u u)DdddDnnnn where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv pro

Page 251 - BTST Bit Test BTST

A - 136 DSP96002 USER’S MANUAL MOTOROLAFLOOR Extract the Integer Part FLOOR Operation: S→ ROUND TO INTEGER → D (parallel data

Page 252

MOTOROLA DSP96002 USER’S MANUAL A - 137Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscillat

Page 253

A - 138 DSP96002 USER’S MANUAL MOTOROLAOperation: S1 * S2 → ROUND(MP) → D1 (parallel data bus move) S3 + D2 → ROUND(SP) → D2 FMP

Page 254 - CLR Clear an Operand CLR

MOTOROLA DSP96002 USER’S MANUAL A - 139SNAN -Set if anyone of the source operands is a signaling NaN. Cleared otherwise. NAN -Set if result of the add

Page 255 - CMP Compare CMP

A - 140 DSP96002 USER’S MANUAL MOTOROLA FMPY//FADD.X Floating-Point FMPY//FADD.X Multiply and AddDescription: Multiply the two operands S1 and S2, ro

Page 256

MOTOROLA DSP96002 USER’S MANUAL A - 141IER Flags: Flags changed according to standard definition. Instruction Format: FMPY S1,S2,D1 FADD.X S3,D2

Page 257 - Accept/Reject Flags

3 - 10 DSP96002 USER’S MANUAL MOTOROLA Linkages are provided to shift in/out the condition code carry (C) bit. 3.3.2.4 Exponent Comparator and Updat

Page 258

A - 142 DSP96002 USER’S MANUAL MOTOROLAFMPY//FADDSUB.S FMPY//FADDSUB.SFloating-Point Multiply, Add, and SubtractOperation: S1 * S2 → ROUND(MP) → D1

Page 259 - Conditionally

MOTOROLA DSP96002 USER’S MANUAL A - 143ER Status Bits: INX -Set if the result of the addition, subtraction or multiplication is inexact. Cleared oth-e

Page 260

A - 144 DSP96002 USER’S MANUAL MOTOROLAFMPY//FADDSUB.X FMPY//FADDSUB.X Floating-Point Multiply, Add, and SubtractOperation: S1 * S2 → ROUND(SEP) → D1

Page 261 - DEC Decrement by One DEC

MOTOROLA DSP96002 USER’S MANUAL A - 145ER Status Bits: INX - Set if the result of the addition, subtraction or multiplication is inexact. Cleared oth-

Page 262 - DO Start Hardware Loop DO

A - 146 DSP96002 USER’S MANUAL MOTOROLAFMPY//FSUB.S Floating-Point FMPY//FSUB.S Multiply and SubtractOperation: S1 * S2 → ROUND(MP) → D1

Page 263

MOTOROLA DSP96002 USER’S MANUAL A - 147OPERR-Set if one of the multiply operands is infinity and the other is zero. Set if the subtract operands are l

Page 264

A - 148 DSP96002 USER’S MANUAL MOTOROLAFMPY S2,S1,D1 FSUB.S S3,D2 (move syntax - see the MOVE instruction de-scription.)

Page 265

MOTOROLA DSP96002 USER’S MANUAL A - 149

Page 266

A - 150 DSP96002 USER’S MANUAL MOTOROLAFMPY//FSUB.X Floating-Point FMPY//FSUB.X Multiply and SubtractOperation: S1 * S2 → ROUND(SEP) → D1

Page 267

MOTOROLA DSP96002 USER’S MANUAL A - 151NAN -Set if result of the subtraction is a NaN. Cleared otherwise. UNCC -Always cleared. IER Flags: Flags chan

Page 268

MOTOROLA DSP96002 USER’S MANUAL 3 - 113.4 AGU The major components of the AGU are • Address Register Files • Offset Register Files • Modifier Reg

Page 269

A - 152 DSP96002 USER’S MANUAL MOTOROLAFMPY.S Floating-Point Multiply FMPY.S Operation: S1 * S2 → ROUND(SP) → D (parallel data bus

Page 270

MOTOROLA DSP96002 USER’S MANUAL A - 153Instruction Fields: S1 s s sDn n n n where nnn = 0-7S2 S S S Dn n n n where nnn = 0-7S2 SD8 0D9 1Dddd Dn n n

Page 271 - EOR Logical Exclusive OR EOR

A - 154 DSP96002 USER’S MANUAL MOTOROLAFMPY.X Floating-Point Multiply FMPY.X Operation: S1 * S2 → ROUND(SEP) → D (parallel data bus

Page 272 - EXT Sign Extend Half Word EXT

MOTOROLA DSP96002 USER’S MANUAL A - 155Instruction Fields: S1 s s sDn n n n where nnn = 0-7S2 S S S Dn n n n where nnn = 0-7S2 SD8 0D9 1Dddd Dn n n

Page 273 - EXTB Sign Extend Byte EXTB

A - 156 DSP96002 USER’S MANUAL MOTOROLAFNEG.S Negate FNEG.S Operation: 0 - D → ROUND(SP) → D (parallel data bus move) Assembler Syntax: FNEG.S D

Page 274 - FABS.S Absolute Value FABS.S

MOTOROLA DSP96002 USER’S MANUAL A - 157Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv

Page 275

A - 158 DSP96002 USER’S MANUAL MOTOROLA FNEG.X Negate FNEG.X Operation: 0 - D → D (parallel data bus move) Assembler Syntax: FNEG.X D

Page 276 - FABS.X Absolute Value FABS.X

MOTOROLA DSP96002 USER’S MANUAL A - 159Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv

Page 277

A - 160 DSP96002 USER’S MANUAL MOTOROLAFSCALE.S Scale FSCALE.S a Floating-Point OperandOperation: 2S.H * D → ROUND(SP) → D (pa

Page 278

MOTOROLA DSP96002 USER’S MANUAL A - 161Instruction Fields: Immediate Short Data - nnnnnnnn (8 bits) (u u)DdddDn n n n where nnn = 0-7Ssss Dn.H n n

Page 279

3 - 12 DSP96002 USER’S MANUAL MOTOROLAFigure 3-3. AGU Block Diagram ister during address register update calculations but they can hold data. Each m

Page 280

A - 162 DSP96002 USER’S MANUAL MOTOROLAFSCALE.X Scale FSCALE.Xa Floating-Point OperandOperation: 2S.H * D → ROUND(SEP) → D

Page 281

MOTOROLA DSP96002 USER’S MANUAL A - 163IER Flags: Flags changed according to standard definition. Instruction Fields: Immediate Short Data - nnnnnn

Page 282

A - 164 DSP96002 USER’S MANUAL MOTOROLAFSEEDD Reciprocal Approximation FSEEDD Operation: Approximation(1/S) → D Assembler Syntax: FSEEDD S,D Descri

Page 283

MOTOROLA DSP96002 USER’S MANUAL A - 165ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Set if result underflows. Cleared otherwise. OVF

Page 284

A - 166 DSP96002 USER’S MANUAL MOTOROLAFSEEDR Square Root FSEEDRReciprocal ApproximationOperation: Approximation(1/SQRT(S)) → D Assembler Syntax: FSE

Page 285

MOTOROLA DSP96002 USER’S MANUAL A - 167ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Always cleared. OVF -Always cleared. OPERR-Set if

Page 286

A - 168 DSP96002 USER’S MANUAL MOTOROLAFSUB.S Floating-Point Subtract FSUB.S Operation: D - S → ROUND(SP) → D (parallel data bus mo

Page 287

MOTOROLA DSP96002 USER’S MANUAL A - 169Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7 Timing: 2 + mv + da oscill

Page 288

A - 170 DSP96002 USER’S MANUAL MOTOROLAFSUB.X Floating-Point Subtract FSUB.X Operation: D - S → ROUND(SEP) → D (parallel data bus mo

Page 289 - To Subroutine Conditionally

MOTOROLA DSP96002 USER’S MANUAL A - 171Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscilla

Page 290

MOTOROLA DSP96002 USER’S MANUAL 3 - 13 one instruction cycle. In the following cycle, the contents of TempR are used to address X or Y memory.For all

Page 291

A - 172 DSP96002 USER’S MANUAL MOTOROLAFTFR.S Transfer Floating-Point FTFR.SData ALU RegisterOperation: S → ROUND(SP) → D (parallel data b

Page 292

MOTOROLA DSP96002 USER’S MANUAL A - 173Instruction Fields: (u u)DdddDn n n n where nnn = 0-7SsssDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator

Page 293

A - 174 DSP96002 USER’S MANUAL MOTOROLAFTFR.X Transfer Floating-Point FTFR.XData ALU RegisterOperation: S → D (parallel data bus mov

Page 294 - Floating-Point Operands

MOTOROLA DSP96002 USER’S MANUAL A - 175Instruction Fields: (u u)DdddDn n n n where nnn = 0-7Ssss Dn n n n where nnn = 0-7Timing: 2 + mv + da oscilla

Page 295

A - 176 DSP96002 USER’S MANUAL MOTOROLAFTRAPcc Conditional Software Interrupt FTRAPcc Operation: If cc, then begin software exception processing. Asse

Page 296 - FCMPG Graphics Compare FCMPG

MOTOROLA DSP96002 USER’S MANUAL A - 177INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affected. SNAN - Not

Page 297

A - 178 DSP96002 USER’S MANUAL MOTOROLAFTST Test a Floating-Point Operand FTST Operation: S - 0 (parallel data bus move) Assembler Synt

Page 298 - FCMPM Compare Magnitude FCMPM

MOTOROLA DSP96002 USER’S MANUAL A - 179Instruction Fields: (u u)SdddDn n n n where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv

Page 299

A - 180 DSP96002 USER’S MANUAL MOTOROLAGETEXP Extract Exponent GETEXP Operation: Exponent(S) → D.L (parallel data bus move) Assembler Syntax: GETE

Page 300 - FCOPYS.S Copy Sign FCOPYS.S

MOTOROLA DSP96002 USER’S MANUAL A - 181ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Always cleared. OVF -Always cleared. OPERR-Set if

Page 301

3 - 14 DSP96002 USER’S MANUAL MOTOROLA address output multiplexers are shared by the DMA and the AGU. The output multiplexers are time multi-plexed –

Page 302 - FCOPYS.X Copy Sign FCOPYS.X

A - 182 DSP96002 USER’S MANUAL MOTOROLAILLEGAL Illegal Instruction Interrupt ILLEGAL Instruction Fields: None Timing: 8 oscillator clock cyclesMemory

Page 303

MOTOROLA DSP96002 USER’S MANUAL A - 183INC Increment by One INC Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7 Timing: 2 + mv oscillator cloc

Page 304

A - 184 DSP96002 USER’S MANUAL MOTOROLAINT Floating-Point to Integer Conversion INT Operation: Integer(D) → D.L (parallel data bus move) Assembler

Page 305

MOTOROLA DSP96002 USER’S MANUAL A - 185OVF -Always cleared. OPERR-Set if source operand is a NaN or infinity. Set if overflow occurred. Cleared other-

Page 306

A - 186 DSP96002 USER’S MANUAL MOTOROLAINTRZ Floating-Point INTRZto Integer Conversion with Round to ZeroOperation: Integer(D) → D.L (parallel dat

Page 307

MOTOROLA DSP96002 USER’S MANUAL A - 187ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.

Page 308

A - 188 DSP96002 USER’S MANUAL MOTOROLAINTU Floating-Point INTUto Unsigned Integer ConversionOperation: Unsigned Integer(D) → D.L

Page 309

MOTOROLA DSP96002 USER’S MANUAL A - 189ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.

Page 310

A - 190 DSP96002 USER’S MANUAL MOTOROLAINTURZ Floating-Point INTURZto Unsigned Integer with Round to ZeroOperation: Unsigned Integer(D) → D.L

Page 311

MOTOROLA DSP96002 USER’S MANUAL A - 191ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.

Page 312

MOTOROLA DSP96002 USER’S MANUAL 3 - 15Figure 3-4. Modulo Arithmetic Unit Block Diagram

Page 313

A - 192 DSP96002 USER’S MANUAL MOTOROLAJcc Jump Conditionally Jcc Operation: If cc, then xx → PC else PC + 1 → PC If cc, then ea → PC

Page 314

MOTOROLA DSP96002 USER’S MANUAL A - 193Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits S

Page 315

A - 194 DSP96002 USER’S MANUAL MOTOROLAJCLR Jump if Bit Clear JCLR Operation: If S{n} = 0, then xxxx → PC else PC + 1 → PC If S{n} = 0,

Page 316 - Conversion

MOTOROLA DSP96002 USER’S MANUAL A - 195Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Add

Page 317

A - 196 DSP96002 USER’S MANUAL MOTOROLA D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0

Page 318

MOTOROLA DSP96002 USER’S MANUAL A - 197JMP Jump JMP Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address

Page 319

A - 198 DSP96002 USER’S MANUAL MOTOROLAJOIN Join Two 16-bit Integers JOIN 11 0sss 1010 0ddd31 14 13 0OPTIONAL EFFECTIVE ADDRESS EXTENSION OR IMMEDIATE

Page 320 - Floating-Point Conversion

MOTOROLA DSP96002 USER’S MANUAL A - 199JOINB Join Two 8-bit Integers JOINB Operation: D.L {7:0} → D.L {7:0} (parallel data bus move)S.L {7:0} → D.L {

Page 321

A - 200 DSP96002 USER’S MANUAL MOTOROLAJScc Jump to Subroutine Conditionally JScc Operation: If cc, then PC → SSH; SR → SSL; xx → PC else PC

Page 322

MOTOROLA DSP96002 USER’S MANUAL A - 201Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits S

Page 323

3 - 16 DSP96002 USER’S MANUAL MOTOROLA

Page 324

A - 202 DSP96002 USER’S MANUAL MOTOROLAJSCLR Jump to Subroutine if Bit Clear JSCLR Operation: If S{n} = 0, then PC → SSH; SR → SSL; xxxx → PC else

Page 325

MOTOROLA DSP96002 USER’S MANUAL A - 203Instruction Format: JSCLR #bit,S,labeld0 0100 100b bbbb31 14 13 0ABSOLUTE ADDRESS EXTENSION0000 0010 1111 d

Page 326 - Multiply and Add

A - 204 DSP96002 USER’S MANUAL MOTOROLA <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Address - 32 bits Imm

Page 327

MOTOROLA DSP96002 USER’S MANUAL A - 205JSET Jump if Bit Set JSET Operation: If S{n} = 1, then xxxx → PC else PC + 1 → PC If S{n} = 1,

Page 328

A - 206 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Add

Page 329

MOTOROLA DSP96002 USER’S MANUAL A - 207D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0

Page 330 - Multiply, Add, and Subtract

A - 208 DSP96002 USER’S MANUAL MOTOROLAJSR Jump to Subroutine JSR Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Abs

Page 331

MOTOROLA DSP96002 USER’S MANUAL A - 209JSSET Jump to Subroutine if Bit Set JSSET Operation: If S{n} = 1, then PC → SSH; SR → SSL; xxxx → PC else PC

Page 332

A - 210 DSP96002 USER’S MANUAL MOTOROLA <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Address - 32 bits Imm

Page 333

MOTOROLA DSP96002 USER’S MANUAL A - 211D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0

Page 334 - Multiply and Subtract

MOTOROLA DSP96002 USER’S MANUAL 2 - 1 SECTION 2SIGNAL DESCRIPTION AND BUS OPERATION 2.1 PINOUT The functional signal groups of the DSP96002 are show

Page 335

MOTOROLA DSP96002 USER’S MANUAL 4 - 1 SECTION 4SOFTWARE ARCHITECTURE 4.1 PROGRAMMING MODEL The programmer can view the DSP96002 architecture as thr

Page 336

A - 212 DSP96002 USER’S MANUAL MOTOROLALEA Load Effective Address LEA Operation: ea → D Rn+xxxx → D Assembler Syntax: LEA ea,D LEA (Rn+disp

Page 337

MOTOROLA DSP96002 USER’S MANUAL A - 213ER Status Bits: For destination operand SR: INX -Set according to bit 8 of the source operand. DZ -Set accordi

Page 338

A - 214 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: ea Rn - R0-R7 (Post-update addressing modes only) Long Displacement - 32 bits D ddddd

Page 339

MOTOROLA DSP96002 USER’S MANUAL A - 215LRA Load PC Relative AddressLRA Operation: PC+Rn → D Assembler Syntax: LRA Rn,D LRA label,D Descript

Page 340

A - 216 DSP96002 USER’S MANUAL MOTOROLAPC+xxxx → D

Page 341

MOTOROLA DSP96002 USER’S MANUAL A - 217ER Status Bits: For destination operand SR: INX -Set according to bit 8 of the source operand. DZ -Set accordi

Page 342

A - 218 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: Rn - R0-R7 Long Displacement - 32 bits D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0

Page 343

MOTOROLA DSP96002 USER’S MANUAL A - 219LSL Logical Shift Left LSL Operation: Assembler Syntax: LSL D (move syntax - see the Move instructi

Page 344 - FNEG.S Negate FNEG.S

A - 220 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.H n n n where nnn = 0-7 N nnnnnn 0 000000 1 00

Page 345

MOTOROLA DSP96002 USER’S MANUAL A - 221LSR Logical Shift Right LSR Operation: Assembler Syntax: LSR D (move syntax - see the Move instruct

Page 346 - FNEG.X Negate FNEG.X

4 - 2 DSP96002 USER’S MANUAL MOTOROLA M7 M6 M5 M4 M3 M2 M1 M0 R7 R6 R5 R4 R3 R2 R1 R0 ADDRESS GENERATION UNIT N7 N6 N5 N4 N3 N2 N1 N0 Figure

Page 347

A - 222 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.H n n n where nnn = 0-7 N nnnnnn 0 000000 1 00

Page 348 - FSCALE.S Scale FSCALE.S

MOTOROLA DSP96002 USER’S MANUAL A - 223MOVE Move Data Registers MOVE A.7.1 PARALLEL MOVE OPERATION DESCRIPTIONS Many instructions provide the capab

Page 349

A - 224 DSP96002 USER’S MANUAL MOTOROLANo Parallel Data Move Instruction Format: Opcode-operands0000 0000 0110 0000 01 uu uuuu uuuu uuuu31 14 13 0Inst

Page 350 - FSCALE.X Scale FSCALE.X

MOTOROLA DSP96002 USER’S MANUAL A - 225R Register To Register Parallel Move ROperation: Opcode Operation S1 → D1 Opcode Operation S2

Page 351

A - 226 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields: S1 or D DD DD D D1 dddddd D0.S-D7.S 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 1

Page 352

MOTOROLA DSP96002 USER’S MANUAL A - 227U Move Update U(Effective Address Calculation)Instruction Fields: ea Rn - R0-R7 (Update addressing modes

Page 353

A - 228 DSP96002 USER’S MANUAL MOTOROLAX: X Memory Move X:Operation:X:<ea> → DX:<Rn+xxxx> → DS → X:<ea>S → X:<Rn+

Page 354 - Reciprocal Approximation

MOTOROLA DSP96002 USER’S MANUAL A - 229Instruction Format - Opcode-operands: S,X: ea X: ea, D#Data,D0011 W0DD DDDD MMMR uu uuuu uuuu uuuu31 14 13 0OPT

Page 355

A - 230 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory addressing modes only)Register WRead S 0Write D 1 S1

Page 356

MOTOROLA DSP96002 USER’S MANUAL A - 231X: R X Memory and Register Move X: ROperation:X:<ea> → D1 S2 → D2S1 → X:<ea> S2 → D

Page 357

MOTOROLA DSP96002 USER’S MANUAL 4 - 3 floating point number a format conversion to/from the internal representation takes place. The format con-versi

Page 358

A - 232 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory addressing modes only)Register WRead S1 0Write D1 1I

Page 359

MOTOROLA DSP96002 USER’S MANUAL A - 233Y: Y Memory Move Y: Operation:Opcode Operation Y:<ea> → DOpcode Operation Y:<Rn+xxxx>

Page 360 - Data ALU Register

A - 234 DSP96002 USER’S MANUAL MOTOROLA Register W Read S 0 Write D 1 S1 or DDDDDD D1 dddddd D0.S-D7.S 0 0 0 n n n where nnn = 0-

Page 361

MOTOROLA DSP96002 USER’S MANUAL A - 235Y: R Y Memory and Register Move Y: R 011d WdYY YXXX MMMR uu uuuu uuuu uuuu31 14 13 0OPTIONAL EFFECTIVE ADDRESS

Page 362

A - 236 DSP96002 USER’S MANUAL MOTOROLA Register WRead S2 0Write D2 1Integer Opcodes Floating-Point OpcodesS2,D2 Y Y Y S2,D2 Y Y YD0.L-D7.L n n

Page 363

MOTOROLA DSP96002 USER’S MANUAL A - 237L: Long Memory Move L:0010 01WD DDDD MMMR uu uuuu uuuu uuuu31 14 13 0OPTIONAL EFFECTIVE ADDRESS EXTENSIONInstru

Page 364

A - 238 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea>Rn - R0-R7 (Memory alterable addressing modes only) Register WRead S 0Write D

Page 365

MOTOROLA DSP96002 USER’S MANUAL A - 239X: Y: XY Memory X: Y: Operation:X:<ea> → D1 Y:<ea> → D2X:<ea> → D1 S2 → Y:<

Page 366

A - 240 DSP96002 USER’S MANUAL MOTOROLAInstruction Format - Opcode-operands:X: ea, D1 Y: ea, D2X: ea, D1 S2,Y: ea S1,X: ea Y: ea, D2S1,X: ea S2,Y:

Page 367

MOTOROLA DSP96002 USER’S MANUAL A - 241For a single effective address:Register WRead S1,S2 0Write D1,D2 1Effective AddressX: ea = Y: ea

Page 368

4 - 4 DSP96002 USER’S MANUAL MOTOROLA ister will be accessed for an address register update calculation involving an address register of the samenumb

Page 369

A - 242 DSP96002 USER’S MANUAL MOTOROLAFFcc Floating-Point iF FFccConditional Instructionwithout CCR, ER, IER updateOperation:If cc, thenOpcode Operat

Page 370

MOTOROLA DSP96002 USER’S MANUAL A - 243CAUTIONSee restrictions in Section A.10.6 concerning Rn, Mn, and Nn registers as a destination. CCR Condition

Page 371 - INC Increment by One INC

A - 244 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields:StttRn n n n where nnn = 0-7DTTTRn n n n where nnn = 0-7Mnemonic c c c c c Mnemonic c c c

Page 372

MOTOROLA DSP96002 USER’S MANUAL A - 245FFcc.U Floating-Point iF FFcc.UConditional Instructionwith CCR, ER, IER Update Operation: If cc, then opcode o

Page 373

A - 246 DSP96002 USER’S MANUAL MOTOROLACAUTIONSee restrictions in Section A.10.6 concerning Rn, Mn, and Nn registers as adestination. CCR Condition Co

Page 374 - INTRZ Floating-Point INTRZ

MOTOROLA DSP96002 USER’S MANUAL A - 247Instruction Format - Opcode-operands: S,D FFcc.UFFcc.UInstruction Fields:StttRn n n n where nnn = 0-7DTTTRn

Page 375

A - 248 DSP96002 USER’S MANUAL MOTOROLAIFcc Integer iF IFcc Conditional Instruction without CCR UpdateOperation: If cc, then opcode operationS →

Page 376 - INTU Floating-Point INTU

MOTOROLA DSP96002 USER’S MANUAL A - 249CCR Condition Codes: C - Not affected.V - Not affected. Z - Not affected. N - Not affected. I - Not affected.

Page 377

A - 250 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields:StttRn n n n where nnn = 0-7DTTTRn n n n where nnn = 0-7Mnemonic c c c c c Mnemonic c c c c

Page 378 - INTURZ Floating-Point INTURZ

MOTOROLA DSP96002 USER’S MANUAL A - 251IFcc.U Integer iF IFcc.UConditional Instructionwith CCR, ER, and IER UpdateOperation:If cc, then opcode operat

Page 379

MOTOROLA DSP96002 USER’S MANUAL 4 - 5 LF*I1 I0 FZ MP**31 30 29 28 27 26 25 24ReservedMultiplyFlush to ZeroInterrupt MaskReservedLoop Flag MR *R1 R0

Page 380 - Jcc Jump Conditionally Jcc

A - 252 DSP96002 USER’S MANUAL MOTOROLACCR Condition Codes:C - Affected by the accompanying Data ALU operation if the specified condition is true.Not

Page 381

MOTOROLA DSP96002 USER’S MANUAL A - 253Instruction Fields: StttRn n n n where nnn = 0-7DTTTRn n n n where nnn = 0-7Mnemonic c c c c c Mnemonic c c c

Page 382 - JCLR Jump if Bit Clear JCLR

A - 254 DSP96002 USER’S MANUAL MOTOROLAMOVE(C) Move Control Register MOVE(C) Operation: S3 → D2 S2 → D1 #xxxx → D1 X:<

Page 383

MOTOROLA DSP96002 USER’S MANUAL A - 255For destination operand SR: C - Set according to bit 0 of the source operand. V - Set according to bit 1 of the

Page 384 - D ddddddd

A - 256 DSP96002 USER’S MANUAL MOTOROLAFor destination operand SR: SINX -Set according to bit 16 of the source operand. SDZ -Set according to bit 17 o

Page 385 - JMP Jump JMP

MOTOROLA DSP96002 USER’S MANUAL A - 257S3 DDDDDDD S1, D1 d d d d d d d SR 1111001 OMR 1111010 SP 1111011 SSH 1111100 SSL 1111101 LA 1111110 LC 1111111

Page 386

A - 258 DSP96002 USER’S MANUAL MOTOROLAMOVE(I) Immediate Short Data Move MOVE(I) Operation: #xx → D Assembler Syntax: MOVE(I) #Data,D Description:

Page 387

MOTOROLA DSP96002 USER’S MANUAL A - 259ER Status Bits: For destination operand SR: INX -Set according to bit 8 of the source operand. DZ -Set accordi

Page 388

A - 260 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: Immediate Short Data - iiiiiiiiiiiiiiii (16 bits) D ddddddd D0.S-D7.S 0 0 0 0 n n n where

Page 389

MOTOROLA DSP96002 USER’S MANUAL A - 261MOVE(M) Move Program Memory MOVE(M) Operation: P:<ea> → D S → P:<ea> Assembler Syntax: MOVE(M)

Page 390

4 - 6 DSP96002 USER’S MANUAL MOTOROLA 4.7.2 CCR Overflow (V) Bit 1 The integer overflow bit is set if an arithmetic overflow occurred in a fixed poin

Page 391

A - 262 DSP96002 USER’S MANUAL MOTOROLAFor destination operands other than SR: C - Not affected. V - Not affected. Z - Not affected. N - Not affected.

Page 392

MOTOROLA DSP96002 USER’S MANUAL A - 263Instruction Format: MOVE(M) P: ea, D MOVE(M) S,P: ea Instruction Fields: <ea>

Page 393 - JSET Jump if Bit Set JSET

A - 264 DSP96002 USER’S MANUAL MOTOROLAMOVE(P) Move Peripheral Data MOVE(P) Operation: X:<pp> → D S → X:<pp> #xxxx → X:<pp> Y:<

Page 394

MOTOROLA DSP96002 USER’S MANUAL A - 265the system stack pointer SP is preincremented by 1 before SSH is written. This allows the system stackto be e

Page 395

A - 266 DSP96002 USER’S MANUAL MOTOROLAFor destination operands other than SR: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not af

Page 396 - JSR Jump to Subroutine JSR

MOTOROLA DSP96002 USER’S MANUAL A - 267 Instruction Fields: <ea> Rn - R0-R7 X: or Y: reference (Memory addressing modes only) P: referenc

Page 397

A - 268 DSP96002 USER’S MANUAL MOTOROLAS,D ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0

Page 398

MOTOROLA DSP96002 USER’S MANUAL A - 269MOVE(S) Move Absolute Short MOVE(S) Operation: X:<aa> → D1 S1 → X :<aa> #xxxx → X:<aa>

Page 399

A - 270 DSP96002 USER’S MANUAL MOTOROLAIf the system stack register SSH is specified as a source operand, the system stack pointer SP is postdec-reme

Page 400

MOTOROLA DSP96002 USER’S MANUAL A - 271For destination operands other than SR: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not af

Page 401

MOTOROLA DSP96002 USER’S MANUAL 4 - 7 4.7.10 ER Divide-by-Zero (DZ) Bit 9 The DZ flag in the DSP96002 can be set by software as part ofo an FDIV rou

Page 402

A - 272 DSP96002 USER’S MANUAL MOTOROLASIOP - Not affected.

Page 403 - LRA Load PC Relative Address

MOTOROLA DSP96002 USER’S MANUAL A - 273Instruction Format: MOVE(S) X: aa, P: ea MOVE(S) Y: aa, P: ea MOVE(S) P: ea, X: aa MOVE(S) P: ea, Y: a

Page 404 - PC+xxxx → D

A - 274 DSP96002 USER’S MANUAL MOTOROLAS1, D1 d d d d d d d D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.

Page 405

MOTOROLA DSP96002 USER’S MANUAL A - 275MOVETA Move Data Registers MOVETA and Test AddressOperation: parallel data bus move Assembler Syntax: MOVETA

Page 406

A - 276 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: MOVETA (Integer NOP)Instruction Fields: See the MOVE instruction description for Data Bus

Page 407 - LSL Logical Shift Left LSL

MOTOROLA DSP96002 USER’S MANUAL A - 277MPYS Signed Multiply MPYS Operation: S1.L * S2.L → D.M:D.L (parallel data bus move) Assembler Syntax: MPYS

Page 408

A - 278 DSP96002 USER’S MANUAL MOTOROLAIER Flags: Not affected. Instruction Fields: S1 s s sDn n n n where nnn = 0-7S2 S S S Dn n n n where nnn = 0-

Page 409 - LSR Logical Shift Right LSR

MOTOROLA DSP96002 USER’S MANUAL A - 279MPYU Unsigned Multiply MPYU Operation: S1.L * S2.L → D.M:D.L (parallel data bus move) Assembler Syntax: MPY

Page 410

A - 280 DSP96002 USER’S MANUAL MOTOROLAS1 s s sDn n n n where nnn = 0-7S2 S S S Dn n n n where nnn = 0-7S2 sD8 0D9 1Dddd Dn n n n where nnn = 0-7Tim

Page 411 - MOVE Move Data Registers MOVE

MOTOROLA DSP96002 USER’S MANUAL A - 281NEG Negate NEG Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator clock cyclesMe

Page 412 - Move Move

4 - 8 DSP96002 USER’S MANUAL MOTOROLA 4.7.16 ER Unordered Condition (UNCC) Bit 15 The unordered condition bit is set if a non-aware floating-point c

Page 413

A - 282 DSP96002 USER’S MANUAL MOTOROLANEGC Negate with Carry NEGC Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator cl

Page 414

MOTOROLA DSP96002 USER’S MANUAL A - 283 NOP No Operation NOP Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program words00

Page 415 - U Move Update U

A - 284 DSP96002 USER’S MANUAL MOTOROLANOT Logical Complement NOT Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillator clo

Page 416 - X: X Memory Move X:

MOTOROLA DSP96002 USER’S MANUAL A - 285OR Logical Inclusive OR OR (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn = 0-7Timing: 2 + mv os

Page 417

A - 286 DSP96002 USER’S MANUAL MOTOROLAORC Logical Inclusive OR with Complement ORC Instruction Fields: DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n

Page 418

MOTOROLA DSP96002 USER’S MANUAL A - 287ORI OR Immediate to Control Register ORI Operation: D v #xx → D Assembler Syntax: OR(I) #Mask,D Description:

Page 419

A - 288 DSP96002 USER’S MANUAL MOTOROLAFor OMR, MR, IER, CCR operands: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected.

Page 420

MOTOROLA DSP96002 USER’S MANUAL A - 289REP Repeat Next InstructionREP Operation: LC → TEMP; X:<ea> → LC Repeat next instruction until LC = 1. T

Page 421 - Y: Y Memory Move Y:

A - 290 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Immediate Sh

Page 422 - - Opcode-operands: S,Y: ea

MOTOROLA DSP96002 USER’S MANUAL A - 291S ddddddd D0.S-D7.S 0 0 0 0 n n n where nnn = 0-7 D0.L-D7.L 0 0 0 1 n n nD0.M-D7.M 0 0 1 0 n n nD0.H-D7.H 0 0

Page 423

MOTOROLA DSP96002 USER’S MANUAL 4 - 9 The Data ALU performs rounding of the result to the precision specified by the instruction. The DSP96002support

Page 424

A - 292 DSP96002 USER’S MANUAL MOTOROLARESET Reset Peripheral Devices RE-SETInstruction Fields: None Timing: 4 oscillator clock cyclesMemory: 1 prog

Page 425 - L: Long Memory Move L:

MOTOROLA DSP96002 USER’S MANUAL A - 293ROL Rotate Left ROL Operation: Assembler Syntax: ROL D ( See the MOVE instruction description.) Des

Page 426

A - 294 DSP96002 USER’S MANUAL MOTOROLAROR Rotate Right ROR Operation: Assembler Syntax: ROR D ( See the MOVE instruction description.) De

Page 427 - X: Y: XY Memory X: Y:

MOTOROLA DSP96002 USER’S MANUAL A - 295RTI Return from InterruptRTI Operation: Assembler Syntax: RTI Description: The program counter and the status

Page 428

A - 296 DSP96002 USER’S MANUAL MOTOROLASSH → PC; SSL → SR; SP – 1 → SP

Page 429

MOTOROLA DSP96002 USER’S MANUAL A - 297Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 program words Instruction Format:

Page 430 - Conditional Instruction

A - 298 DSP96002 USER’S MANUAL MOTOROLARTR Return from Subroutine with Restore RTR Operation: SSH → PC; SSL → SR; SP – 1 → SPAssembler Syntax: RTR Des

Page 431

MOTOROLA DSP96002 USER’S MANUAL A - 299Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 program words Instruction Format:

Page 432 - Rn n n n where nnn = 0-7

A - 300 DSP96002 USER’S MANUAL MOTOROLARTS Return from Subroutine RTS Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 prog

Page 433

MOTOROLA DSP96002 USER’S MANUAL A - 301SETW Set Long Word Operand SETW Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Timing: 2 + mv oscillat

Page 434

4 - 10 DSP96002 USER’S MANUAL MOTOROLA ization, respectively. If FZ is set, floating-point underflows are flushed to zero. Any denormalized source op

Page 435

A - 302 DSP96002 USER’S MANUAL MOTOROLASPLIT Extract a 16-bit Integer SPLIT Instruction Fields: DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where

Page 436 - Conditional Instruction

MOTOROLA DSP96002 USER’S MANUAL A - 303SPLITB Extract an 8-bit Integer SPLITB Instruction Fields: DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where

Page 437

A - 304 DSP96002 USER’S MANUAL MOTOROLASTOP Stop Instruction Processing STOP 00 0000 0000 111131 14 13 00000 0000 0000 0000 00Instruction Fields: No

Page 438

MOTOROLA DSP96002 USER’S MANUAL A - 305SUB Subtract SUB Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn = 0-7Timing:

Page 439 - IFcc.U Integer iF IFcc.U

A - 306 DSP96002 USER’S MANUAL MOTOROLASUBC Subtract with Carry SUBC Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n where nnn

Page 440

MOTOROLA DSP96002 USER’S MANUAL A - 307TFR Transfer Data ALU Register TFR Instruction Fields: (u u)DdddDn.L n n n where nnn = 0-7Ssss Dn.L n n n wher

Page 441

A - 308 DSP96002 USER’S MANUAL MOTOROLATRAPcc Conditional Software Interrupt TRAPcc Operation: If cc, then begin software exception processing. Assemb

Page 442

MOTOROLA DSP96002 USER’S MANUAL A - 309Instruction Fields:Mnemonic c c c c c Mnemonic c c c c cEQ 0 1 0 0 0 NE(Q) 1 1 0 0 0 PL 01001 MI 11001 CC(HS) 0

Page 443

A - 310 DSP96002 USER’S MANUAL MOTOROLATST Test an Operand TST Instruction Fields: (u u)SdddDn.L n n n where nnn = 0-7 Timing: 2 + mv oscillator clock

Page 444

MOTOROLA DSP96002 USER’S MANUAL A - 311WAIT Wait for Interrupt WAIT Instruction Fields: None Timing: n/a Memory: 1 program wordsOperation: Enter WA

Page 445

2 - 2 DSP96002 USER’S MANUAL MOTOROLA CPU Pins Pins Reset and IRQs 4Clock Input 1OnCE Port 4CPU Spare 1Quiet Power 4Quiet Ground 4 CPU Subto

Page 446

MOTOROLA DSP96002 USER’S MANUAL 4 - 11 31 6543210*UF SE P3 P2 P1 P0are checked. If it is not one, the LC is decremented, and the next instruction is

Page 447

A - 312 DSP96002 USER’S MANUAL MOTOROLA A.8 INSTRUCTION ENCODING SUMMARY The encoding for each instruction is provided with the instruction descripti

Page 448

MOTOROLA DSP96002 USER’S MANUAL A - 313 A.9 INSTRUCTION TIMING Figure A-7 shows the number of words and the number of clock cycles required for inst

Page 449

A - 314 DSP96002 USER’S MANUAL MOTOROLABScc 1 + ea 6 + jxBSCLR 2 8 + jxBSET 1 + ea 4 + mvbBSR 1 + ea 6 + jxBSSET 2 8 + jxBTST 1 + ea 4 + mvbCLR 1 + mv

Page 450

MOTOROLA DSP96002 USER’S MANUAL A - 315FJScc 1 + ea 6 + jxFLOAT.S 1 + mv 2+mv+daFLOAT.X 1 + mv 2+mv+daFLOATU.S 1 + mv 2+mv+daFLOATU.X 1 + mv 2+mv+daFL

Page 451

A - 316 DSP96002 USER’S MANUAL MOTOROLAJcc 1 + ea 4 + jxJCLR 2 6 + jxJMP 1 + ea 4 + jxJOIN 1 + mv 2 + mvJOINB 1 + mv 2 + mvJScc 1 + ea 4 + jxJSCLR 2 6

Page 452

MOTOROLA DSP96002 USER’S MANUAL A - 317RTR 1 4 + rxRTS 1 4 + rxSETW 1 + mv 2 + mvSPLIT 1 + mv 2 + mvSPLITB 1 + mv 2 + mvSTOP 1 n/a Note 1SUB 1 + mv 2

Page 453

A - 318 DSP96002 USER’S MANUAL MOTOROLA(IEEE Mode) + da Cycles worst case CommentsFABS.S das 6 Worst case: res=1, den=1 FABS.X dax 4 Worst case:

Page 454

MOTOROLA DSP96002 USER’S MANUAL A - 319Data ALU Operation +da Cycles (IEEE Mode) + da Cycles worst case CommentsFNEG.X da

Page 455

A - 320 DSP96002 USER’S MANUAL MOTOROLA res = number of multiplier de/unnormalized results. den = number of multiplier source operands with U-tag

Page 456

MOTOROLA DSP96002 USER’S MANUAL A - 321If there are wait states, (i.e., assumption 4 is not applicable) then to each 1-word instruction timing a &quo

Page 457

4 - 12 DSP96002 USER’S MANUAL MOTOROLA UF SE P3 P2 P1 P0 Description 1 1 1 1 1 0 Stack Underflo

Page 458

A - 322 DSP96002 USER’S MANUAL MOTOROLA A.9.5 MOVEP Timing Summary+ mvp MOVEC Operation Cycles CommentsRegister ↔ Peri

Page 459

MOTOROLA DSP96002 USER’S MANUAL A - 323 A.9.7 LEA Timing Summary+ le MOVEC Operation Cycles CommentsUpdate Addressing

Page 460 - SIOP - Not affected

A - 324 DSP96002 USER’S MANUAL MOTOROLAIf there are wait states, (i.e., assumption 4 is not applicable) then to each 1-word instruction timing a &quo

Page 461

MOTOROLA DSP96002 USER’S MANUAL A - 325The term "2 * ap" comes from the two instruction fetches done by the RTS/RTR/RTI instruction to refi

Page 462

A - 326 DSP96002 USER’S MANUAL MOTOROLA A.9.13 Memory Access Timing SummaryAccess X Mem Y Mem P Mem I/O + ax + ay + ap + aio + axyType Access Acc

Page 463

MOTOROLA DSP96002 USER’S MANUAL A - 327These restricted instructions include: at LA-2, LA-1 and LA: DO BCHG/BCLR/BSET

Page 464

A - 328 DSP96002 USER’S MANUAL MOTOROLA A.10.3 ENDDO Restrictions Due to pipelining, the ENDDO instruction must not be immediately preceded by any o

Page 465 - MPYS Signed Multiply MPYS

MOTOROLA DSP96002 USER’S MANUAL A - 329and 1. BCHG/BCLR/BSET SP 2. JCLR/JSET/JSCLR/JSSET SSH or SSL and 1. MOVEC/I/M

Page 466

A - 330 DSP96002 USER’S MANUAL MOTOROLA A.10.8 REP Restrictions The REP instruction can repeat any single word instruction except the REP instructio

Page 467 - MPYU Unsigned Multiply MPYU

MOTOROLA DSP96002 USER’S MANUAL A - 331

Page 468

MOTOROLA DSP96002 USER’S MANUAL 4 - 13Figure 4-6. Operating Mode Register Format 4.11.3 Underflow flag (UF) Bit 5 The Underflow flag (UF) is set wh

Page 469 - NEG Negate NEG

MOTOROLA DSP96002 USER’S MANUAL B-1 APPENDIX BDSP BENCHMARKS B.1 DSP96002 STANDARD DSP BENCHMARKS Program size and instruction cycle counts for the

Page 470 - NEGC Negate with Carry NEGC

B-2 DSP96002 USER’S MANUAL MOTOROLA B.1.2 N Real Multiplies c(I) = a(I) * b(I) , I=1,...,N

Page 471 - NOP No Operation NOP

MOTOROLA DSP96002 USER’S MANUAL B-3 B.1.4 N Real Updates d(I) = c(I) + a(I) * b(I), I=1,2,...,N

Page 472 - NOT Logical Complement NOT

B-4 DSP96002 USER’S MANUAL MOTOROLA B.1.6 Real * Complex Correlation Or Convolution (FIR Filter) cr(n) + jci(n) = SUM(I=0,...,N-1) {( ar(I) + ja

Page 473 - OR Logical Inclusive OR OR

MOTOROLA DSP96002 USER’S MANUAL B-5 B.1.8 N Complex Multiplies cr(I) + jci(I) = ( ar(I) + jai(I) ) * ( br(I) + jbi(I) ), I=1,...,N cr(I) = a

Page 474

B-6 DSP96002 USER’S MANUAL MOTOROLA B.1.9 Complex Update dr + jdi = ( cr + jci ) + ( ar + jai ) * ( br + jbi ) dr = cr + ar * br - ai * bi

Page 475

MOTOROLA DSP96002 USER’S MANUAL B-7 Program ICycles

Page 476

B-8 DSP96002 USER’S MANUAL MOTOROLA move #aaddr,r0 1 1 move #baddr,r4

Page 477 - REP Repeat Next Instruction

MOTOROLA DSP96002 USER’S MANUAL B-9 B.1.12 Nth Order Power Series (Real) c = SUM (I=0,...,N) { a(I) * b I } c = a N b N + a N-1 b

Page 478

B-10 DSP96002 USER’S MANUAL MOTOROLA B.1.14 N Cascaded Real Biquad IIR Filters w(n) = x(n) - a1 * w(n-1) - a2 * w(n-2) y(n) = w(n) + b1 * w(n-1

Page 479

4 - 14 DSP96002 USER’S MANUAL MOTOROLA

Page 480

MOTOROLA DSP96002 USER’S MANUAL B-11 DSP96002 IMPLEMENTATION

Page 481 - ROL Rotate Left ROL

B-12 DSP96002 USER’S MANUAL MOTOROLA; +Sine value (1/2 cycle) in Y memory ; Table size can be i*points/2, i=1,2,... ; ; Macro Call - metr2a

Page 482 - ROR Rotate Right ROR

MOTOROLA DSP96002 USER’S MANUAL B-13 inc d0 m0,m4 lsr d2 m0,m5 move d2.l,n6 do n1,_end_pass

Page 483 - RTI Return from Interrupt

B-14 DSP96002 USER’S MANUAL MOTOROLA; ; Faster FFT using Programming Tricks found in Typical FORTRAN Libraries ; ; First two passes combined as a

Page 484

MOTOROLA DSP96002 USER’S MANUAL B-15; r4 = b pointer in and out ; r1 = c pointer in and out ; r5 = d pointer in and out ; n5 = 2 ;

Page 485

B-16 DSP96002 USER’S MANUAL MOTOROLA faddsub.s d1,d7 d0.s,x:(r4) y:(r1)+,d2.s faddsub.s d3,d2 d1.s,

Page 486

MOTOROLA DSP96002 USER’S MANUAL B-17 fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+,d5.s fmpy d9,d7,d1 faddsub.s d5,d2 d4.s,x

Page 487

B-18 DSP96002 USER’S MANUAL MOTOROLA do n2,_end_next fmpy d9,d6,d0 fsub.s d1,d2 d0.s,x:(r4) y:(r0)+,d5.s fmpy d9,d

Page 488

MOTOROLA DSP96002 USER’S MANUAL B-19 move x:(r6)+n6,d9.s y:,d8.s fmpy d8,d7,d3 faddsub.s d4,d0 x:(r1)+n1,

Page 489

B-20 DSP96002 USER’S MANUAL MOTOROLA; ; t3 = dr + br ; t4 = dr - br ; ; t5 = ai + ci ; t6 = ai - ci ; ; t7 = bi + di ;

Page 490

MOTOROLA DSP96002 USER’S MANUAL 5 - 1 SECTION 5DATA ORGANIZATION AND ADDRESSING MODES 5.1 OPERAND SIZES Operand sizes are defined as follows: a by

Page 491

MOTOROLA DSP96002 USER’S MANUAL B-21; r6 = temp storage pointer n6 = not used ; r7 = not used n7 = not used ; ; Al

Page 492

B-22 DSP96002 USER’S MANUAL MOTOROLA move #temp,r2 ;initialize temp storage pointers 2 2 move (r2)+,r6 ;

Page 493 - SUB Subtract SUB

MOTOROLA DSP96002 USER’S MANUAL B-23 fmpy d5,d9,d0 fsub.s d1,d2 y:(r1)-n1,d8.s 1 1 fmpy d6,d8,d1 fadd.s d0,d3

Page 494 - SUBC Subtract with Carry SUBC

B-24 DSP96002 USER’S MANUAL MOTOROLANotation and symbols: x(n) - Input sample at time n. d(n) - Desired signal at time n. f(n) - FIR filter o

Page 495

MOTOROLA DSP96002 USER’S MANUAL B-25 org y:0 cbuf ds ntaps org y:10 dsig ds 1 xsig ds 1

Page 496

B-26 DSP96002 USER’S MANUAL MOTOROLAOn the delayed LMS algorithm, the coefficients are updated with the error from the previous iteration whilethe FI

Page 497

MOTOROLA DSP96002 USER’S MANUAL B-27 FIR LATTICE FILTER z-1 move x:(r0)+,d6

Page 498 - TST Test an Operand TST

B-28 DSP96002 USER’S MANUAL MOTOROLA COEFFICIENT AND STATE VARIABLE STORAGE R0 R4

Page 499 - WAIT Wait for Interrupt WAIT

MOTOROLA DSP96002 USER’S MANUAL B-29 DSP56000 IMPLEMENTATION

Page 500

B-30 DSP96002 USER’S MANUAL MOTOROLA B.1.18 All Pole IIR Lattice Filter ALL POLE IIR LATTICE FILTER

Page 501 - Mnemonic Words Cycles

5 - 2 DSP96002 USER’S MANUAL MOTOROLA UNSIGNED WORD INTEGER2 0 2 1 2 30 2 31 UNSIGNED LONG WORD INTEGER2 0 2 1 2 62 2 63 SIGNED WORD INTEGER2 0 2 1 2

Page 502

MOTOROLA DSP96002 USER’S MANUAL B-31 DSP56000 IMPLEMENTATION

Page 503

B-32 DSP96002 USER’S MANUAL MOTOROLA B.1.19 General Lattice Filter GENERAL LATTICE

Page 504

MOTOROLA DSP96002 USER’S MANUAL B-33 SINGLE SECTION EQUAT

Page 505

B-34 DSP96002 USER’S MANUAL MOTOROLA Program ICycles

Page 506

MOTOROLA DSP96002 USER’S MANUAL B-35 B.1.20 Normalized Lattice Filter

Page 507

B-36 DSP96002 USER’S MANUAL MOTOROLA SINGLE SECTION EQUAT

Page 508

MOTOROLA DSP96002 USER’S MANUAL B-37 Program ICycles

Page 509 - A.9.4 MOVEM Timing Summary

B-38 DSP96002 USER’S MANUAL MOTOROLA B.1.21 1x3 3x3 and 1x4 4x4 Matrix Multiply 1x3 3x3 Matrix

Page 510 - A.9.6 MOVES Timing Summary

MOTOROLA DSP96002 USER’S MANUAL B-39 fmpy d7,d4,d0 fadd.s d2,d1 y:(r4)+,d7.s ;b23 1 1 fmpy.s d7,d3,d2 d1.s,x:(r1)

Page 511

B-40 DSP96002 USER’S MANUAL MOTOROLA rep #N-1 ;sum 1 1 mac x0,y0,a x:(r1)+,x0 y:(r5)+n5,y0

Page 512

MOTOROLA DSP96002 USER’S MANUAL 5 - 3 is not aware that the data is represented in a floating point format. The range of the unbiased exponent, E,is

Page 513

MOTOROLA DSP96002 USER’S MANUAL B-41 B.1.23 N Point 3x3 2-D FIR Convolution The two dimensional FIR uses a 3x3 coefficient mask: c(1,1) c(1,2)

Page 514

B-42 DSP96002 USER’S MANUAL MOTOROLA r0 →image(n,m) image(n,m+1) image(n,m+2) r1 →image(n+514,m) image(n+514,m+1) image(n+5

Page 515

MOTOROLA DSP96002 USER’S MANUAL B-43 DSP96002 IMPLEMENTATION

Page 516 - A.10.3 ENDDO Restrictions

B-44 DSP96002 USER’S MANUAL MOTOROLA B.1.24 Table Lookup with Linear Interpolation Between Points This performs a table lookup and linear interpolati

Page 517

MOTOROLA DSP96002 USER’S MANUAL B-45indspc equ 5.0 ;index spacing rindspc equ 1.0/indspc ;reciprocal of index spacing move

Page 518 - A.10.8 REP Restrictions

B-46 DSP96002 USER’S MANUAL MOTOROLA rmin equ -3.14159 range equ 2*3.14159 o_range equ 1.0/range

Page 519

MOTOROLA DSP96002 USER’S MANUAL B-47 Program ICycles

Page 520 - DSP BENCHMARKS

B-48 DSP96002 USER’S MANUAL MOTOROLA --- ---

Page 521 - B.1.3 Real Update

MOTOROLA DSP96002 USER’S MANUAL B-49 Totals: 10 10 The following code assumes a rotating model of

Page 522 - B.1.4 N Real Updates

B-50 DSP96002 USER’S MANUAL MOTOROLA;shift other part 1 1 or d1,d0 ;merge bits together 1 1

Page 523

5 - 4 DSP96002 USER’S MANUAL MOTOROLA Denormalized Numbers: Represents real numbers in the form (-1)sx 2(E min -1+127)x 0.f Bias of e ...

Page 524 - B.1.8 N Complex Multiplies

MOTOROLA DSP96002 USER’S MANUAL B-51 Program ICycles

Page 525 - B.1.10 N Complex Updates

B-52 DSP96002 USER’S MANUAL MOTOROLA 3. Dynamic bit field extraction, zero extend. Register d1.l contains FOFF, d2.l contains FSIZE.

Page 526

MOTOROLA DSP96002 USER’S MANUAL B-53 6. Dynamic bit field insertion. Register d2.l contains FOFF, d3.l con-tains FSIZE.

Page 527

B-54 DSP96002 USER’S MANUAL MOTOROLA9. Dynamic bit field clear. Register d1.l contains FOFF, d2.l contains FSIZE.

Page 528

MOTOROLA DSP96002 USER’S MANUAL B-55 seedr d5,d4 ;y approx 1/sqrt(x) 1 1 fmpy.s d4,d4,d2 #.5,d7.s ;y*y

Page 529

B-56 DSP96002 USER’S MANUAL MOTOROLA Unsigned 32 Bit Integer Program ICycles Division of d0 = d0/d2

Page 530

MOTOROLA DSP96002 USER’S MANUAL B-57dive2big eor d2,d2do #32,divloop_slow ;same algorithm as 1st routinerol d0rol d2cmp d1,d2sub d1,d2 ifhsdivloop_slo

Page 531

B-58 DSP96002 USER’S MANUAL MOTOROLA Signed 32 Bit Integer Program ICycles Division of d0 = d5/d2

Page 532

MOTOROLA DSP96002 USER’S MANUAL B-59divloop_fast not d0 d8.l,d3.llsl d2,d0lsr d2,d0 d1.m,d2.ltst d2neg d0 ifmidivdoneThe final quotient is destroyed i

Page 533

B-60 DSP96002 USER’S MANUAL MOTOROLARegisters: d0 = x d4 = limit d1 = y d5 = unused d2 = z d6 = unused d3 = unu

Page 534

MOTOROLA DSP96002 USER’S MANUAL 5 - 5 Normalized Numbers: Represents real numbers in the form (-1)s x 2(E+1023) x 1.f E ... un

Page 535

MOTOROLA DSP96002 USER’S MANUAL B-61 X Memory Y Memory (n0=3) r0 → x0 Xmin ← r4 y0 Xmax

Page 536

B-62 DSP96002 USER’S MANUAL MOTOROLA Program ICycles

Page 537

MOTOROLA DSP96002 USER’S MANUAL B-63If the A bit is set, the line can be accepted. If the R bit is cleared, the line can be rejected. B.1.33.4 Fou

Page 538

B-64 DSP96002 USER’S MANUAL MOTOROLA fcmp d0,d1 x:(r0)+,d0.s ;Ymax-y1, get y0 1 1 fcmpg d0,d1 x:(r0)+n0,d0.s y:(r4)+,d1.s ;Y

Page 539

MOTOROLA DSP96002 USER’S MANUAL B-65 The filter equations are: y = x*bi0 + w1 w1 = x*bi1 + y*ai1 + w2 w2 = x*bi2 + y*a2

Page 540

B-66 DSP96002 USER’S MANUAL MOTOROLA org y:0 w1 dsm nsec w2 dsm nsec org p:$100 move #coef,r0 move #5*nsec-1,m0

Page 541

MOTOROLA DSP96002 USER’S MANUAL B-67R Direction vector of reflection of the point source from the object R={Rx,Ry,Rz} V Direction vector

Page 542 - B.1.16 LMS ADAPTIVE FILTER

B-68 DSP96002 USER’S MANUAL MOTOROLA 3-D Graphics Illumination Program ICycles

Page 543

MOTOROLA DSP96002 USER’S MANUAL B-69The resulting unsigned pseudorandom integer number is in d0.l. Reference: VAX/VMS Run-Time Library Routines Refer

Page 544

B-70 DSP96002 USER’S MANUAL MOTOROLA Bezier Cubic Evaluation Program ICycles

Page 545

5 - 6 DSP96002 USER’S MANUAL MOTOROLA Sets of 3 Data ALU registers may be concatenated to form ten 96 bit registers which may be accessed assingle re

Page 546 - B.1.17 FIR Lattice Filter

MOTOROLA DSP96002 USER’S MANUAL B-71 Four 8 Bit Packs Program ICycles

Page 547

B-72 DSP96002 USER’S MANUAL MOTOROLA B.1.39 Nth Order Polynomial Evaluation for Two Points ;An Nth order polynomial c1XN + c2XN-1 + ...cNX + cN+1 can

Page 548

MOTOROLA DSP96002 USER’S MANUAL B-73 B.1.40.1 32 Bit Block Transfer 32 Bit Block Transfer Program ICycles

Page 549

B-74 DSP96002 USER’S MANUAL MOTOROLA B.1.40.2 64 Bit Block Transfer A more efficient implementation of BITBLT may be performed by transferring 64 bi

Page 550

MOTOROLA DSP96002 USER’S MANUAL B-75 B.1.41 64x64 Bit Unsigned Multiply This performs a double precision unsigned integer multiply. The 64 bit inte

Page 551

B-76 DSP96002 USER’S MANUAL MOTOROLA B.1.42 Signed Reciprocal Generation This generates a fast approximation to 1/x. Approximation

Page 552

MOTOROLA DSP96002 USER’S MANUAL B-77 Program ICycles

Page 553

B-78 DSP96002 USER’S MANUAL MOTOROLA; Switch endpoints if necessary _inc_x ftst d2 d3.s,d0.s 1 1 ftfr.s

Page 554

MOTOROLA DSP96002 USER’S MANUAL B-79 B.1.43.2 Integer Incremental Line Drawing Algorithm This implementation of line drawing uses Bresenham’s algorit

Page 555

B-80 DSP96002 USER’S MANUAL MOTOROLA neg d1 iflt neg d0 iflt tst d0 jlt _set_y_xn ; Increment y, dx positive case ; Set

Page 556

MOTOROLA DSP96002 USER’S MANUAL 2 - 3 OnCE  is a trademark of Motorola Inc. ADDRESS BUS A 32 32 ADDRESS BUS B aA0-aA31 bA0-bA31Vcc(2) (2) Vc

Page 557

MOTOROLA DSP96002 USER’S MANUAL 5 - 7 e = Biased Exponent ... 11 u = U tag ... 1 v = V tag ... 1 i = Integer Part ... 1 f

Page 558

MOTOROLA DSP96002 USER’S MANUAL B-81 cmp d4,d2 dec d6 ifge jsr _draw_point _line_y_xn rts ; Increment x case ; If dx is negative, s

Page 559

B-82 DSP96002 USER’S MANUAL MOTOROLA lsr d0 d0.l,d2.l dec d2 d2.l,d4.l neg d1 d0.l,r0 move d2.l,m0 move

Page 560

MOTOROLA DSP96002 USER’S MANUAL B-83If the point is found to lie outside the viewing pyramid, an algorithm to clip a single point is performed andthe

Page 561

B-84 DSP96002 USER’S MANUAL MOTOROLAOUTPUT Address register r5 should point to a display list data area when the polyline generator is called. Afte

Page 562

MOTOROLA DSP96002 USER’S MANUAL B-85The following memory map results: X Memory Y Memory r0 → Xobj0 n0=0

Page 563

B-86 DSP96002 USER’S MANUAL MOTOROLA n0 = 0.0 for z limit test and double point clipping n5 = -1.0 for end of polyline marker TRIVIAL ACCEPT LOOP

Page 564 - B.1.25 Argument Reduction

MOTOROLA DSP96002 USER’S MANUAL B-87Substituting the value of t results in the determinant y2 = | y2 w2-y2 | | y1 w1-y1 | ------

Page 565

B-88 DSP96002 USER’S MANUAL MOTOROLAThe reject loop single point clipping code is very similar to the analogous code in the accept loop. It callsthe

Page 566 - B.1.27 Multibit Rotates

MOTOROLA DSP96002 USER’S MANUAL B-89; Words ICycleswf3d move x

Page 567

B-90 DSP96002 USER’S MANUAL MOTOROLA ; Multiply coordinates by 1/W, scale and add offset fmpy.s d0,d4,d2

Page 568

5 - 8 DSP96002 USER’S MANUAL MOTOROLA Mantissa... i.f = 1.00...00 NaNs (Not-a-Number): s ... Don’t care Bias of e .

Page 569

MOTOROLA DSP96002 USER’S MANUAL B-91 ; Determine if point is within view volume fneg.s d1 d1.s,d2.s ;

Page 570

B-92 DSP96002 USER’S MANUAL MOTOROLA;--------------------------------------------------------- ; ; Accept loop single-clip routine ; ;-----

Page 571

MOTOROLA DSP96002 USER’S MANUAL B-93 fmpy.s d2,d1,d2 x:(r4)+,d4.s y:,d6.s ;Ys Yf 1 1 fmpy d5,d4,d3 fadd.s d3,d2 d0.s,x:(r1

Page 572

B-94 DSP96002 USER’S MANUAL MOTOROLA ori #$e0,ccr ; 1 1 fneg.s d1 d1.s,d5.s

Page 573

MOTOROLA DSP96002 USER’S MANUAL B-95 fcmp d0,d5 ; 1 1 fcmp d3,d5

Page 574

B-96 DSP96002 USER’S MANUAL MOTOROLA ; Multiply coordinates by 1/W, scale and add offset (old point) fmpy.s d0,d4,d2

Page 575

MOTOROLA DSP96002 USER’S MANUAL B-97;--------------------------------------------------------- ; ; Double point clipping routine ; ;-------

Page 576

B-98 DSP96002 USER’S MANUAL MOTOROLA fjsgt _clip2_ynp ; 2 2 fadd.s d1,d6

Page 577

MOTOROLA DSP96002 USER’S MANUAL B-99 fmpy d5,d6,d2 fadd.s d3,d1 d4.s,y:(r1)+ ; Wo 1 1 fadd.s d3,d2

Page 578

B-100 DSP96002 USER’S MANUAL MOTOROLA fmpy.s d0,d4,d2 ; 1 1 fmpy.s d2,d1,d2 x:(r4)+

Page 579

MOTOROLA DSP96002 USER’S MANUAL 5 - 9 • It has the same pattern for all precisions. • All bits of the fraction are set to one. • The biased expon

Page 580

MOTOROLA DSP96002 USER’S MANUAL B-101 ;--------------------------------------------------------- ; ; Single point clipping routines ; ;---

Page 581

B-102 DSP96002 USER’S MANUAL MOTOROLA ; y = w boundary _clip1_yp move y:(r1),d4.s ;W1 1 1 fmpy.s d

Page 582

MOTOROLA DSP96002 USER’S MANUAL B-103 fmpy.s d2,d4,d3 d2.s,d7.s y:(r1),d6.s ;Z1 1 1 fsub.s d6,d4 x:(r1)+,d

Page 583

B-104 DSP96002 USER’S MANUAL MOTOROLA move y:(r1)-,d3.s ;Wn 1 1 fadd.s d3,d5 x:(r1)-,d

Page 584

MOTOROLA DSP96002 USER’S MANUAL B-105 fsub.s d3,d5 ; 1 1 fseedd d5,d4

Page 585

B-106 DSP96002 USER’S MANUAL MOTOROLA fmpy.s d5,d4,d5 d9.s,d2.s ; 1 1 fmpy d0,d4,d0 fsub.s d5,d2 d2.s,d3.s

Page 586

MOTOROLA DSP96002 USER’S MANUAL B-107 fmpy.s d0,d3,d0 ; 1 1 fcmp d7,d0

Page 587

B-108 DSP96002 USER’S MANUAL MOTOROLA ; YNew = -WNew boundary _clip2_ynn move (r1)+ ; 1 1

Page 588

MOTOROLA DSP96002 USER’S MANUAL B-109 _clip2_znn move d6.s,d0.s y:(r1),d6.s ;Zo 1 1 fsub.s d0

Page 589

B-110 DSP96002 USER’S MANUAL MOTOROLA dc 0.0000000E+00 dc 2.000000 dc 3.000000 dc 8.000000 dc 9.000000 dc 12.

Page 590

5 - 10 DSP96002 USER’S MANUAL MOTOROLA Single Precision → Double PrecisionMemory Format Internal Format 31 → 95 S94 U - SET IF DENORMA

Page 591

MOTOROLA DSP96002 USER’S MANUAL B-111 move d2.s,x:(r4)+ ;save lower 2, point to next _bfly move x:(r0)+n0,d0.s y:(r4)+n4,d1.

Page 592

B-112 DSP96002 USER’S MANUAL MOTOROLA page 132,60,1,1 ; ; Implements the Walsh-Hadamard Transform ; iord equ 4 ;order

Page 593

MOTOROLA DSP96002 USER’S MANUAL B-113 move d2.s,y:(r0)+ ;save dif 2 _firststage nop nop move #data,r0

Page 594

B-114 DSP96002 USER’S MANUAL MOTOROLA_mid move #3,n0 ;new offset move n0,n4 ;copy move (r4)+

Page 595 - B.1.43 Line Drawing

MOTOROLA DSP96002 USER’S MANUAL B-115 B.1.46 Evaluation of LOG(x) Floating-point evaluation of log2(x) can be performed by representing x as s*(2**e)

Page 596

B-116 DSP96002 USER’S MANUAL MOTOROLA B.1.47 Evaluation of EXP2(x) Floating-point evaluation of exp2(x) can be performed by representing x as i+f wh

Page 597

MOTOROLA DSP96002 USER’S MANUAL B-117 B.1.48 Vector Cross Product The cross product of two vectors is always perpendicular to both of the vectors ma

Page 598

B-118 DSP96002 USER’S MANUAL MOTOROLA fsub.s d2,d3 ; 1 1 move d3.s,x:(r1

Page 599

MOTOROLA DSP96002 USER’S MANUAL B-119 fmpy.x d4,d4,d4 ;scale power 1 1 pwr

Page 600

B-120 DSP96002 USER’S MANUAL MOTOROLA dc 0.2093549e-02 ;**7 dc -.02777411e-02 ;**6 dc 0.3357901e-02 ;**5

Page 601

MOTOROLA DSP96002 USER’S MANUAL 5 - 11register is also the destination of the current operation). The DSP96002 does not support double precision.It

Page 602

MOTOROLA DSP96002 USER’S MANUAL B-121 B.1.50 Cascaded Five Coefficient Biquad Filter Filter Section:

Page 603 - r5 output list

B-122 DSP96002 USER’S MANUAL MOTOROLA move #coef,r4 nop fclr d1 x:(r0)+,d4.s y:(r4)+,d6.s 1 1 do #n

Page 604

MOTOROLA DSP96002 USER’S MANUAL B-123 move #90.0,d7.s ;get pi/2 fcmp d7,d6 #180.0,d7.s ;see if greater than 90 fsub.x

Page 605

B-124 DSP96002 USER’S MANUAL MOTOROLA org x:0scale set 1.0tantabtanarg set 45.0*3.14159/180.0 dup tabsizescale set s

Page 606

MOTOROLA DSP96002 USER’S MANUAL B-125 fadd.x d2,d1 ;y’=y+x*tan fscale.x #-1,d6 ;alp=alp/2_cordic fcopys.s d

Page 607

B-126 DSP96002 USER’S MANUAL MOTOROLA; Input angle in d6 in degrees, -180 < d6 < 180; fabs.x d6 d6.s,d3.s ;make positive, save

Page 608

MOTOROLA DSP96002 USER’S MANUAL B-127 Totals: 44 8N+37 B.1.54 [NxN] by [NxN] Matrix Multiplication (Modulo-Aligned);This r

Page 609

B-128 DSP96002 USER’S MANUAL MOTOROLA dc .5,.5,.5,.5 dc .5,.5,.5,.5 dc .5,.5,.5,.5 org p:$100 move #amatrix,r0

Page 610

MOTOROLA DSP96002 USER’S MANUAL B-129;amatrix dc A(1,1),A(1,2),...,A(1,N),A(2,1),A(2,2),...,A(2,N), ...;;Matrix A is in X memory, while matrices B an

Page 611

B-130 DSP96002 USER’S MANUAL MOTOROLA fmpy d4,d8,d3 fadd.s d3,d1 x:(r0)+,d4.s d5.s,d2.s 1 1 fmpy d4,d0,d3 fadd.s d3,d2 x:(r0)+,d4.s d1.

Page 612

5 - 12 DSP96002 USER’S MANUAL MOTOROLA Double Precision → Single PrecisionInternal Format Memory Format95 → 3194 .7574 → 30 73

Page 613

MOTOROLA DSP96002 USER’S MANUAL B-131 Words page 132,60,1,1N equ 8N_sqr equ N*N org x

Page 614

B-132 DSP96002 USER’S MANUAL MOTOROLA move d1.s,y:(r5)+n5 d5.s,d2.s 1 1 fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(

Page 615

MOTOROLA DSP96002 USER’S MANUAL B-133 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(

Page 616

B-134 DSP96002 USER’S MANUAL MOTOROLA;This routine takes 15 + 16(18 + 14*17 + 18) = 4399 instruction cycles.;;;

Page 617

MOTOROLA DSP96002 USER’S MANUAL B-135 org p:$100 move #amatrix,r0 1 1 move #N,n4

Page 618

B-136 DSP96002 USER’S MANUAL MOTOROLA fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 move d2.s,y:(r5)+n5 d5.s,d1.s

Page 619

MOTOROLA DSP96002 USER’S MANUAL B-137 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(

Page 620

B-138 DSP96002 USER’S MANUAL MOTOROLA fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(

Page 621

MOTOROLA DSP96002 USER’S MANUAL B-139 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(

Page 622

B-140 DSP96002 USER’S MANUAL MOTOROLA fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d1 x:(r0)+,d4.s y:(

Page 623

MOTOROLA DSP96002 USER’S MANUAL 5 - 13 5.6.4 Memory References Memory references are references to the 32-bit wide X or Y memory spaces and may be i

Page 624

MOTOROLA DSP96002 USER’S MANUAL B-141 fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(r4)+n4,d7.s 1 1 fmpy d4,d7,d3 fadd.s d3,d2 x:(r0)+,d4.s y:(

Page 625

B-142 DSP96002 USER’S MANUAL MOTOROLA page 132,60,1,1fs equ 8000.0 ;sampling frequencyf0 equ 320.0 ;center

Page 626

MOTOROLA DSP96002 USER’S MANUAL B-143 fadd.s d4,d0 1 1 move d0.s,y:output_gen

Page 627

B-144 DSP96002 USER’S MANUAL MOTOROLAchecking on the source and either jump to an error handling procedure or return a valid result. The pro-grams

Page 628 - B.1.45.1 In-place WHT

MOTOROLA DSP96002 USER’S MANUAL B-145 SP → I Program ICycles

Page 629

B-146 DSP96002 USER’S MANUAL MOTOROLA B.3.2 -x The arithmetic form signals IOP if x is a signalling NaN. The non-arithmetic form copies x with its

Page 630 - B.1.45.2 Out-of-place WHT

MOTOROLA DSP96002 USER’S MANUAL B-147 move #ninf,d0.s ;set -infinity result 2 2 ori #2,er ;set DZ in E

Page 631

B-148 DSP96002 USER’S MANUAL MOTOROLA Implementation of nextafter(d0,d4) d0 for single precision numbers:

Page 632

MOTOROLA DSP96002 USER’S MANUAL B-149 B.3.6 Finite(x) Finite(x) returns the value TRUE if -inf<x<+inf, and returns FALSE otherwise. This is a

Page 633

B-150 DSP96002 USER’S MANUAL MOTOROLAWhen comparing two values, GL is true if the values are not equal and both values being compared arevalid floati

Page 634 - B.1.46 Evaluation of LOG(x)

5 - 14 DSP96002 USER’S MANUAL MOTOROLA 5.7 ADDRESSING MODES The DSP96002 instruction set contains a full set of operand addressing modes. All addre

Page 635

MOTOROLA DSP96002 USER’S MANUAL B-151 d1=class(d0) Program ICycles

Page 636

B-152 DSP96002 USER’S MANUAL MOTOROLA Execution Times: Signaling not a number - 7 Quiet not a number - 10 Negative infinity

Page 637 - B.1.49 Power Function X

MOTOROLA DSP96002 USER’S MANUAL B-153; d4.h d4.l; d5.h d5.l; d6.l; d7.l;

Page 638

B-154 DSP96002 USER’S MANUAL MOTOROLA and d7,d2 ; remove implied one bit tst d2 ; check m0.high = zero

Page 639

MOTOROLA DSP96002 USER’S MANUAL B-155_inan ori #$10,ier ; set invalid operation bit_qnan move #qnane,d1.h ; get QNaN exponent

Page 640

B-156 DSP96002 USER’S MANUAL MOTOROLA tst d3 ; test mantr.high, get expr dec d5 ifpl.u ; decrement expr if

Page 641

MOTOROLA DSP96002 USER’S MANUAL B-157 jmp _add ; ; ; Set Sticky Bit for Shift > 55 Bits ;_setst0 move

Page 642

B-158 DSP96002 USER’S MANUAL MOTOROLA add d7,d1 ; " jcc _zchk ; " inc d

Page 643

MOTOROLA DSP96002 USER’S MANUAL B-159 rol d3 ; shift mantr.h left jset #31,d3.l,_rnd ; jump if result normalized

Page 644

B-160 DSP96002 USER’S MANUAL MOTOROLA move d6.l,d1.h ; " ori #$10,ccr ; set infinity bit ori

Page 645 - ftfr.s d4,d1 ffinf

MOTOROLA DSP96002 USER’S MANUAL 5 - 15 5.7.2 Address Register Indirect Modes The effective address in the instruction specifies the address register

Page 646

MOTOROLA DSP96002 USER’S MANUAL B-161;; Round toward -infinity;_rminf jclr #31,d6.l,_lmove ; no rounding if positive_addone move #$800,d7.l

Page 647

B-162 DSP96002 USER’S MANUAL MOTOROLA; d4.h d4.l; d5.h d5.l; d6.l; d7.l;

Page 648

MOTOROLA DSP96002 USER’S MANUAL B-163 and d7,d2 ; remove implied one bit tst d2 ; check m0.high = zero

Page 649

B-164 DSP96002 USER’S MANUAL MOTOROLA_inan ori #$10,ier ; set invalid operation bit_qnan move #qnane,d1.h ; get QNaN exponent

Page 650

MOTOROLA DSP96002 USER’S MANUAL B-165 tst d3 ; test mantr.high, get expr dec d5 ifpl.u ; decrement expr if

Page 651

B-166 DSP96002 USER’S MANUAL MOTOROLA jmp _add ; ; ; Set Sticky Bit for Shift > 55 Bits ;_setst0 move

Page 652

MOTOROLA DSP96002 USER’S MANUAL B-167 add d7,d1 ; " jcc _zchk ; " inc d

Page 653

B-168 DSP96002 USER’S MANUAL MOTOROLA rol d3 ; shift mantr.h left jset #31,d3.l,_rnd ; jump if result normalized

Page 654

MOTOROLA DSP96002 USER’S MANUAL B-169 move d6.l,d1.h ; " ori #$10,ccr ; set infinity bit ori

Page 655

B-170 DSP96002 USER’S MANUAL MOTOROLA;; Round toward -infinity;_rminf jclr #31,d6.l,_lmove ; no rounding if positive_addone move #$800,d7.l

Page 656

5 - 16 DSP96002 USER’S MANUAL MOTOROLAchanged. The type of arithmetic used to increment Rn is determined by Mn. This reference is classified asa mem

Page 657

MOTOROLA DSP96002 USER’S MANUAL B-171; *** f = fraction bits, initially bits in mantissas; *** l = least significant fraction bi

Page 658

B-172 DSP96002 USER’S MANUAL MOTOROLA; tmp1 = register name of the form "Dn", and is a temporary var which; uses the lowest 32

Page 659

MOTOROLA DSP96002 USER’S MANUAL B-173; ****** Flush DeNorms to 0 if Fast Mode ****** jclr #27,sr,_chksgn ; move #$8000000

Page 660

B-174 DSP96002 USER’S MANUAL MOTOROLA move #EXP_MSK,d1.l ; and d1,d0 ; tst d0

Page 661

MOTOROLA DSP96002 USER’S MANUAL B-175 move d0.l,d7.m ; move d0.m,d0.l ; dec d0

Page 662

B-176 DSP96002 USER’S MANUAL MOTOROLA ; d5.l = next most significant word,

Page 663

MOTOROLA DSP96002 USER’S MANUAL B-177 move #EDEN,d0.m ; abs d0 ; move d0.l,d1.m

Page 664 - B.3.1 Copysign(x,y)

B-178 DSP96002 USER’S MANUAL MOTOROLA jmp _endrnd ;_den move #EDEN,d1.l ; move d0.m,d0.l

Page 665

MOTOROLA DSP96002 USER’S MANUAL B-179 move #EMAX,d1.l ; move d0.m,d0.l ; cmp d1,d0

Page 666 - B.3.5 Nextafter(x,y)

B-180 DSP96002 USER’S MANUAL MOTOROLA jset #5,sr,_op1nan ; jset #4,sr,_operr ; jmp _ret0

Page 667

2 - 4 DSP96002 USER’S MANUAL MOTOROLA t0 t1 t2 t3 t0 t1 t2 tw t2 tw t2 t3CLKNo Wait State InstructionTwo Wait State Instructioning hardware reset an

Page 668 - B.3.8 x<>y

MOTOROLA DSP96002 USER’S MANUAL 5 - 17 5.7.4.1 Immediate Data This addressing mode requires one word of instruction extension. The immediate data is

Page 669 - B.3.10Class(x)

MOTOROLA DSP96002 USER’S MANUAL B-181 depftst d7,d0,d1 ; jset #5,sr,_snan2 ; jmp _done

Page 670

B-182 DSP96002 USER’S MANUAL MOTOROLA; extended precision number.;; Entry point: ieee2dplib: c(r0) ← convert(d0);; Input: r0 contains the lowe

Page 671 -

MOTOROLA DSP96002 USER’S MANUAL B-183 page;; MOTOROLA DSP96002 DPLIB - VERSION 1.0;; DPLIB2IEEE - Convert internal double precision format to

Page 672

B-184 DSP96002 USER’S MANUAL MOTOROLA;; Input: r0 contains the lowest address of the 4-word internal; extended precision number;; Output:

Page 673

MOTOROLA DSP96002 USER’S MANUAL B-185abig sub d5,d6 ;c(r0) exponent is greater cmp d6,d7 #31,d7.l ;is |r0(e

Page 674

B-186 DSP96002 USER’S MANUAL MOTOROLA inc d4.l ;increment the exponent jmp leave ;check for o

Page 675

MOTOROLA DSP96002 USER’S MANUAL B-187 jmp echeck;; MOTOROLA DSP96002 DPLIB - VERSION 1.0;; DP_CLR - Set the double precision number to ze

Page 676

B-188 DSP96002 USER’S MANUAL MOTOROLA; GE - greater than or equal N eor V = 0; GT - greater than Z + (N eor V) = 0; LE

Page 677

MOTOROLA DSP96002 USER’S MANUAL B-189 move d0.l,x:(r0+sign) ;apply to destination rts page;; MOTOROLA DSP96002 DPLIB -

Page 678

B-190 DSP96002 USER’S MANUAL MOTOROLA dec d1 ;and adjust exponent_startdiv move d1.l,x:(r0) ;save

Page 679

5 - 18 DSP96002 USER’S MANUAL MOTOROLA(pointers) rather than moving large blocks of data. The contents of the address modifier register Mn definesth

Page 680

MOTOROLA DSP96002 USER’S MANUAL B-191 and d3,d0 d1.l,x:(r0+ls) ;truncate to an integer move d0.l,x:(r0+ms) ;store t

Page 681

B-192 DSP96002 USER’S MANUAL MOTOROLAdp_move move x:(r1),d0.l ;move exponent move d0.l,x:(r0) move x:(r1+sign),d0.l

Page 682

MOTOROLA DSP96002 USER’S MANUAL B-193 eor d7,d1 d6.l,x:(r0) ;new sign, save exp move d1.l,x:(r0+sign)

Page 683

B-194 DSP96002 USER’S MANUAL MOTOROLA; Entry point: dp_scale: c(r0) ← c(r0) * 2**r1;; Inputs: r0 contains the lowest address of a 4-word internal;

Page 684

MOTOROLA DSP96002 USER’S MANUAL B-195 inc d0 ifcs ;if odd exponent, use 2 bits add d2,d1 ;restore expone

Page 685

B-196 DSP96002 USER’S MANUAL MOTOROLA; extended precision number;; Outputs: r0 contains the lowest address of the 4-word internal;

Page 686

MOTOROLA DSP96002 USER’S MANUAL B-197 tst d0 ;set the correct flags rtsmszero move x:(r0+ls),d0.l ;get ls

Page 687

B-198 DSP96002 USER’S MANUAL MOTOROLA move d0.d,l:ieee_out ;output as dp ieee number move (r2)-n2 ;delete last sample

Page 688

MOTOROLA DSP96002 USER’S MANUAL B-199

Page 689

B-200 DSP96002 USER’S MANUAL MOTOROLA B.6 STANDARD BENCHMARK SUMMARY 56000/1

Page 690

MOTOROLA DSP96002 USER’S MANUAL 5 - 19Addressing Mode Modifier Operand ReferenceMMM P S C D A X Y L XYRegister DirectData or Control Register No x x

Page 691

MOTOROLA DSP96002 USER’S MANUAL B-201 DSP96000 Benchmark

Page 692

B-202 DSP96002 USER’S MANUAL MOTOROLA DSP96000 Benchmark

Page 693

MOTOROLA DSP96002 USER’S MANUAL B-203 IEEE Recommended Functions and Predicates DSP96000 Benchmark W

Page 694

B-204 DSP96002 USER’S MANUAL MOTOROLA IEEE Double PrecisionUsing Software Emulation TYPICAL WORST CASE FULLY TESTED B.4.1 ADDITION

Page 695

MOTOROLA DSP96002 USER’S MANUAL C-1 APPENDIX CIEEE ARITHMETIC C.1 FLOATING-POINT NUMBER STORAGE AND ARITHMETICC.1.1 General The IEEE standard for bin

Page 696

C-2 DSP96002 USER’S MANUAL MOTOROLA Examples of QNaNs are results of operations such as 0/0, ∞−∞, ∞/∞ , etc. Encodings of QNaNsare intended to pro

Page 697

MOTOROLA DSP96002 USER’S MANUAL C-3 Figure C-1. SP and DP IEEE Formats 31 30 23 22 0S8-bit biasedexponent23-bit fraction Single Precision (SP)Double

Page 698

C-4 DSP96002 USER’S MANUAL MOTOROLA x max,n = (2 - 0.5 p- 1 ) 2 emax - bias = (2 - 0.25 p-1 ) 2 Emax For SP this equals approximately (using the va

Page 699

MOTOROLA DSP96002 USER’S MANUAL C-5Figure C-4. Encodings for QNaNsFigure C-3. Encodings for + and - InfinityFigure C-2. Encodings for + and - Zero3

Page 700

C-6 DSP96002 USER’S MANUAL MOTOROLAgenerated exclusively by the DSP96002 data ALU as a result of floating point arithmetic operations, is em-bedded in

Page 701

5 - 20 DSP96002 USER’S MANUAL MOTOROLAOn the DSP96002, the upper and lower boundaries are not explicitly needed. If the address register pointerincrem

Page 702

MOTOROLA DSP96002 USER’S MANUAL C-7specific operation to occur. The result of an invalid operation is a QNaN, as described above.Examples of invalid o

Page 703

C-8 DSP96002 USER’S MANUAL MOTOROLAresult of a floating point operation (nonzero result with true exponent smaller than the minimumexponent, see Figur

Page 704

MOTOROLA DSP96002 USER’S MANUAL C-9Figure C-8. The Data ALU Block DiagramAutomatic Format Conversion Unitd0.h d0.m d0.ld0d1d2d3d4d5d6d7d8d9Register F

Page 705

C-10 DSP96002 USER’S MANUAL MOTOROLAalgorithm.5. Controller and arbitrator: A controller/arbitrator supplies all of the control signals necessary fort

Page 706

MOTOROLA DSP96002 USER’S MANUAL C-11The registers d8 and d9 are auxiliary registers which can be used for temporary data storage. Their mainpurpose is

Page 707

C-12 DSP96002 USER’S MANUAL MOTOROLAFigure C-10b. Automatic Format Conversion – Double Precision63 62 52 51 0S Fraction21 20e63 62 52 51 0S Fraction2

Page 708

MOTOROLA DSP96002 USER’S MANUAL C-13source is moved to the 52 bit fraction of the destination, and the implicit integer bit is made explicit. If thenu

Page 709

C-14 DSP96002 USER’S MANUAL MOTOROLAC.1.5.1.1.2 SP Move Of A SP Denormalized Number This section describes what happens when a 32-bit denormalized, s

Page 710

MOTOROLA DSP96002 USER’S MANUAL C-15C.1.5.1.1.3 Denormalized Numbers In Double Precision (DP) This section describes what happens when a 64-bit den

Page 711

C-16 DSP96002 USER’S MANUAL MOTOROLA SP move into the register 0 00000000 01

Page 712

MOTOROLA DSP96002 USER’S MANUAL 5 - 21 5.8.5 Address Modifier Type Encoding Summary Figure 5-8 contains a summary of the address modifier types disc

Page 713

MOTOROLA DSP96002 USER’S MANUAL C-17 C.1.5.1.1.4 Floating-Point Moves Summary Figure C-14 summarizes what will be the result of a data move into a D

Page 714

C-18 DSP96002 USER’S MANUAL MOTOROLA. MOVE EXPONENT RANGE INPUT DATA

Page 715

MOTOROLA DSP96002 USER’S MANUAL C-19Note 1 The xx...xx pattern for the signaling NaNs indicates any NON-ZERO bit pattern. Note 2 The xx...xx pattern

Page 716 - Double precision FIR example

C-20 DSP96002 USER’S MANUAL MOTOROLAC.1.5.1.2.1 Results Rounded To SP Data ALU results are rounded to SP when the instruction is specified with the

Page 717

MOTOROLA DSP96002 USER’S MANUAL C-21or truncation. If the register is read by a single precision move, completely incorrect data will be obtained;se

Page 718

C-22 DSP96002 USER’S MANUAL MOTOROLAC.1.5.2 Multiply unitThe multiply unit consists of a hardware multiplier, an exponent adder, and a control unit, a

Page 719

MOTOROLA DSP96002 USER’S MANUAL C-23 ROUND EXPONENT RANGE DATA ALU OPER

Page 720

C-24 DSP96002 USER’S MANUAL MOTOROLApositions (3 bit shift).The exponent comparator and update unit consists of an 11 bit subtracter, which compares t

Page 721

MOTOROLA DSP96002 USER’S MANUAL C-25M1 M2MDD32 Bits64 Bits32 Bits32 BitsMultiplier ArrayRoundRounding mode is determinedby rounding bits in the MR.C.1

Page 722

C-26 DSP96002 USER’S MANUAL MOTOROLAE1 E2EDD11 Bits11 Bits11 BitsAdd exponents and subtract biasS1 S2put operand. These cycles are used to normalize t

Page 723

5 - 22 DSP96002 USER’S MANUAL MOTOROLAModifierMMMMMM M M Address Calculation Arithmetic0000000 0 Reverse Carry (Bit Reversed Update)0000000 1 Modulo

Page 724 - IEEE ARITHMETIC

MOTOROLA DSP96002 USER’S MANUAL C-27Exponent Comparator/ Barrel Shifter/AdderES1 ES2 MS1 MS2ED1 MD2Update Unit Normalization UnitSubtracterRoundED2MD1

Page 725

C-28 DSP96002 USER’S MANUAL MOTOROLAExponent Comparator/Update Unit11 Bits11 Bits 11 Bits11 BitsES1 ES2max(E1, E2) E1-E2To Mantissa AlignmentTo Post-N

Page 726

MOTOROLA DSP96002 USER’S MANUAL C-29tination register.2. Multiplier: The multiplier in the multiply unit described in paragraph C.1.5.2 also performs

Page 727

MOTOROLA DSP96002 USER’S MANUAL D-1 APPENDIX D D.1 FLOATING-POINT NUMBER STORAGE AND ARITHMETICD.1.1 General The IEEE standard for binary floating po

Page 728

D-2 DSP96002 USER’S MANUAL MOTOROLA are intended to provide some kind of retrospective diagnostic information concerning the originof the NaN. Since

Page 729

MOTOROLA DSP96002 USER’S MANUAL D-3Figure D-1. SP and DP Formats 31 30 23 22 0S8-bit biasedexponent23-bit fraction Single PrecisionDouble Precision

Page 730

D-4 DSP96002 USER’S MANUAL MOTOROLA x max,n = (2 - 0.5 p- 1 ) 2 emax - bias For SP this equals approximately (using the values in Table D-1) 3.4 • 1

Page 731 - C.1.5 Data ALU Block Diagram

MOTOROLA DSP96002 USER’S MANUAL D-5Figure D-4. Encodings for QNaNsFigure D-3. Encodings for + and - InfinityFigure D-2. Encodings for + and - Zero3

Page 732

D-6 DSP96002 USER’S MANUAL MOTOROLAD.1.3 IEEE Floating Point ExceptionsThe IEEE standard defines five types of exceptions which must be signaled when

Page 733

MOTOROLA DSP96002 USER’S MANUAL D-7livered result is the correct SP denormalized number.5. Inexact: The inexact exception is signaled if the delivered

Page 734

MOTOROLA DSP96002 USER’S MANUAL 5 - 23Figure 5-8. Address Modifier Summary

Page 735

D-8 DSP96002 USER’S MANUAL MOTOROLAregister file consisting of 10 96-bit registers for storage of floating-point numbers is available forthat purpose.

Page 736

MOTOROLA DSP96002 USER’S MANUAL D-9Figure D-8. The Data ALUAutomatic Format Conversion Unitd0.h d0.m d0.ld0d1d2d3d4d5d6d7d8d9Register FileControl and

Page 737

D-10 DSP96002 USER’S MANUAL MOTOROLA4. Round to minus infinity: results are always rounded in the direction of minus infinity, or "down".D.1

Page 738

MOTOROLA DSP96002 USER’S MANUAL D-11formats to/from the DP storage format in the data ALUs register file. The conversion is depicted in FigureD-10 and

Page 739

D-12 DSP96002 USER’S MANUAL MOTOROLAFigure D-10b. Automatic Format Conversion – Double Precision63 62 52 51 0S Fraction21 20E63 62 52 51 0S Fraction2

Page 740

MOTOROLA DSP96002 USER’S MANUAL D-13ure D-10b. Note that the 52-bit fraction may actually consist of zeros (21 or 29) if the number in questionwas the

Page 741

D-14 DSP96002 USER’S MANUAL MOTOROLAOne should notice that both single and double precision floating-point moves out of the register will produce cor

Page 742

MOTOROLA DSP96002 USER’S MANUAL D-15lowing the above operation, the Data ALU register will be read first by a single precision and then by a dou-ble

Page 743

D-16 DSP96002 USER’S MANUAL MOTOROLAthe register will yield the wrong data in this case.D.1.5.1.1.3 Denormalized Numbers In Double Precision (DP) Th

Page 744

MOTOROLA DSP96002 USER’S MANUAL D-17Following the above operation, the Data ALU register will be read first by a single precision and then by adouble

Page 745 - C.1.5.3 Adder/Subtracter Unit

MOTOROLA DSP96002 USER’S MANUAL 6 - 1 SECTION 6INSTRUCTION SET AND EXECUTION 6.1 INTRODUCTION This chapter introduces the DSP96002 instruction set

Page 746

D-18 DSP96002 USER’S MANUAL MOTOROLA D.1.5.1.1.4 Floating-Point Moves Summary Figure C-1 summarizes what will be the result of a data move into an D

Page 747

MOTOROLA DSP96002 USER’S MANUAL D-19. Note 1 The xx...xx pattern for the signaling NaNs indicates any NON-ZERO bit pattern. MOVE EXPONENT RANGE

Page 748 - C.1.5.4 Special Function Unit

D-20 DSP96002 USER’S MANUAL MOTOROLANote 2 The xx...xx pattern for the non-signaling NaNs indicates any bit pattern. Note 3 If a register is written

Page 749 - C.2.1 General

MOTOROLA DSP96002 USER’S MANUAL D-21D.1.5.1.2.2 Results Rounded To SP That Are Normalized If the Data ALU operation result was rounded to SP and the

Page 750

D-22 DSP96002 USER’S MANUAL MOTOROLAD.1.5.1.2.7 Data ALU Results/Move Compatibility Summary Figure C-3 summarizes what happens when Data ALU operati

Page 751 - C.2.4 Integer Arithmetic

MOTOROLA DSP96002 USER’S MANUAL D-23D.1.5.2 Multiply unitThe multiply unit consists of a hardware multiplier, an exponent adder, and a control unit, a

Page 752

D-24 DSP96002 USER’S MANUAL MOTOROLAFigure D-11. The Multiply Unitin the barrel shifter and normalization unit, after which they are added in the add

Page 753 - APPENDIX D

MOTOROLA DSP96002 USER’S MANUAL D-25Figure D-12. The Multiply UnitM1 M2MDD32 Bits64 Bits32 Bits32 BitsMultiplier ArrayRoundRounding mode is determine

Page 754

D-26 DSP96002 USER’S MANUAL MOTOROLAFigure D-13. The Exponent AdderM1 M2EDD11 Bits11 Bits11 BitsAdd exponents and subtract biasS1 S2provide an initia

Page 755

MOTOROLA DSP96002 USER’S MANUAL D-27Figure D-14. The Adder/SubtracterExponent Comparator/ Barrel Shifter/AdderES1 ES2 MS1 MS2ED1 MD2Update Unit Norma

Page 756

6 - 2 DSP96002 USER’S MANUAL MOTOROLA tion cycle in the IEEE mode if denormalized numbers are not detected, otherwise additional instruction cy-cles

Page 757

D-28 DSP96002 USER’S MANUAL MOTOROLAFigure D-16. Exponent Comparator/Update Unit.Exponent Comparitor/Update Unit11 Bits11 Bits 11 Bits11 BitsES1 ES2m

Page 758

MOTOROLA DSP96002 USER’S MANUAL D-294. Unsigned Long Word Integer: 64 bits wide with unsigned magnitude representation. This stor-age format can only

Page 759 - D.1.5 Data ALU Block Diagram

Order this document by DSP96002UM/ADMotorola reserves the right to make changes without further notice to any products herein to im-prove reliability,

Page 760 - Figure D-6. Tiny Numbers

 MOTOROLA INC., 1993 MOTOROLATECHNICAL DATA SEMICONDUCTOR May, 1993 MOTOROLA This document contains information on a new product. Specifications an

Page 761 - Figure D-8. The Data ALU

2 MOTOROLA Integer Mode The integer performance on the DSP96002 has been doubled with the introduction of the Integer Mode (IM). The Integer Mode of

Page 762

MOTOROLA 3 stated during hardware reset, requires a weak external pull-up resistor, and can be con-nected directly to the WE pin of a static RAM. Th

Page 763

4 MOTOROLAThe DSP96002 instruction cache is a “real-time” cache and therefore it has no inherentpenalty on a cache miss. In other words, if there is

Page 764

MOTOROLA 5 Since there are 8 sectors of 128 words each, in the internal program RAM, the 32 bit ad-dress is divided into the following two fields:•

Page 765

6 MOTOROLA 2.3 CACHE OPERATION During cache operation each instruction is fetched on demand, only when it is needed.When the core generates an addr

Page 766 - \ /

MOTOROLA 7 Cache Enable (CE) bit. When the CE bit is cleared (0) the DSP96002 is in PRAM mode.When the CE bit is set, the processor is in cache mode

Page 767

MOTOROLA DSP96002 USER’S MANUAL 6 - 3 6.2.2 Fixed-Point Arithmetic Instructions The fixed-point arithmetic instructions perform all operations with

Page 768

8 MOTOROLAwill load the least recently used cache sector tag with the 25 most significant bits of thesum and then lock that cache sector. The instruct

Page 769

MOTOROLA 92.6 CACHE OPERATING MODES There are two main operating modes for the DSP96002: cache mode and PRAM mode.They are both global, as they af

Page 770

10 MOTOROLAcache sector is unlocked. As a result of this sequence, the unlocked cache sector isplaced at the top of the LRU stack, as it is the most

Page 771

MOTOROLA 11 Locking a sector does not affect the contents of the cache sector (instructions alreadyfetched into the cache sector storage area), the

Page 772

12 MOTOROLAThe PFLUSH instruction is not performed automatically when switching from cache modeto PRAM mode to give the user full control of the cach

Page 773

MOTOROLA 13 since these will be usually locked, all further accesses to these locations would not causea miss and therefore the external Program Mem

Page 774

14 MOTOROLAto does), the content of that word is changed in the internal Program Memory. This shouldbe transparent to the user since, although the wo

Page 775 - D.1.5.3 Adder/Subtracter Unit

MOTOROLA 15 be executed to set or clear OMR bit 4 without affecting other OMR bits, which could bechanged safely three cycles later. 2.12.2 Change

Page 776

16 MOTOROLA 2.13 CACHE USE SCENARIO This section demonstrates a possible scenario of cache use in a real time system.1. The DSP96002 leaves the har

Page 777 - D.1.5.4 Special Function Unit

MOTOROLA 17 Notice that the code doesn’t fall within the critical sectors, but rather in the initializationcode.PLOCK is the first instruction fetche

Page 778

MOTOROLA DSP96002 USER’S MANUAL 2 - 5 Bus Control VCC(2) (Power) - isolated power for the bus control I/O drivers. Must be tied to all otherchip po

Page 779

6 - 4 DSP96002 USER’S MANUAL MOTOROLA 6.2.3 Logical Instructions The logical instructions perform all of the logical operations, except ANDI and OR

Page 780 - D.2.1 General

18 MOTOROLA ANDI #$ef, OMR ; clear CE bit in OMRNOP ; pipeline delayNOP ; pipeline delayNOP ; pipeline delayPFLUSHMOVEI #$04, OMR ; bootstrap from Po

Page 781 - D.2.4 Integer Arithmetic

MOTOROLA 193.1 CHANGE TO THE PROGRAMMING MODEL (INTEGER MODE) To support the integer mode, bit 25 of the status register now features a new integer

Page 782 -  Motorola Inc., 1994

20 MOTOROLAoperations that yield single-precision results, then the two register files are completely de-coupled - thus effectively doubling the amoun

Page 783 - MOTOROLA

MOTOROLA 215 OnCE ENHANCEMENTSThe OnCE has been enhanced to provide the user with fully non-intrusive system debugcapability when the processor is i

Page 784

22 MOTOROLA5.3 Obtaining Cache Information Through the OnCEThe OnCE allows the user to keep track of the eight tag values, tags lock/unlock status,and

Page 785 - 2 INSTRUCTION CACHE

MOTOROLA 23tors could be “least recently used” although they can not be replaced. Therefore, the “nextto be replaced sector” is the only sector whose

Page 786

24 MOTOROLA5.4 USING THE OnCE FOR CACHE OBSERVABILITY5.4.1 Displaying the tags, locks and LRU status 1. ACK 2. Save pipeline information:1. Send com

Page 787 - • 25 MSBs for the tag

MOTOROLA 255.4.2 Displaying the Valid-bits of Specific Cache Locations Starting From Address xxxThis routine uses R0 as pointer to cache addresses. T

Page 788

26 MOTOROLA1. Send command WRITE PDB REGISTER and GO (no EX). (ODEC selects PDB as destination for serial data.)2. ACK3. Send the 32-bit opcode: “ORI

Page 789 - MAMBMCDECEreserved

MOTOROLA 2715. Send command WRITE PDB REGISTER (no GO, no EX). (ODEC selects PDB as destination for serial data.) 16. ACK 17. Send 32 bits of the tar

Page 790

MOTOROLA DSP96002 USER’S MANUAL 6 - 5 6.2.5 Loop Instructions The loop instructions control hardware looping by initiating a program loop and sett

Page 791

28 MOTOROLA6 INTRODUCTION TO THE TIMER/EVENT COUNTERThis section describes the two identical and independent timer/event counter modulesnow featured o

Page 792

MOTOROLA 29ADDRESS BUS A 32 32 ADDRESS BUS BaA0-aA31 (32) (32) bA0-bA31Vcc(2) (2) VccVss(4) (4) VssDATA BUS A 32 32 DATA BUS BaD0-aD31 (32)

Page 793

30 MOTOROLA123456789101112131415161718ABA23 BA27 BA29 BA31 IRQA ABB ABR TIO0 AR/W AS0 ATS AAE AA02 AA04 AA07 AA10 AA13 AA16 AB BA20 BA25 BA28 BA30 IRQ

Page 794

MOTOROLA 31The DSP96002 views each timer as a memory-mapped peripheral occupying two 32-bitwords in the X data memory space, and may use each timer a

Page 795

32 MOTOROLANote: Because of its affect on signal polarity, and on how GPIO data is read and written,31 30 29 28 27 26 25 24TE TIE INV TC2 TC1 TC0 TS23

Page 796

MOTOROLA 33the status of the INV bit is crucial to the timer’s function. Change it only when the timer isdisabled (TE=0).6.2.4 Timer Control (TC2-TC0

Page 797

34 MOTOROLA6.2.6 Timer Status (TS) Bit 24When the TS bit is set, it indicates that the counter has been decremented to zero.The TS bit is cleared when

Page 798

MOTOROLA 35In Timer Modes 4 and 5, however, the TCR will be loaded with the current value of thecounter on the appropriate edge of the TIO input sign

Page 799

36 MOTOROLANote: It is recommended that the GPIO input function of Mode 0 only be activated withthe timer disabled. If the processor attempts to read

Page 800 - 3 INTEGER MODE

MOTOROLA 37two (CLK/2). During the clock cycle following the point where the counter reaches 0, theTETCRNCounterN0NInterruptfirst last eventN-1TIOnew

Page 801 - 4 SINGLE PRECISION MODE

6 - 6 DSP96002 USER’S MANUAL MOTOROLA Bcc Branch Conditionally BRA Branch Always BRCLR Branch if Bit Clear BRSET Branch if

Page 802 - Single Precision Mode Bit

38 MOTOROLATS bit in TCSR is set and, if the TIE is set, an interrupt is generated.The counter is reload-ed with the value contained by the TCR and th

Page 803 - 5 OnCE ENHANCEMENTS

MOTOROLA 39TETCRstart eventClockCounter0N-1NInterrupt1TIOstart event0stop eventNFigure 14 - Pulse Width Measurement Mode (INV=0)xxxyyyTETCRstart even

Page 804

40 MOTOROLA6.4.5 Timer Mode 5 (Period Measurement Mode) Timer Mode 5 is defined by TC2-TC0 equal to 101.In Timer Mode 5, the counter is driven by a cl

Page 805

MOTOROLA 41TETCRperiodic event (first event)ClockNCounterNN+1 N+2InterruptTIOperiodic eventM-1MM M+1 M+2N+1Figure 16 - Period Measurement Mode (INV=0

Page 806 - 24 MOTOROLA

42 MOTOROLATETCRwrite to TIO (Event)NCounterN0NInterruptfirst eventlast eventN-1Figure 18 - Event Counter Mode, External Clock (INV=0)TCR (N)TIO (Even

Page 807

MOTOROLA 436.5 TIMER BEHAVIOR DURING WAIT and STOPDuring the execution of the WAIT instruction, the timer clocks are active and the timer ac-tivity c

Page 808

44 MOTOROLA6.7.2 General purpose IO outputThe following routine can be used to write the TIO1 output pin:movep #$02800000,x:TCSR1 ;clear TC2-TC0, set

Page 809 - MOTOROLA 27

MOTOROLA 456.7.4 Pulse width measurement mode (mode 4)The following program illustrates the use of the timer module for input pulse width mea-suremen

Page 810

46 MOTOROLA6.7.5 Period measurement mode (mode 5)The following program illustrates the usage of the timer module for input period measure-ment. The pe

Page 811

MOTOROLA 477 ADDITIONAL CHANGESThis section presents various other changes to the DSP96002 to support the addition of the Timer/Event Counter modules

Page 812 - PGA GNDQ AD24 AD25 AD23 J

MOTOROLA DSP96002 USER’S MANUAL 6 - 7 In an instruction word, one or more "effective addresses" may be specified. An effective address de

Page 813

48 MOTOROLA7.1 DCS Reserved Bits (Bits 6, 7, 17-22, 27, 29)These bits read as zero and should be written with zero for future compatibility. 7.2 DCS D

Page 814 - DIR DI DO

MOTOROLA 49Each requesting device input is first individually ANDed with its respective mask bit (M0,M1,etc) and then all AND outputs are ORed togethe

Page 815

50 MOTOROLATable 4 Internal I/O Memory Map of the X Data Memory SpaceADDRESS REGISTER$FFFFFFFF IPR - Interrupt Priority Register$FFFFFFFE BCRA

Page 816

MOTOROLA 51Interrupt Starting AddressInterrupt Source$FFFFFFFE Hardware RESET$00000000 Hardware RESET$00000002 Stack Error$00000004 Illegal Instructi

Page 817

52 MOTOROLA7.3 Exception Priorities within an IPLIf more than one exception is pending when an instruction is executed, the interrupt with the highes

Page 818

MOTOROLA 537.4 Interrupt Priority Register (IPR)The Interrupt Priority Register supports the timer module with the addition of the Timer0 and Timer1

Page 819 - MOTOROLA 37

54 MOTOROLA7.4.1 Reserved bits (Bits 12-15, 28-31)These reserved bits read as zero and should be written with zero for future compatibility.7.4.2 Time

Page 820

MOTOROLA 55Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYS//ADD Integer Signed MPYS

Page 821 - MOTOROLA 39

56 MOTOROLAInstruction Format: MPYS S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D DDn n n

Page 822

MOTOROLA 57Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYS//SUB Integer Signed MPYS

Page 823 - MOTOROLA 41

6 - 8 DSP96002 USER’S MANUAL MOTOROLA field specifies the operands to be used by the adder/subtracter opcode. One of the Opcode fields must al-ways

Page 824 - 42 MOTOROLA

58 MOTOROLAInstruction Format: MPYS S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D DDn n n

Page 825 - ;and clear INV for GPIO input

MOTOROLA 59Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer Unsign

Page 826

60 MOTOROLAInstruction Format: MPYU S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D DDn n n w

Page 827

MOTOROLA 61Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYU//SUB Integer Unsign

Page 828

62 MOTOROLAInstruction Format: MPYU S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D DDn n n

Page 829 - 7 ADDITIONAL CHANGES

MOTOROLA 63PFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 progra

Page 830 - ******M8

64 MOTOROLAPFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program word

Page 831

MOTOROLA 65PLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) A

Page 832 - 50 MOTOROLA

66 MOTOROLAPLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 00000

Page 833 - MOTOROLA 51

MOTOROLA 67Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 834

MOTOROLA DSP96002 USER’S MANUAL 6 - 9 6.4.2 Memory Access Processing One or more of the DSP96002 memory sources (X data memory, Y data memory and

Page 835

68 MOTOROLAPUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R7

Page 836

MOTOROLA 69PUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aa

Page 837 - Multiply and Add

70 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 838 - 56 MOTOROLA

 MOTOROLA INC., 1994 MOTOROLATECHNICAL DATA SEMICONDUCTOR M FOREWORD The following ten instructions have been added to the DSP96002 instruction set

Page 839

2 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYS//ADD Integer Signed

Page 840 - 58 MOTOROLA

MOTOROLA 3 Instruction Format: MPYS S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 841

4 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYS//SUB Integer Signed

Page 842 - 60 MOTOROLA

MOTOROLA 5 Instruction Format: MPYS S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 843

6 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer

Page 844 - 62 MOTOROLA

MOTOROLA 7 Instruction Format: MPYU S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 845 - MOTOROLA 63

6 - 10 DSP96002 USER’S MANUAL MOTOROLA

Page 846 - 64 MOTOROLA

8 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYU//SUB Integer

Page 847 - MOTOROLA 65

MOTOROLA 9 Instruction Format: MPYU S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 848 - 66 MOTOROLA

10 MOTOROLAPFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program

Page 849 - MOTOROLA 67

MOTOROLA 11PFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program wor

Page 850 - 68 MOTOROLA

12 MOTOROLAPLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Ab

Page 851 - MOTOROLA 69

MOTOROLA 13PLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 0000

Page 852 - 70 MOTOROLA

14 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 853 - MOTOROLA INC., 1994

MOTOROLA 15PUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R

Page 854

16 MOTOROLAPUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aaa

Page 855

MOTOROLA 17Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 856

MOTOROLA DSP96002 USER’S MANUAL 7 - 1 SECTION 7EXPANSION PORTS AND I/O PERIPHERALS 7.1 INTRODUCTION The upper 128 locations of the X and Y Data mem

Page 857

18 MOTOROLAMotorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or gu

Page 858

 MOTOROLA INC., 1994MOTOROLATECHNICAL DATASEMICONDUCTORMAddendum

Page 859

 MOTOROLA INC., 1994 MOTOROLATECHNICAL DATA SEMICONDUCTOR M FOREWORD The following ten instructions have been added to the DSP96002 instruction set

Page 860

2 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYS//ADD Integer Signed

Page 861

MOTOROLA 3 Instruction Format: MPYS S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 862 - 10 MOTOROLA

4 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYS//SUB Integer Signed

Page 863 - MOTOROLA 11

MOTOROLA 5 Instruction Format: MPYS S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 864 - 12 MOTOROLA

6 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer

Page 865 - MOTOROLA 13

MOTOROLA 7 Instruction Format: MPYU S1,S2,D1 ADD S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 866 - 14 MOTOROLA

8 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYU//SUB Integer

Page 867 - MOTOROLA 15

7 - 2 DSP96002 USER’S MANUAL MOTOROLA 7.2.1.1 BCRx Wait Control Fields (Bits 0-15) The BCRx Wait Control fields specify the number of wait states to

Page 868 - 16 MOTOROLA

MOTOROLA 9 Instruction Format: MPYU S1,S2,D1 SUB S3,D2 (move syntax - see the MOVE instruction descrip-tion.) Instruction Fields: D1 D D Dn

Page 869 - MOTOROLA 17

10 MOTOROLAPFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program

Page 870 - 18 MOTOROLA

MOTOROLA 11PFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program wor

Page 871 - Addendum

12 MOTOROLAPLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Ab

Page 872

MOTOROLA 13PLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 0000

Page 873

14 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 874

MOTOROLA 15PUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R

Page 875

16 MOTOROLAPUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aaa

Page 876

MOTOROLA INDEX - 1 INDEX

Page 878

MOTOROLA DSP96002 USER’S MANUAL 7 - 3 7.2.1.3 BCRx Reserved bits (Bits 20, 21) These reserved bits read as zero and should be written with zero for

Page 879

MOTOROLA INDEX - 3 INDEX —A— A Law . . . . . . . . . . . . . . . . . . . . . . . . 8-17A/D Comb Filter Transfer Function . . 6-12A/D Converter

Page 880

Index (Continued) INDEX - 4 MOTOROLACodec Status Register (COSR) . 6-6 , 6-9 , 49Codec Transmit Data Register . . . . . . 6-6Comb Filter .

Page 881

Index (Continued)MOTOROLA INDEX - 5Dual Read Instructions . . . . . . . . . . . . .32—E—Effective Address Update . . . . . . . . . . .34Event Selec

Page 882

Index (Continued)INDEX - 6 MOTOROLAISR Receive Data Register Full (RXDF) Bit0 . . . . . . . . . . . . . . . . . . . . . . . 5-16ISR Transmit Data Reg

Page 883

Index (Continued)MOTOROLA INDEX - 7Port B Control Register (PBC) . . . . . . 4-6Port B Data Direction Register . . . . . . 4-6Port B Data Register

Page 884

Index (Continued)INDEX - 8 MOTOROLATimer Control Register (TCR) 1-17, 7-6, 47Timer Count Register (TCR) . . . . . . . . 7-3Timer Count Register (TCTR

Page 885

MOTOROLA 17Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15

Page 886

18 MOTOROLAMotorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or gu

Page 887

2 - 6 DSP96002 USER’S MANUAL MOTOROLA and may change only when —T–S is deasserted. A0-A31 are three-stated during hard-ware reset. D0-D31 (Data Bu

Page 888 - INDEX - 1

7 - 4 DSP96002 USER’S MANUAL MOTOROLA 7.2.1.9 BCRx X Data Memory Fault Enable (XE) Bit 28 If the X Data Memory Fault Enable bit XE is set, the page f

Page 889

MOTOROLA DSP96002 USER’S MANUAL 7 - 5 external memory may use a fast access mode (page, static column, nibble or serial shift) during the currentbus

Page 890

7 - 6 DSP96002 USER’S MANUAL MOTOROLA Non-Sequential Fault -—T–T is deasserted if the current address A is not the increment (+1) of thelatched addre

Page 891

MOTOROLA DSP96002 USER’S MANUAL 7 - 7 If the current bus cycle is in an enabled memory space, the —T–T pin is controlled by comparison of thecurrent

Page 892

7 - 8 DSP96002 USER’S MANUAL MOTOROLA —T–T Pin Activity for Current Bus Cycle Latched for PE XE YE P Space X Space

Page 893

MOTOROLA DSP96002 USER’S MANUAL 7 - 9 machine is responsible for ensuring that —R—A–S or —C—A–S timeouts do not occur. Since typical —R—A–S and —C—A–

Page 894

7 - 10 DSP96002 USER’S MANUAL MOTOROLA 31 24 23 16 15 8 7 0 PSR X X X X X X X X Y Y Y Y Y Y

Page 895

MOTOROLA DSP96002 USER’S MANUAL 7 - 11 7.3.1.3 PSR X Data Memory Port Select (X0-X7) Bits 16-23 The X Data Memory Port Select control bits (X0-X7) d

Page 896

7 - 12 DSP96002 USER’S MANUAL MOTOROLA The HI appears as a memory mapped peripheral occupying 16 locations in the host processor addressspace. Separa

Page 897

MOTOROLA DSP96002 USER’S MANUAL 7 - 13If —H–R is used and the host processor reads RX or writes TX when the DSP96002 is in the Stop state,then —H–R wi

Comments to this Manuals

No comments