DSP9600232-BITDIGITAL SIGNAL PROCESSORUSER’S MANUALMotorola, Inc.Semiconductor Products SectorDSP Division6501 William Cannon Drive, WestAustin, Texas
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
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
MOTOROLA DSP96002 USER’S MANUAL 7 - 15Figure 7-9. HI Block Diagram (One Port)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 2 - 9 —A–E (Address Enable) - active low input, must be asserted and deasserted synchronous tothe input clock (CLK)
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
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
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 7 - 41 clock wor
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
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
2 - 10 DSP96002 USER’S MANUAL MOTOROLA register (IVR) onto the data bus outputs D0-D31. This provides an interrupt acknowl-edge capability compati
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
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
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
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
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 7 - 53 X DATA Memory Space $FFFFFFFF IPR - Interrupt Priority Regis
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
7 - 54 DSP96002 USER’S MANUAL MOTOROLA
MOTOROLA DSP96002 USER’S MANUAL 8 - 1 SECTION 8EXCEPTION PROCESSING 8.1 INTRODUCTION This section describes the actions of the DSP96002 which are
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
MOTOROLA DSP96002 USER’S MANUAL 8 - 3 * Int ctl cyc1 i
8 - 4 DSP96002 USER’S MANUAL MOTOROLA interrupt instructions are being fetched, the PC is inhibited from being updated. After the two interruptword
MOTOROLA DSP96002 USER’S MANUAL 8 - 5 * Int ctl cyc1 i
8 - 6 DSP96002 USER’S MANUAL MOTOROLA Int ctl cyc1 i Int ctl cyc2 i
MOTOROLA DSP96002 USER’S MANUAL 8 - 7 Int ctl cyc1 i † i* Int ctl cyc2 i
8 - 8 DSP96002 USER’S MANUAL MOTOROLA InterruptStartingAddress interrupt Source $FFFFFFFE Hardware RESET$00000000 Hardware RESET$00000002 Stack Error
MOTOROLA DSP96002 USER’S MANUAL 8 - 9 which are maskable. Additionally, each of these interrupts has independent enable control. When the IRQA,IRQB o
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
8 - 10 DSP96002 USER’S MANUAL MOTOROLA 31 30 29 28 27 26 25 24 ** ** ** ** ** ** ** **
MOTOROLA DSP96002 USER’S MANUAL 8 - 11 IxL2 Trigger Mode IRxS Status 0 level
8 - 12 DSP96002 USER’S MANUAL MOTOROLA 8.5.2 Interrupt Priority Register (IPR) This read/write register specifies the interrupt priority level for
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
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
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
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,
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
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
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
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
9 - 4 DSP96002 USER’S MANUAL MOTOROLA PAGE 132,50,0,10 ; BOOTSTRAP CODE FOR DSP96002 - Copyright 1988 Motorola Inc. ; ; Ho
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
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
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
9 - 8 DSP96002 USER’S MANUAL MOTOROLA X DATA Y DATA $FFFFFFFF $FFFFFFFF
MOTOROLA DSP96002 USER’S MANUAL 9 - 9 PROGRAM MEMORY MMM HW RESET MODE INTERNAL PROGRAM EXTERNAL PROGRAM
9 - 10 DSP96002 USER’S MANUAL MOTOROLA
MOTOROLA DSP96002 USER’S MANUAL 10 - 1 SECTION 10ON-CHIP EMULATOR 10.1 INTRODUCTION Conventional methods of system development (for example the DSP
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
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
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
10 - 4 DSP96002 USER’S MANUAL MOTOROLAFigure 10-2. OnCE Controller and Serial Interface been received), and two signals indicating that the core
MOTOROLA DSP96002 USER’S MANUAL 10 - 5 PBS1 PBS0 Selection 0 0 Breakpoint on Core fetch accesses
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
MOTOROLA DSP96002 USER’S MANUAL 10 - 7Figure 10-4. Program Memory Breakpoint Logic cific point to examine/change registers or memory. Using address
10 - 8 DSP96002 USER’S MANUAL MOTOROLAFigure 10-5. Data Memory Breakpoint Logic dress is ignored. Program memory address breakpoints occur after th
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
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
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
10 - 12 DSP96002 USER’S MANUAL MOTOROLAFigure 10-6. Breakpoint and Trace Counter Logicfor any newly fetched instruction including instructions fetche
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
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
10 - 14 DSP96002 USER’S MANUAL MOTOROLAFigure 10-7. Pipeline Information Registers through the serial interface. This register is affected by the ope
MOTOROLA DSP96002 USER’S MANUAL 10 - 15Figure 10-8. Program Address Bus FIFO
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
MOTOROLA DSP96002 USER’S MANUAL 10 - 17 10010 Program Address Bus Latch for Decode (OPABD) 10011 Reserved 101xx
10 - 18 DSP96002 USER’S MANUAL MOTOROLA 0 write the data associated with the command into the register specified by RS4-RS
MOTOROLA DSP96002 USER’S MANUAL 10 - 196. CLK7. Send command READ FIFO REGISTER (and increment pointer).8. ACK9. CLK10. Send command READ FIF
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 1 APPENDIX AINSTRUCTION SET DETAILS A.1 INTRODUCTION This appendix contains detailed information about each
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 3 by Address Generation Unit operation when executing MOVETA instructions. Clearedotherwise. The V bit is clear
A - 4 DSP96002 USER’S MANUAL MOTOROLA compare instruction. The –R bit is cleared during processor reset. See the example forthe FCMPG instruction f
MOTOROLA DSP96002 USER’S MANUAL A - 5Mnemonic A–R LR I N Z V C Special DefinitionsABS ––––***–ADD –––––* * *ADDC ––––*?* * Note 1AND ––––** 0–ANDC –
A - 6 DSP96002 USER’S MANUAL MOTOROLAMnemonic A–R LR I N Z V C Special DefinitionsFCOPYS.X –––***––FDEBUGcc ––––––––FFcc ––––––––FFcc.U ???????? Note
MOTOROLA DSP96002 USER’S MANUAL A - 7Mnemonic A–R LR I N Z V C Special Definitions JOIN ––––* * 0–JOINB ––––* * 0–JScc ––––––––JSCLR ––––––––JSET –––
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
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
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
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
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
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
A - 12 DSP96002 USER’S MANUAL MOTOROLAMnemonic UNCC NAN SNAN OPERR OVF UNF DZ INX Special DefinitionsABS – – – – – – – –ADD – – – – – – – –ADDC1 – –
MOTOROLA DSP96002 USER’S MANUAL A - 13 Mnemonic UNCC NAN SNAN OPERR OVF UNF DZ INX Special Definitions FCOPYS.X 0 * * 0 * * 0 *FDEBUGcc * – – – – – –
A - 14 DSP96002 USER’S MANUAL MOTOROLAMnemonic A–R LR I N Z V C Special Definitions JOIN ––––––––JOINB ––––––––JScc ––––––––JSCLR ––––––––JSET ––––––
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
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
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
A - 18 DSP96002 USER’S MANUAL MOTOROLA OperatorsMiscellaneous #xx Immediate short data (16 bits sign extended) #xxx Immediate short data
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
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:
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 =
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 25ANDI AND Immediate to Control Register ANDI Operation: D & #xx → D Assembler Syntax: AND(I) #Byte,D
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
MOTOROLA DSP96002 USER’S MANUAL A - 27ASL Arithmetic Shift Left ASL Operation: Assembler Syntax: ASL D (move syntax - see the MOVE instruction d
A - 28 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: ASL D(move syntax - see the MOVE instruction description.) DATA BUS MOVE FIELD 10 0101
MOTOROLA DSP96002 USER’S MANUAL A - 29ASR Arithmetic Shift Right ASR Operation: Assembler Syntax: ASR D (move syntax - see the MOVE instruction d
A - 30 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: ASR D(move syntax - see the MOVE instruction description.) Instruction Fields: (u u)Ddd
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
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
A - 32 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: Bcc label (short)Instruction Fields: Rn - R0-R7 Long Displacement - 32 bits Short Displ
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}
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
MOTOROLA DSP96002 USER’S MANUAL A - 35For other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte
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
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}
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
MOTOROLA DSP96002 USER’S MANUAL A - 39For other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte
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
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
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
A - 42 DSP96002 USER’S MANUAL MOTOROLADescription: Program execution continues at location PC+displacement. The PC contains the address of the next
MOTOROLA DSP96002 USER’S MANUAL A - 43BRCLR Branch if Bit Clear BRCLR Operation: If S{n} = 0, then PC + xxxx → PC else PC + 1 →
A - 44 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxxx) ) PC Relative
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 47Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxxx) ) PC Relative
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
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
A - 50 DSP96002 USER’S MANUAL MOTOROLAER Status Bits: Not affected. IER Flags: Not affected. Instruction Format: BScc label (short)1c cccc 0000
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
MOTOROLA DSP96002 USER’S MANUAL 3 - 1 SECTION 3CHIP ARCHITECTURE 3.1 INTRODUCTION The DSP96002 architecture is a 32-bit highly-parallel multiple-bu
A - 52 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) PC Relative D
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
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{
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
A - 56 DSP96002 USER’S MANUAL MOTOROLAFor other destination operands: SINX - Not affected. SDZ - Not affected. SUNF - Not affected. SOVF - Not affecte
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 59Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aa
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
MOTOROLA DSP96002 USER’S MANUAL A - 61 <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) PC Relative Displacement - 32 bit
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
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
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}
A - 64 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory alterable addressing modes only) Immediate Short Data -
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 67CMP Compare CMP Operation: S2.L - S1.L (parallel data bus move) Assembler Syntax: CMP S1,S2 (mo
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
MOTOROLA DSP96002 USER’S MANUAL A - 69CMPG Graphics Compare with Trivial CMPGAccept/Reject Flags Operation: S2.L - S1.L (parallel data bus move) Ass
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
MOTOROLA DSP96002 USER’S MANUAL A - 71DEBUGcc Enter Debug Mode DEBUGccConditionally 0c cccc 1111 111131 14 13 00000 0000 0000 0000 01Operation: If cc,
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
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
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
A - 74 DSP96002 USER’S MANUAL MOTOROLADO Start Hardware Loop DO Operation: LA → SSH; LC → SSL; X:<ea> → LC PC → SSH; SR → SSL; expr →
MOTOROLA DSP96002 USER’S MANUAL A - 75"end-of-loop" processing begins.When executing a DO loop, the instructions are actually fetched each t
A - 76 DSP96002 USER’S MANUAL MOTOROLA Other restrictions: BSR to (LA), if Loop Flag is set (F)BScc to (LA), if Loop Fl
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
A - 78 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Addr
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;
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
MOTOROLA DSP96002 USER’S MANUAL A - 81 PC displacement - 32 bits Immediate Short Data - iiiiiiiiiiiiiiiiiii (19 bits) Memory Space SX Memory 0 Y Me
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
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 →
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 =
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
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
A - 86 DSP96002 USER’S MANUAL MOTOROLAFABS.S Absolute Value FABS.S Operation: D → ROUND(SP) → D (parallel data bus move) Assembler Syntax: FABS
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
A - 88 DSP96002 USER’S MANUAL MOTOROLAFABS.X Absolute Value FABS.X Operation: D → D (parallel data bus move) Assembler Syntax: FABS.X D
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 3 - 5 A program loop begins execution after the DO instruction and continues until the program address fetchedequals
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
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
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
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
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
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
A - 98 DSP96002 USER’S MANUAL MOTOROLAFBcc Floating-Point Branch Conditionally FBccDescription: If the specified floating-point condition is true, th
MOTOROLA DSP96002 USER’S MANUAL A - 99ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affect
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
MOTOROLA DSP96002 USER’S MANUAL A - 101FBScc Floating-Point Branch FBSccTo Subroutine Conditionally Description: If the specified floating-point cond
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
A - 102 DSP96002 USER’S MANUAL MOTOROLA"cc" may specify the following conditions: Non-aware*Mnemonic Condition Set UNCCEQ - equal Z = 1 NoE
MOTOROLA DSP96002 USER’S MANUAL A - 103Instruction Fields: Rn - R0-R7 Long Displacement - 32 bits Short Displacement - aaaaaaaaaaaaaaa (15 bits)
A - 104 DSP96002 USER’S MANUAL MOTOROLAFCLR Clear Floating-Point Register FCLR 10 0000 uu11 0ddd31 14 13 0OPTIONAL EFFECTIVE ADDRESS EXTENSION OR IMME
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
A - 106 DSP96002 USER’S MANUAL MOTOROLAFCMP Compare Two FCMP Floating-Point OperandsOperation: S2 - S1 (parallel data bus move) Assembler
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
A - 108 DSP96002 USER’S MANUAL MOTOROLAFCMPG Graphics Compare FCMPG with Trivial Accept/Reject Flags Operation: S2 - S1 (parallel data bus
MOTOROLA DSP96002 USER’S MANUAL A - 109CCR Condition Codes: (Note: Since there is no destination, there is no rounding and therefore the condition cod
A - 110 DSP96002 USER’S MANUAL MOTOROLAFCMPM Compare Magnitude FCMPMof Two Floating-Point Operands Operation: S2 - S1 (parallel data bus move)
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
1 - 2 DSP96002 USER’S MANUAL MOTOROLA
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
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
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
A - 114 DSP96002 USER’S MANUAL MOTOROLAFCOPYS.X Copy Sign FCOPYS.X Operation: Sign of S → D (parallel data bus move) Assembler Syntax: FCOPYS
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
A - 116 DSP96002 USER’S MANUAL MOTOROLAFDEBUGcc Enter Debug Mode FDEBUGcc ConditionallyOperation: If cc, then enter debug mode. Assembler Syntax: FDE
MOTOROLA DSP96002 USER’S MANUAL A - 117ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affec
A - 118 DSP96002 USER’S MANUAL MOTOROLAFGETMAN Extract the Mantissa FGETMAN Operation: Normalized mantissa of S → D (parallel data bus move) As
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 123CCR Condition Codes: Not affected. ER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected.
A - 124 DSP96002 USER’S MANUAL MOTOROLA Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits
MOTOROLA DSP96002 USER’S MANUAL A - 125FJScc Floating-Point Jump To Subroutine FJScc ConditionallyOperation: If cc, then PC → SSH; SR → SSL; xx → P
A - 126 DSP96002 USER’S MANUAL MOTOROLAER Status Bits: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affec
MOTOROLA DSP96002 USER’S MANUAL A - 127 ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits Short Jump Address -
A - 128 DSP96002 USER’S MANUAL MOTOROLAFLOAT.S Integer to Floating-Point FLOAT.S ConversionOperation: D.L → CONVERT TO FP → ROUND(SP) → D
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
A - 130 DSP96002 USER’S MANUAL MOTOROLAFLOAT.X Integer to Floating-Point FLOAT.X ConversionOperation: D.L → CONVERT TO FP → D
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
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
A - 132 DSP96002 USER’S MANUAL MOTOROLAFLOATU.S Unsigned Integer to FLOATU.S Floating-Point ConversionOperation: D.L → CONVERT TO FP → ROUND(SP) → D
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
A - 134 DSP96002 USER’S MANUAL MOTOROLAFLOATU.X Unsigned Integer to FLOATU.X Floating-Point ConversionDescription: Convert the unsigned 32-bit intege
MOTOROLA DSP96002 USER’S MANUAL A - 135Instruction Fields: (u u)DdddDnnnn where nnn = 0-7Timing: 2 + mv + da oscillator clock cyclesMemory: 1 + mv pro
A - 136 DSP96002 USER’S MANUAL MOTOROLAFLOOR Extract the Integer Part FLOOR Operation: S→ ROUND TO INTEGER → D (parallel data
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
A - 138 DSP96002 USER’S MANUAL MOTOROLAOperation: S1 * S2 → ROUND(MP) → D1 (parallel data bus move) S3 + D2 → ROUND(SP) → D2 FMP
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 141IER Flags: Flags changed according to standard definition. Instruction Format: FMPY S1,S2,D1 FADD.X S3,D2
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
A - 142 DSP96002 USER’S MANUAL MOTOROLAFMPY//FADDSUB.S FMPY//FADDSUB.SFloating-Point Multiply, Add, and SubtractOperation: S1 * S2 → ROUND(MP) → D1
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
A - 144 DSP96002 USER’S MANUAL MOTOROLAFMPY//FADDSUB.X FMPY//FADDSUB.X Floating-Point Multiply, Add, and SubtractOperation: S1 * S2 → ROUND(SEP) → D1
MOTOROLA DSP96002 USER’S MANUAL A - 145ER Status Bits: INX - Set if the result of the addition, subtraction or multiplication is inexact. Cleared oth-
A - 146 DSP96002 USER’S MANUAL MOTOROLAFMPY//FSUB.S Floating-Point FMPY//FSUB.S Multiply and SubtractOperation: S1 * S2 → ROUND(MP) → D1
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
A - 148 DSP96002 USER’S MANUAL MOTOROLAFMPY S2,S1,D1 FSUB.S S3,D2 (move syntax - see the MOVE instruction de-scription.)
MOTOROLA DSP96002 USER’S MANUAL A - 149
A - 150 DSP96002 USER’S MANUAL MOTOROLAFMPY//FSUB.X Floating-Point FMPY//FSUB.X Multiply and SubtractOperation: S1 * S2 → ROUND(SEP) → D1
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
MOTOROLA DSP96002 USER’S MANUAL 3 - 113.4 AGU The major components of the AGU are • Address Register Files • Offset Register Files • Modifier Reg
A - 152 DSP96002 USER’S MANUAL MOTOROLAFMPY.S Floating-Point Multiply FMPY.S Operation: S1 * S2 → ROUND(SP) → D (parallel data bus
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
A - 154 DSP96002 USER’S MANUAL MOTOROLAFMPY.X Floating-Point Multiply FMPY.X Operation: S1 * S2 → ROUND(SEP) → D (parallel data bus
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
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
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
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
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
A - 160 DSP96002 USER’S MANUAL MOTOROLAFSCALE.S Scale FSCALE.S a Floating-Point OperandOperation: 2S.H * D → ROUND(SP) → D (pa
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
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
A - 162 DSP96002 USER’S MANUAL MOTOROLAFSCALE.X Scale FSCALE.Xa Floating-Point OperandOperation: 2S.H * D → ROUND(SEP) → D
MOTOROLA DSP96002 USER’S MANUAL A - 163IER Flags: Flags changed according to standard definition. Instruction Fields: Immediate Short Data - nnnnnn
A - 164 DSP96002 USER’S MANUAL MOTOROLAFSEEDD Reciprocal Approximation FSEEDD Operation: Approximation(1/S) → D Assembler Syntax: FSEEDD S,D Descri
MOTOROLA DSP96002 USER’S MANUAL A - 165ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Set if result underflows. Cleared otherwise. OVF
A - 166 DSP96002 USER’S MANUAL MOTOROLAFSEEDR Square Root FSEEDRReciprocal ApproximationOperation: Approximation(1/SQRT(S)) → D Assembler Syntax: FSE
MOTOROLA DSP96002 USER’S MANUAL A - 167ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Always cleared. OVF -Always cleared. OPERR-Set if
A - 168 DSP96002 USER’S MANUAL MOTOROLAFSUB.S Floating-Point Subtract FSUB.S Operation: D - S → ROUND(SP) → D (parallel data bus mo
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
A - 170 DSP96002 USER’S MANUAL MOTOROLAFSUB.X Floating-Point Subtract FSUB.X Operation: D - S → ROUND(SEP) → D (parallel data bus mo
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
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
A - 172 DSP96002 USER’S MANUAL MOTOROLAFTFR.S Transfer Floating-Point FTFR.SData ALU RegisterOperation: S → ROUND(SP) → D (parallel data b
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
A - 174 DSP96002 USER’S MANUAL MOTOROLAFTFR.X Transfer Floating-Point FTFR.XData ALU RegisterOperation: S → D (parallel data bus mov
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
A - 176 DSP96002 USER’S MANUAL MOTOROLAFTRAPcc Conditional Software Interrupt FTRAPcc Operation: If cc, then begin software exception processing. Asse
MOTOROLA DSP96002 USER’S MANUAL A - 177INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected. OPERR- Not affected. SNAN - Not
A - 178 DSP96002 USER’S MANUAL MOTOROLAFTST Test a Floating-Point Operand FTST Operation: S - 0 (parallel data bus move) Assembler Synt
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
A - 180 DSP96002 USER’S MANUAL MOTOROLAGETEXP Extract Exponent GETEXP Operation: Exponent(S) → D.L (parallel data bus move) Assembler Syntax: GETE
MOTOROLA DSP96002 USER’S MANUAL A - 181ER Status Bits: INX -Always cleared. DZ -Always cleared. UNF -Always cleared. OVF -Always cleared. OPERR-Set if
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 –
A - 182 DSP96002 USER’S MANUAL MOTOROLAILLEGAL Illegal Instruction Interrupt ILLEGAL Instruction Fields: None Timing: 8 oscillator clock cyclesMemory
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
A - 184 DSP96002 USER’S MANUAL MOTOROLAINT Floating-Point to Integer Conversion INT Operation: Integer(D) → D.L (parallel data bus move) Assembler
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-
A - 186 DSP96002 USER’S MANUAL MOTOROLAINTRZ Floating-Point INTRZto Integer Conversion with Round to ZeroOperation: Integer(D) → D.L (parallel dat
MOTOROLA DSP96002 USER’S MANUAL A - 187ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.
A - 188 DSP96002 USER’S MANUAL MOTOROLAINTU Floating-Point INTUto Unsigned Integer ConversionOperation: Unsigned Integer(D) → D.L
MOTOROLA DSP96002 USER’S MANUAL A - 189ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.
A - 190 DSP96002 USER’S MANUAL MOTOROLAINTURZ Floating-Point INTURZto Unsigned Integer with Round to ZeroOperation: Unsigned Integer(D) → D.L
MOTOROLA DSP96002 USER’S MANUAL A - 191ER Status Bits: INX -Set if the floating-point operand has no exact integer representation. Cleared oth-erwise.
MOTOROLA DSP96002 USER’S MANUAL 3 - 15Figure 3-4. Modulo Arithmetic Unit Block Diagram
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
MOTOROLA DSP96002 USER’S MANUAL A - 193Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits S
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,
MOTOROLA DSP96002 USER’S MANUAL A - 195Instruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Add
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
MOTOROLA DSP96002 USER’S MANUAL A - 197JMP Jump JMP Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address
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
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 {
A - 200 DSP96002 USER’S MANUAL MOTOROLAJScc Jump to Subroutine Conditionally JScc Operation: If cc, then PC → SSH; SR → SSL; xx → PC else PC
MOTOROLA DSP96002 USER’S MANUAL A - 201Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Absolute Address - 32 bits S
3 - 16 DSP96002 USER’S MANUAL MOTOROLA
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
MOTOROLA DSP96002 USER’S MANUAL A - 203Instruction Format: JSCLR #bit,S,labeld0 0100 100b bbbb31 14 13 0ABSOLUTE ADDRESS EXTENSION0000 0010 1111 d
A - 204 DSP96002 USER’S MANUAL MOTOROLA <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Address - 32 bits Imm
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,
A - 206 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Add
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
A - 208 DSP96002 USER’S MANUAL MOTOROLAJSR Jump to Subroutine JSR Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Abs
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
A - 210 DSP96002 USER’S MANUAL MOTOROLA <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Absolute Address - 32 bits Imm
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
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
MOTOROLA DSP96002 USER’S MANUAL 4 - 1 SECTION 4SOFTWARE ARCHITECTURE 4.1 PROGRAMMING MODEL The programmer can view the DSP96002 architecture as thr
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
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
A - 214 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: ea Rn - R0-R7 (Post-update addressing modes only) Long Displacement - 32 bits D ddddd
MOTOROLA DSP96002 USER’S MANUAL A - 215LRA Load PC Relative AddressLRA Operation: PC+Rn → D Assembler Syntax: LRA Rn,D LRA label,D Descript
A - 216 DSP96002 USER’S MANUAL MOTOROLAPC+xxxx → D
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 219LSL Logical Shift Left LSL Operation: Assembler Syntax: LSL D (move syntax - see the Move instructi
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
MOTOROLA DSP96002 USER’S MANUAL A - 221LSR Logical Shift Right LSR Operation: Assembler Syntax: LSR D (move syntax - see the Move instruct
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 223MOVE Move Data Registers MOVE A.7.1 PARALLEL MOVE OPERATION DESCRIPTIONS Many instructions provide the capab
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
MOTOROLA DSP96002 USER’S MANUAL A - 225R Register To Register Parallel Move ROperation: Opcode Operation S1 → D1 Opcode Operation S2
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
MOTOROLA DSP96002 USER’S MANUAL A - 227U Move Update U(Effective Address Calculation)Instruction Fields: ea Rn - R0-R7 (Update addressing modes
A - 228 DSP96002 USER’S MANUAL MOTOROLAX: X Memory Move X:Operation:X:<ea> → DX:<Rn+xxxx> → DS → X:<ea>S → X:<Rn+
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
A - 230 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory addressing modes only)Register WRead S 0Write D 1 S1
MOTOROLA DSP96002 USER’S MANUAL A - 231X: R X Memory and Register Move X: ROperation:X:<ea> → D1 S2 → D2S1 → X:<ea> S2 → D
MOTOROLA DSP96002 USER’S MANUAL 4 - 3 floating point number a format conversion to/from the internal representation takes place. The format con-versi
A - 232 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Memory addressing modes only)Register WRead S1 0Write D1 1I
MOTOROLA DSP96002 USER’S MANUAL A - 233Y: Y Memory Move Y: Operation:Opcode Operation Y:<ea> → DOpcode Operation Y:<Rn+xxxx>
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-
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
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
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
A - 238 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea>Rn - R0-R7 (Memory alterable addressing modes only) Register WRead S 0Write D
MOTOROLA DSP96002 USER’S MANUAL A - 239X: Y: XY Memory X: Y: Operation:X:<ea> → D1 Y:<ea> → D2X:<ea> → D1 S2 → Y:<
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:
MOTOROLA DSP96002 USER’S MANUAL A - 241For a single effective address:Register WRead S1,S2 0Write D1,D2 1Effective AddressX: ea = Y: ea
4 - 4 DSP96002 USER’S MANUAL MOTOROLA ister will be accessed for an address register update calculation involving an address register of the samenumb
A - 242 DSP96002 USER’S MANUAL MOTOROLAFFcc Floating-Point iF FFccConditional Instructionwithout CCR, ER, IER updateOperation:If cc, thenOpcode Operat
MOTOROLA DSP96002 USER’S MANUAL A - 243CAUTIONSee restrictions in Section A.10.6 concerning Rn, Mn, and Nn registers as a destination. CCR Condition
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
MOTOROLA DSP96002 USER’S MANUAL A - 245FFcc.U Floating-Point iF FFcc.UConditional Instructionwith CCR, ER, IER Update Operation: If cc, then opcode o
A - 246 DSP96002 USER’S MANUAL MOTOROLACAUTIONSee restrictions in Section A.10.6 concerning Rn, Mn, and Nn registers as adestination. CCR Condition Co
MOTOROLA DSP96002 USER’S MANUAL A - 247Instruction Format - Opcode-operands: S,D FFcc.UFFcc.UInstruction Fields:StttRn n n n where nnn = 0-7DTTTRn
A - 248 DSP96002 USER’S MANUAL MOTOROLAIFcc Integer iF IFcc Conditional Instruction without CCR UpdateOperation: If cc, then opcode operationS →
MOTOROLA DSP96002 USER’S MANUAL A - 249CCR Condition Codes: C - Not affected.V - Not affected. Z - Not affected. N - Not affected. I - Not affected.
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
MOTOROLA DSP96002 USER’S MANUAL A - 251IFcc.U Integer iF IFcc.UConditional Instructionwith CCR, ER, and IER UpdateOperation:If cc, then opcode operat
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
A - 252 DSP96002 USER’S MANUAL MOTOROLACCR Condition Codes:C - Affected by the accompanying Data ALU operation if the specified condition is true.Not
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
A - 254 DSP96002 USER’S MANUAL MOTOROLAMOVE(C) Move Control Register MOVE(C) Operation: S3 → D2 S2 → D1 #xxxx → D1 X:<
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
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
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
A - 258 DSP96002 USER’S MANUAL MOTOROLAMOVE(I) Immediate Short Data Move MOVE(I) Operation: #xx → D Assembler Syntax: MOVE(I) #Data,D Description:
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 261MOVE(M) Move Program Memory MOVE(M) Operation: P:<ea> → D S → P:<ea> Assembler Syntax: MOVE(M)
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
A - 262 DSP96002 USER’S MANUAL MOTOROLAFor destination operands other than SR: C - Not affected. V - Not affected. Z - Not affected. N - Not affected.
MOTOROLA DSP96002 USER’S MANUAL A - 263Instruction Format: MOVE(M) P: ea, D MOVE(M) S,P: ea Instruction Fields: <ea>
A - 264 DSP96002 USER’S MANUAL MOTOROLAMOVE(P) Move Peripheral Data MOVE(P) Operation: X:<pp> → D S → X:<pp> #xxxx → X:<pp> Y:<
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
A - 266 DSP96002 USER’S MANUAL MOTOROLAFor destination operands other than SR: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not af
MOTOROLA DSP96002 USER’S MANUAL A - 267 Instruction Fields: <ea> Rn - R0-R7 X: or Y: reference (Memory addressing modes only) P: referenc
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
MOTOROLA DSP96002 USER’S MANUAL A - 269MOVE(S) Move Absolute Short MOVE(S) Operation: X:<aa> → D1 S1 → X :<aa> #xxxx → X:<aa>
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
MOTOROLA DSP96002 USER’S MANUAL A - 271For destination operands other than SR: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not af
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
A - 272 DSP96002 USER’S MANUAL MOTOROLASIOP - Not affected.
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
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.
MOTOROLA DSP96002 USER’S MANUAL A - 275MOVETA Move Data Registers MOVETA and Test AddressOperation: parallel data bus move Assembler Syntax: MOVETA
A - 276 DSP96002 USER’S MANUAL MOTOROLAInstruction Format: MOVETA (Integer NOP)Instruction Fields: See the MOVE instruction description for Data Bus
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
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-
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 283 NOP No Operation NOP Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program words00
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
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
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
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:
A - 288 DSP96002 USER’S MANUAL MOTOROLAFor OMR, MR, IER, CCR operands: INX - Not affected. DZ - Not affected. UNF - Not affected. OVF - Not affected.
MOTOROLA DSP96002 USER’S MANUAL A - 289REP Repeat Next InstructionREP Operation: LC → TEMP; X:<ea> → LC Repeat next instruction until LC = 1. T
A - 290 DSP96002 USER’S MANUAL MOTOROLAInstruction Fields: <ea> Rn - R0-R7 (Address Register Indirect Modes except (Rn+xxx) ) Immediate Sh
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
MOTOROLA DSP96002 USER’S MANUAL 4 - 9 The Data ALU performs rounding of the result to the precision specified by the instruction. The DSP96002support
A - 292 DSP96002 USER’S MANUAL MOTOROLARESET Reset Peripheral Devices RE-SETInstruction Fields: None Timing: 4 oscillator clock cyclesMemory: 1 prog
MOTOROLA DSP96002 USER’S MANUAL A - 293ROL Rotate Left ROL Operation: Assembler Syntax: ROL D ( See the MOVE instruction description.) Des
A - 294 DSP96002 USER’S MANUAL MOTOROLAROR Rotate Right ROR Operation: Assembler Syntax: ROR D ( See the MOVE instruction description.) De
MOTOROLA DSP96002 USER’S MANUAL A - 295RTI Return from InterruptRTI Operation: Assembler Syntax: RTI Description: The program counter and the status
A - 296 DSP96002 USER’S MANUAL MOTOROLASSH → PC; SSL → SR; SP – 1 → SP
MOTOROLA DSP96002 USER’S MANUAL A - 297Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 program words Instruction Format:
A - 298 DSP96002 USER’S MANUAL MOTOROLARTR Return from Subroutine with Restore RTR Operation: SSH → PC; SSL → SR; SP – 1 → SPAssembler Syntax: RTR Des
MOTOROLA DSP96002 USER’S MANUAL A - 299Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 program words Instruction Format:
A - 300 DSP96002 USER’S MANUAL MOTOROLARTS Return from Subroutine RTS Instruction Fields: None. Timing: 4 + rx oscillator clock cyclesMemory: 1 prog
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
4 - 10 DSP96002 USER’S MANUAL MOTOROLA ization, respectively. If FZ is set, floating-point underflows are flushed to zero. Any denormalized source op
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
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
A - 304 DSP96002 USER’S MANUAL MOTOROLASTOP Stop Instruction Processing STOP 00 0000 0000 111131 14 13 00000 0000 0000 0000 00Instruction Fields: No
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:
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
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
A - 308 DSP96002 USER’S MANUAL MOTOROLATRAPcc Conditional Software Interrupt TRAPcc Operation: If cc, then begin software exception processing. Assemb
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 311WAIT Wait for Interrupt WAIT Instruction Fields: None Timing: n/a Memory: 1 program wordsOperation: Enter WA
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
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
A - 312 DSP96002 USER’S MANUAL MOTOROLA A.8 INSTRUCTION ENCODING SUMMARY The encoding for each instruction is provided with the instruction descripti
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
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
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
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
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
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:
MOTOROLA DSP96002 USER’S MANUAL A - 319Data ALU Operation +da Cycles (IEEE Mode) + da Cycles worst case CommentsFNEG.X da
A - 320 DSP96002 USER’S MANUAL MOTOROLA res = number of multiplier de/unnormalized results. den = number of multiplier source operands with U-tag
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
4 - 12 DSP96002 USER’S MANUAL MOTOROLA UF SE P3 P2 P1 P0 Description 1 1 1 1 1 0 Stack Underflo
A - 322 DSP96002 USER’S MANUAL MOTOROLA A.9.5 MOVEP Timing Summary+ mvp MOVEC Operation Cycles CommentsRegister ↔ Peri
MOTOROLA DSP96002 USER’S MANUAL A - 323 A.9.7 LEA Timing Summary+ le MOVEC Operation Cycles CommentsUpdate Addressing
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 327These restricted instructions include: at LA-2, LA-1 and LA: DO BCHG/BCLR/BSET
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
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
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
MOTOROLA DSP96002 USER’S MANUAL A - 331
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
MOTOROLA DSP96002 USER’S MANUAL B-1 APPENDIX BDSP BENCHMARKS B.1 DSP96002 STANDARD DSP BENCHMARKS Program size and instruction cycle counts for the
B-2 DSP96002 USER’S MANUAL MOTOROLA B.1.2 N Real Multiplies c(I) = a(I) * b(I) , I=1,...,N
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL B-7 Program ICycles
B-8 DSP96002 USER’S MANUAL MOTOROLA move #aaddr,r0 1 1 move #baddr,r4
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
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
4 - 14 DSP96002 USER’S MANUAL MOTOROLA
MOTOROLA DSP96002 USER’S MANUAL B-11 DSP96002 IMPLEMENTATION
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
MOTOROLA DSP96002 USER’S MANUAL B-13 inc d0 m0,m4 lsr d2 m0,m5 move d2.l,n6 do n1,_end_pass
B-14 DSP96002 USER’S MANUAL MOTOROLA; ; Faster FFT using Programming Tricks found in Typical FORTRAN Libraries ; ; First two passes combined as a
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 ;
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,
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
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
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,
B-20 DSP96002 USER’S MANUAL MOTOROLA; ; t3 = dr + br ; t4 = dr - br ; ; t5 = ai + ci ; t6 = ai - ci ; ; t7 = bi + di ;
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
MOTOROLA DSP96002 USER’S MANUAL B-21; r6 = temp storage pointer n6 = not used ; r7 = not used n7 = not used ; ; Al
B-22 DSP96002 USER’S MANUAL MOTOROLA move #temp,r2 ;initialize temp storage pointers 2 2 move (r2)+,r6 ;
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
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
MOTOROLA DSP96002 USER’S MANUAL B-25 org y:0 cbuf ds ntaps org y:10 dsig ds 1 xsig ds 1
B-26 DSP96002 USER’S MANUAL MOTOROLAOn the delayed LMS algorithm, the coefficients are updated with the error from the previous iteration whilethe FI
MOTOROLA DSP96002 USER’S MANUAL B-27 FIR LATTICE FILTER z-1 move x:(r0)+,d6
B-28 DSP96002 USER’S MANUAL MOTOROLA COEFFICIENT AND STATE VARIABLE STORAGE R0 R4
MOTOROLA DSP96002 USER’S MANUAL B-29 DSP56000 IMPLEMENTATION
B-30 DSP96002 USER’S MANUAL MOTOROLA B.1.18 All Pole IIR Lattice Filter ALL POLE IIR LATTICE FILTER
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
MOTOROLA DSP96002 USER’S MANUAL B-31 DSP56000 IMPLEMENTATION
B-32 DSP96002 USER’S MANUAL MOTOROLA B.1.19 General Lattice Filter GENERAL LATTICE
MOTOROLA DSP96002 USER’S MANUAL B-33 SINGLE SECTION EQUAT
B-34 DSP96002 USER’S MANUAL MOTOROLA Program ICycles
MOTOROLA DSP96002 USER’S MANUAL B-35 B.1.20 Normalized Lattice Filter
B-36 DSP96002 USER’S MANUAL MOTOROLA SINGLE SECTION EQUAT
MOTOROLA DSP96002 USER’S MANUAL B-37 Program ICycles
B-38 DSP96002 USER’S MANUAL MOTOROLA B.1.21 1x3 3x3 and 1x4 4x4 Matrix Multiply 1x3 3x3 Matrix
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)
B-40 DSP96002 USER’S MANUAL MOTOROLA rep #N-1 ;sum 1 1 mac x0,y0,a x:(r1)+,x0 y:(r5)+n5,y0
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
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)
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
MOTOROLA DSP96002 USER’S MANUAL B-43 DSP96002 IMPLEMENTATION
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
MOTOROLA DSP96002 USER’S MANUAL B-45indspc equ 5.0 ;index spacing rindspc equ 1.0/indspc ;reciprocal of index spacing move
B-46 DSP96002 USER’S MANUAL MOTOROLA rmin equ -3.14159 range equ 2*3.14159 o_range equ 1.0/range
MOTOROLA DSP96002 USER’S MANUAL B-47 Program ICycles
B-48 DSP96002 USER’S MANUAL MOTOROLA --- ---
MOTOROLA DSP96002 USER’S MANUAL B-49 Totals: 10 10 The following code assumes a rotating model of
B-50 DSP96002 USER’S MANUAL MOTOROLA;shift other part 1 1 or d1,d0 ;merge bits together 1 1
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 ...
MOTOROLA DSP96002 USER’S MANUAL B-51 Program ICycles
B-52 DSP96002 USER’S MANUAL MOTOROLA 3. Dynamic bit field extraction, zero extend. Register d1.l contains FOFF, d2.l contains FSIZE.
MOTOROLA DSP96002 USER’S MANUAL B-53 6. Dynamic bit field insertion. Register d2.l contains FOFF, d3.l con-tains FSIZE.
B-54 DSP96002 USER’S MANUAL MOTOROLA9. Dynamic bit field clear. Register d1.l contains FOFF, d2.l contains FSIZE.
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
B-56 DSP96002 USER’S MANUAL MOTOROLA Unsigned 32 Bit Integer Program ICycles Division of d0 = d0/d2
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
B-58 DSP96002 USER’S MANUAL MOTOROLA Signed 32 Bit Integer Program ICycles Division of d0 = d5/d2
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
B-60 DSP96002 USER’S MANUAL MOTOROLARegisters: d0 = x d4 = limit d1 = y d5 = unused d2 = z d6 = unused d3 = unu
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
MOTOROLA DSP96002 USER’S MANUAL B-61 X Memory Y Memory (n0=3) r0 → x0 Xmin ← r4 y0 Xmax
B-62 DSP96002 USER’S MANUAL MOTOROLA Program ICycles
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
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
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
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
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
B-68 DSP96002 USER’S MANUAL MOTOROLA 3-D Graphics Illumination Program ICycles
MOTOROLA DSP96002 USER’S MANUAL B-69The resulting unsigned pseudorandom integer number is in d0.l. Reference: VAX/VMS Run-Time Library Routines Refer
B-70 DSP96002 USER’S MANUAL MOTOROLA Bezier Cubic Evaluation Program ICycles
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
MOTOROLA DSP96002 USER’S MANUAL B-71 Four 8 Bit Packs Program ICycles
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
MOTOROLA DSP96002 USER’S MANUAL B-73 B.1.40.1 32 Bit Block Transfer 32 Bit Block Transfer Program ICycles
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
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
B-76 DSP96002 USER’S MANUAL MOTOROLA B.1.42 Signed Reciprocal Generation This generates a fast approximation to 1/x. Approximation
MOTOROLA DSP96002 USER’S MANUAL B-77 Program ICycles
B-78 DSP96002 USER’S MANUAL MOTOROLA; Switch endpoints if necessary _inc_x ftst d2 d3.s,d0.s 1 1 ftfr.s
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 5 - 7 e = Biased Exponent ... 11 u = U tag ... 1 v = V tag ... 1 i = Integer Part ... 1 f
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL B-85The following memory map results: X Memory Y Memory r0 → Xobj0 n0=0
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
MOTOROLA DSP96002 USER’S MANUAL B-87Substituting the value of t results in the determinant y2 = | y2 w2-y2 | | y1 w1-y1 | ------
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
MOTOROLA DSP96002 USER’S MANUAL B-89; Words ICycleswf3d move x
B-90 DSP96002 USER’S MANUAL MOTOROLA ; Multiply coordinates by 1/W, scale and add offset fmpy.s d0,d4,d2
5 - 8 DSP96002 USER’S MANUAL MOTOROLA Mantissa... i.f = 1.00...00 NaNs (Not-a-Number): s ... Don’t care Bias of e .
MOTOROLA DSP96002 USER’S MANUAL B-91 ; Determine if point is within view volume fneg.s d1 d1.s,d2.s ;
B-92 DSP96002 USER’S MANUAL MOTOROLA;--------------------------------------------------------- ; ; Accept loop single-clip routine ; ;-----
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
B-94 DSP96002 USER’S MANUAL MOTOROLA ori #$e0,ccr ; 1 1 fneg.s d1 d1.s,d5.s
MOTOROLA DSP96002 USER’S MANUAL B-95 fcmp d0,d5 ; 1 1 fcmp d3,d5
B-96 DSP96002 USER’S MANUAL MOTOROLA ; Multiply coordinates by 1/W, scale and add offset (old point) fmpy.s d0,d4,d2
MOTOROLA DSP96002 USER’S MANUAL B-97;--------------------------------------------------------- ; ; Double point clipping routine ; ;-------
B-98 DSP96002 USER’S MANUAL MOTOROLA fjsgt _clip2_ynp ; 2 2 fadd.s d1,d6
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
B-100 DSP96002 USER’S MANUAL MOTOROLA fmpy.s d0,d4,d2 ; 1 1 fmpy.s d2,d1,d2 x:(r4)+
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
MOTOROLA DSP96002 USER’S MANUAL B-101 ;--------------------------------------------------------- ; ; Single point clipping routines ; ;---
B-102 DSP96002 USER’S MANUAL MOTOROLA ; y = w boundary _clip1_yp move y:(r1),d4.s ;W1 1 1 fmpy.s d
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
B-104 DSP96002 USER’S MANUAL MOTOROLA move y:(r1)-,d3.s ;Wn 1 1 fadd.s d3,d5 x:(r1)-,d
MOTOROLA DSP96002 USER’S MANUAL B-105 fsub.s d3,d5 ; 1 1 fseedd d5,d4
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
MOTOROLA DSP96002 USER’S MANUAL B-107 fmpy.s d0,d3,d0 ; 1 1 fcmp d7,d0
B-108 DSP96002 USER’S MANUAL MOTOROLA ; YNew = -WNew boundary _clip2_ynn move (r1)+ ; 1 1
MOTOROLA DSP96002 USER’S MANUAL B-109 _clip2_znn move d6.s,d0.s y:(r1),d6.s ;Zo 1 1 fsub.s d0
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.
5 - 10 DSP96002 USER’S MANUAL MOTOROLA Single Precision → Double PrecisionMemory Format Internal Format 31 → 95 S94 U - SET IF DENORMA
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.
B-112 DSP96002 USER’S MANUAL MOTOROLA page 132,60,1,1 ; ; Implements the Walsh-Hadamard Transform ; iord equ 4 ;order
MOTOROLA DSP96002 USER’S MANUAL B-113 move d2.s,y:(r0)+ ;save dif 2 _firststage nop nop move #data,r0
B-114 DSP96002 USER’S MANUAL MOTOROLA_mid move #3,n0 ;new offset move n0,n4 ;copy move (r4)+
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)
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
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
B-118 DSP96002 USER’S MANUAL MOTOROLA fsub.s d2,d3 ; 1 1 move d3.s,x:(r1
MOTOROLA DSP96002 USER’S MANUAL B-119 fmpy.x d4,d4,d4 ;scale power 1 1 pwr
B-120 DSP96002 USER’S MANUAL MOTOROLA dc 0.2093549e-02 ;**7 dc -.02777411e-02 ;**6 dc 0.3357901e-02 ;**5
MOTOROLA DSP96002 USER’S MANUAL 5 - 11register is also the destination of the current operation). The DSP96002 does not support double precision.It
MOTOROLA DSP96002 USER’S MANUAL B-121 B.1.50 Cascaded Five Coefficient Biquad Filter Filter Section:
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
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
B-124 DSP96002 USER’S MANUAL MOTOROLA org x:0scale set 1.0tantabtanarg set 45.0*3.14159/180.0 dup tabsizescale set s
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
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
MOTOROLA DSP96002 USER’S MANUAL B-127 Totals: 44 8N+37 B.1.54 [NxN] by [NxN] Matrix Multiplication (Modulo-Aligned);This r
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
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
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.
5 - 12 DSP96002 USER’S MANUAL MOTOROLA Double Precision → Single PrecisionInternal Format Memory Format95 → 3194 .7574 → 30 73
MOTOROLA DSP96002 USER’S MANUAL B-131 Words page 132,60,1,1N equ 8N_sqr equ N*N org x
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:(
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:(
B-134 DSP96002 USER’S MANUAL MOTOROLA;This routine takes 15 + 16(18 + 14*17 + 18) = 4399 instruction cycles.;;;
MOTOROLA DSP96002 USER’S MANUAL B-135 org p:$100 move #amatrix,r0 1 1 move #N,n4
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
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:(
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:(
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:(
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:(
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
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:(
B-142 DSP96002 USER’S MANUAL MOTOROLA page 132,60,1,1fs equ 8000.0 ;sampling frequencyf0 equ 320.0 ;center
MOTOROLA DSP96002 USER’S MANUAL B-143 fadd.s d4,d0 1 1 move d0.s,y:output_gen
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
MOTOROLA DSP96002 USER’S MANUAL B-145 SP → I Program ICycles
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
MOTOROLA DSP96002 USER’S MANUAL B-147 move #ninf,d0.s ;set -infinity result 2 2 ori #2,er ;set DZ in E
B-148 DSP96002 USER’S MANUAL MOTOROLA Implementation of nextafter(d0,d4) d0 for single precision numbers:
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
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
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
MOTOROLA DSP96002 USER’S MANUAL B-151 d1=class(d0) Program ICycles
B-152 DSP96002 USER’S MANUAL MOTOROLA Execution Times: Signaling not a number - 7 Quiet not a number - 10 Negative infinity
MOTOROLA DSP96002 USER’S MANUAL B-153; d4.h d4.l; d5.h d5.l; d6.l; d7.l;
B-154 DSP96002 USER’S MANUAL MOTOROLA and d7,d2 ; remove implied one bit tst d2 ; check m0.high = zero
MOTOROLA DSP96002 USER’S MANUAL B-155_inan ori #$10,ier ; set invalid operation bit_qnan move #qnane,d1.h ; get QNaN exponent
B-156 DSP96002 USER’S MANUAL MOTOROLA tst d3 ; test mantr.high, get expr dec d5 ifpl.u ; decrement expr if
MOTOROLA DSP96002 USER’S MANUAL B-157 jmp _add ; ; ; Set Sticky Bit for Shift > 55 Bits ;_setst0 move
B-158 DSP96002 USER’S MANUAL MOTOROLA add d7,d1 ; " jcc _zchk ; " inc d
MOTOROLA DSP96002 USER’S MANUAL B-159 rol d3 ; shift mantr.h left jset #31,d3.l,_rnd ; jump if result normalized
B-160 DSP96002 USER’S MANUAL MOTOROLA move d6.l,d1.h ; " ori #$10,ccr ; set infinity bit ori
MOTOROLA DSP96002 USER’S MANUAL 5 - 15 5.7.2 Address Register Indirect Modes The effective address in the instruction specifies the address register
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
B-162 DSP96002 USER’S MANUAL MOTOROLA; d4.h d4.l; d5.h d5.l; d6.l; d7.l;
MOTOROLA DSP96002 USER’S MANUAL B-163 and d7,d2 ; remove implied one bit tst d2 ; check m0.high = zero
B-164 DSP96002 USER’S MANUAL MOTOROLA_inan ori #$10,ier ; set invalid operation bit_qnan move #qnane,d1.h ; get QNaN exponent
MOTOROLA DSP96002 USER’S MANUAL B-165 tst d3 ; test mantr.high, get expr dec d5 ifpl.u ; decrement expr if
B-166 DSP96002 USER’S MANUAL MOTOROLA jmp _add ; ; ; Set Sticky Bit for Shift > 55 Bits ;_setst0 move
MOTOROLA DSP96002 USER’S MANUAL B-167 add d7,d1 ; " jcc _zchk ; " inc d
B-168 DSP96002 USER’S MANUAL MOTOROLA rol d3 ; shift mantr.h left jset #31,d3.l,_rnd ; jump if result normalized
MOTOROLA DSP96002 USER’S MANUAL B-169 move d6.l,d1.h ; " ori #$10,ccr ; set infinity bit ori
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
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
MOTOROLA DSP96002 USER’S MANUAL B-171; *** f = fraction bits, initially bits in mantissas; *** l = least significant fraction bi
B-172 DSP96002 USER’S MANUAL MOTOROLA; tmp1 = register name of the form "Dn", and is a temporary var which; uses the lowest 32
MOTOROLA DSP96002 USER’S MANUAL B-173; ****** Flush DeNorms to 0 if Fast Mode ****** jclr #27,sr,_chksgn ; move #$8000000
B-174 DSP96002 USER’S MANUAL MOTOROLA move #EXP_MSK,d1.l ; and d1,d0 ; tst d0
MOTOROLA DSP96002 USER’S MANUAL B-175 move d0.l,d7.m ; move d0.m,d0.l ; dec d0
B-176 DSP96002 USER’S MANUAL MOTOROLA ; d5.l = next most significant word,
MOTOROLA DSP96002 USER’S MANUAL B-177 move #EDEN,d0.m ; abs d0 ; move d0.l,d1.m
B-178 DSP96002 USER’S MANUAL MOTOROLA jmp _endrnd ;_den move #EDEN,d1.l ; move d0.m,d0.l
MOTOROLA DSP96002 USER’S MANUAL B-179 move #EMAX,d1.l ; move d0.m,d0.l ; cmp d1,d0
B-180 DSP96002 USER’S MANUAL MOTOROLA jset #5,sr,_op1nan ; jset #4,sr,_operr ; jmp _ret0
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
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
MOTOROLA DSP96002 USER’S MANUAL B-181 depftst d7,d0,d1 ; jset #5,sr,_snan2 ; jmp _done
B-182 DSP96002 USER’S MANUAL MOTOROLA; extended precision number.;; Entry point: ieee2dplib: c(r0) ← convert(d0);; Input: r0 contains the lowe
MOTOROLA DSP96002 USER’S MANUAL B-183 page;; MOTOROLA DSP96002 DPLIB - VERSION 1.0;; DPLIB2IEEE - Convert internal double precision format to
B-184 DSP96002 USER’S MANUAL MOTOROLA;; Input: r0 contains the lowest address of the 4-word internal; extended precision number;; Output:
MOTOROLA DSP96002 USER’S MANUAL B-185abig sub d5,d6 ;c(r0) exponent is greater cmp d6,d7 #31,d7.l ;is |r0(e
B-186 DSP96002 USER’S MANUAL MOTOROLA inc d4.l ;increment the exponent jmp leave ;check for o
MOTOROLA DSP96002 USER’S MANUAL B-187 jmp echeck;; MOTOROLA DSP96002 DPLIB - VERSION 1.0;; DP_CLR - Set the double precision number to ze
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
MOTOROLA DSP96002 USER’S MANUAL B-189 move d0.l,x:(r0+sign) ;apply to destination rts page;; MOTOROLA DSP96002 DPLIB -
B-190 DSP96002 USER’S MANUAL MOTOROLA dec d1 ;and adjust exponent_startdiv move d1.l,x:(r0) ;save
5 - 18 DSP96002 USER’S MANUAL MOTOROLA(pointers) rather than moving large blocks of data. The contents of the address modifier register Mn definesth
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
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
MOTOROLA DSP96002 USER’S MANUAL B-193 eor d7,d1 d6.l,x:(r0) ;new sign, save exp move d1.l,x:(r0+sign)
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;
MOTOROLA DSP96002 USER’S MANUAL B-195 inc d0 ifcs ;if odd exponent, use 2 bits add d2,d1 ;restore expone
B-196 DSP96002 USER’S MANUAL MOTOROLA; extended precision number;; Outputs: r0 contains the lowest address of the 4-word internal;
MOTOROLA DSP96002 USER’S MANUAL B-197 tst d0 ;set the correct flags rtsmszero move x:(r0+ls),d0.l ;get ls
B-198 DSP96002 USER’S MANUAL MOTOROLA move d0.d,l:ieee_out ;output as dp ieee number move (r2)-n2 ;delete last sample
MOTOROLA DSP96002 USER’S MANUAL B-199
B-200 DSP96002 USER’S MANUAL MOTOROLA B.6 STANDARD BENCHMARK SUMMARY 56000/1
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
MOTOROLA DSP96002 USER’S MANUAL B-201 DSP96000 Benchmark
B-202 DSP96002 USER’S MANUAL MOTOROLA DSP96000 Benchmark
MOTOROLA DSP96002 USER’S MANUAL B-203 IEEE Recommended Functions and Predicates DSP96000 Benchmark W
B-204 DSP96002 USER’S MANUAL MOTOROLA IEEE Double PrecisionUsing Software Emulation TYPICAL WORST CASE FULLY TESTED B.4.1 ADDITION
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL C-5Figure C-4. Encodings for QNaNsFigure C-3. Encodings for + and - InfinityFigure C-2. Encodings for + and - Zero3
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
5 - 20 DSP96002 USER’S MANUAL MOTOROLAOn the DSP96002, the upper and lower boundaries are not explicitly needed. If the address register pointerincrem
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
C-8 DSP96002 USER’S MANUAL MOTOROLAresult of a floating point operation (nonzero result with true exponent smaller than the minimumexponent, see Figur
MOTOROLA DSP96002 USER’S MANUAL C-9Figure C-8. The Data ALU Block DiagramAutomatic Format Conversion Unitd0.h d0.m d0.ld0d1d2d3d4d5d6d7d8d9Register F
C-10 DSP96002 USER’S MANUAL MOTOROLAalgorithm.5. Controller and arbitrator: A controller/arbitrator supplies all of the control signals necessary fort
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
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
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
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
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
C-16 DSP96002 USER’S MANUAL MOTOROLA SP move into the register 0 00000000 01
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
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
C-18 DSP96002 USER’S MANUAL MOTOROLA. MOVE EXPONENT RANGE INPUT DATA
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL C-23 ROUND EXPONENT RANGE DATA ALU OPER
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
MOTOROLA DSP96002 USER’S MANUAL C-25M1 M2MDD32 Bits64 Bits32 Bits32 BitsMultiplier ArrayRoundRounding mode is determinedby rounding bits in the MR.C.1
C-26 DSP96002 USER’S MANUAL MOTOROLAE1 E2EDD11 Bits11 Bits11 BitsAdd exponents and subtract biasS1 S2put operand. These cycles are used to normalize t
5 - 22 DSP96002 USER’S MANUAL MOTOROLAModifierMMMMMM M M Address Calculation Arithmetic0000000 0 Reverse Carry (Bit Reversed Update)0000000 1 Modulo
MOTOROLA DSP96002 USER’S MANUAL C-27Exponent Comparator/ Barrel Shifter/AdderES1 ES2 MS1 MS2ED1 MD2Update Unit Normalization UnitSubtracterRoundED2MD1
C-28 DSP96002 USER’S MANUAL MOTOROLAExponent Comparator/Update Unit11 Bits11 Bits 11 Bits11 BitsES1 ES2max(E1, E2) E1-E2To Mantissa AlignmentTo Post-N
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
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
D-2 DSP96002 USER’S MANUAL MOTOROLA are intended to provide some kind of retrospective diagnostic information concerning the originof the NaN. Since
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
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
MOTOROLA DSP96002 USER’S MANUAL D-5Figure D-4. Encodings for QNaNsFigure D-3. Encodings for + and - InfinityFigure D-2. Encodings for + and - Zero3
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
MOTOROLA DSP96002 USER’S MANUAL D-7livered result is the correct SP denormalized number.5. Inexact: The inexact exception is signaled if the delivered
MOTOROLA DSP96002 USER’S MANUAL 5 - 23Figure 5-8. Address Modifier Summary
D-8 DSP96002 USER’S MANUAL MOTOROLAregister file consisting of 10 96-bit registers for storage of floating-point numbers is available forthat purpose.
MOTOROLA DSP96002 USER’S MANUAL D-9Figure D-8. The Data ALUAutomatic Format Conversion Unitd0.h d0.m d0.ld0d1d2d3d4d5d6d7d8d9Register FileControl and
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
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
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
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL 6 - 1 SECTION 6INSTRUCTION SET AND EXECUTION 6.1 INTRODUCTION This chapter introduces the DSP96002 instruction set
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
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
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
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
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
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
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
MOTOROLA DSP96002 USER’S MANUAL D-25Figure D-12. The Multiply UnitM1 M2MDD32 Bits64 Bits32 Bits32 BitsMultiplier ArrayRoundRounding mode is determine
D-26 DSP96002 USER’S MANUAL MOTOROLAFigure D-13. The Exponent AdderM1 M2EDD11 Bits11 Bits11 BitsAdd exponents and subtract biasS1 S2provide an initia
MOTOROLA DSP96002 USER’S MANUAL D-27Figure D-14. The Adder/SubtracterExponent Comparator/ Barrel Shifter/AdderES1 ES2 MS1 MS2ED1 MD2Update Unit Norma
6 - 2 DSP96002 USER’S MANUAL MOTOROLA tion cycle in the IEEE mode if denormalized numbers are not detected, otherwise additional instruction cy-cles
D-28 DSP96002 USER’S MANUAL MOTOROLAFigure D-16. Exponent Comparator/Update Unit.Exponent Comparitor/Update Unit11 Bits11 Bits 11 Bits11 BitsES1 ES2m
MOTOROLA DSP96002 USER’S MANUAL D-294. Unsigned Long Word Integer: 64 bits wide with unsigned magnitude representation. This stor-age format can only
Order this document by DSP96002UM/ADMotorola reserves the right to make changes without further notice to any products herein to im-prove reliability,
MOTOROLA INC., 1993 MOTOROLATECHNICAL DATA SEMICONDUCTOR May, 1993 MOTOROLA This document contains information on a new product. Specifications an
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
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
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
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:•
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
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
MOTOROLA DSP96002 USER’S MANUAL 6 - 3 6.2.2 Fixed-Point Arithmetic Instructions The fixed-point arithmetic instructions perform all operations with
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
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
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
MOTOROLA 11 Locking a sector does not affect the contents of the cache sector (instructions alreadyfetched into the cache sector storage area), the
12 MOTOROLAThe PFLUSH instruction is not performed automatically when switching from cache modeto PRAM mode to give the user full control of the cach
MOTOROLA 13 since these will be usually locked, all further accesses to these locations would not causea miss and therefore the external Program Mem
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
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
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
MOTOROLA 17 Notice that the code doesn’t fall within the critical sectors, but rather in the initializationcode.PLOCK is the first instruction fetche
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
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
18 MOTOROLA ANDI #$ef, OMR ; clear CE bit in OMRNOP ; pipeline delayNOP ; pipeline delayNOP ; pipeline delayPFLUSHMOVEI #$04, OMR ; bootstrap from Po
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
20 MOTOROLAoperations that yield single-precision results, then the two register files are completely de-coupled - thus effectively doubling the amoun
MOTOROLA 215 OnCE ENHANCEMENTSThe OnCE has been enhanced to provide the user with fully non-intrusive system debugcapability when the processor is i
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
MOTOROLA 23tors could be “least recently used” although they can not be replaced. Therefore, the “nextto be replaced sector” is the only sector whose
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
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
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
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
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
28 MOTOROLA6 INTRODUCTION TO THE TIMER/EVENT COUNTERThis section describes the two identical and independent timer/event counter modulesnow featured o
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)
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
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
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
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
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
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
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
MOTOROLA 37two (CLK/2). During the clock cycle following the point where the counter reaches 0, theTETCRNCounterN0NInterruptfirst last eventN-1TIOnew
6 - 6 DSP96002 USER’S MANUAL MOTOROLA Bcc Branch Conditionally BRA Branch Always BRCLR Branch if Bit Clear BRSET Branch if
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
MOTOROLA 39TETCRstart eventClockCounter0N-1NInterrupt1TIOstart event0stop eventNFigure 14 - Pulse Width Measurement Mode (INV=0)xxxyyyTETCRstart even
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
MOTOROLA 41TETCRperiodic event (first event)ClockNCounterNN+1 N+2InterruptTIOperiodic eventM-1MM M+1 M+2N+1Figure 16 - Period Measurement Mode (INV=0
42 MOTOROLATETCRwrite to TIO (Event)NCounterN0NInterruptfirst eventlast eventN-1Figure 18 - Event Counter Mode, External Clock (INV=0)TCR (N)TIO (Even
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
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
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
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
MOTOROLA 477 ADDITIONAL CHANGESThis section presents various other changes to the DSP96002 to support the addition of the Timer/Event Counter modules
MOTOROLA DSP96002 USER’S MANUAL 6 - 7 In an instruction word, one or more "effective addresses" may be specified. An effective address de
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
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
50 MOTOROLATable 4 Internal I/O Memory Map of the X Data Memory SpaceADDRESS REGISTER$FFFFFFFF IPR - Interrupt Priority Register$FFFFFFFE BCRA
MOTOROLA 51Interrupt Starting AddressInterrupt Source$FFFFFFFE Hardware RESET$00000000 Hardware RESET$00000002 Stack Error$00000004 Illegal Instructi
52 MOTOROLA7.3 Exception Priorities within an IPLIf more than one exception is pending when an instruction is executed, the interrupt with the highes
MOTOROLA 537.4 Interrupt Priority Register (IPR)The Interrupt Priority Register supports the timer module with the addition of the Timer0 and Timer1
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
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
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
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
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
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
MOTOROLA 59Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer Unsign
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
MOTOROLA 61Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYU//SUB Integer Unsign
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
MOTOROLA 63PFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 progra
64 MOTOROLAPFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program word
MOTOROLA 65PLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) A
66 MOTOROLAPLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 00000
MOTOROLA 67Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
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
68 MOTOROLAPUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R7
MOTOROLA 69PUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aa
70 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
MOTOROLA INC., 1994 MOTOROLATECHNICAL DATA SEMICONDUCTOR M FOREWORD The following ten instructions have been added to the DSP96002 instruction set
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
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
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
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
6 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer
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
6 - 10 DSP96002 USER’S MANUAL 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
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
10 MOTOROLAPFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program
MOTOROLA 11PFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program wor
12 MOTOROLAPLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Ab
MOTOROLA 13PLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 0000
14 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
MOTOROLA 15PUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R
16 MOTOROLAPUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aaa
MOTOROLA 17Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
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
18 MOTOROLAMotorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or gu
MOTOROLA INC., 1994MOTOROLATECHNICAL DATASEMICONDUCTORMAddendum
MOTOROLA INC., 1994 MOTOROLATECHNICAL DATA SEMICONDUCTOR M FOREWORD The following ten instructions have been added to the DSP96002 instruction set
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
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
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
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
6 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) S3.L + D2.L → D2.L MPYU//ADD Integer
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
8 MOTOROLA Operation: S1.L * S2.L → D1.M:D1.L (parallel data bus move) D2.L - S3.L → D2.L MPYU//SUB Integer
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
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
10 MOTOROLAPFLUSH Program-Cache Flush PFLUSH Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program
MOTOROLA 11PFREE Program-Cache Global Unlock PFREE Instruction Fields: None Timing: 2 oscillator clock cyclesMemory: 1 program wor
12 MOTOROLAPLOCK Program-Cache-Sector Lock PLOCK Instruction Fields: ea Rn - R0-R7 (Memory alterable addressing modes only) Ab
MOTOROLA 13PLOCKR Program-Cache-Sector PLOCKR Relative Lock00 0000 0aaa aaaa31 14 13 0000
14 MOTOROLAInstruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
MOTOROLA 15PUNLOCK Program-Cache-Sector PUNLOCK Unlock Instruction Fields: ea Rn - R0-R
16 MOTOROLAPUNLOCKR Program-Cache-Sector PUNLOCKR Relative Unlock00 0000 0aaa aaaa31 14 13 00000 0011 11aa aaa
MOTOROLA INDEX - 1 INDEX
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
MOTOROLA INDEX - 3 INDEX —A— A Law . . . . . . . . . . . . . . . . . . . . . . . . 8-17A/D Comb Filter Transfer Function . . 6-12A/D Converter
Index (Continued) INDEX - 4 MOTOROLACodec Status Register (COSR) . 6-6 , 6-9 , 49Codec Transmit Data Register . . . . . . 6-6Comb Filter .
Index (Continued)MOTOROLA INDEX - 5Dual Read Instructions . . . . . . . . . . . . .32—E—Effective Address Update . . . . . . . . . . .34Event Selec
Index (Continued)INDEX - 6 MOTOROLAISR Receive Data Register Full (RXDF) Bit0 . . . . . . . . . . . . . . . . . . . . . . . 5-16ISR Transmit Data Reg
Index (Continued)MOTOROLA INDEX - 7Port B Control Register (PBC) . . . . . . 4-6Port B Data Direction Register . . . . . . 4-6Port B Data Register
Index (Continued)INDEX - 8 MOTOROLATimer Control Register (TCR) 1-17, 7-6, 47Timer Count Register (TCR) . . . . . . . . 7-3Timer Count Register (TCTR
MOTOROLA 17Instruction Fields: Rn - R0-R7 Long PC Relative Displacement - 32 bits Short PC Relative Displacement - aaaaaaaaaaaaaaa (15
18 MOTOROLAMotorola reserves the right to make changes without further notice to any products herein. Motorola makes no warranty, representation or gu
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
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
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
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
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
7 - 8 DSP96002 USER’S MANUAL MOTOROLA —T–T Pin Activity for Current Bus Cycle Latched for PE XE YE P Space X Space
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–
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
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
7 - 12 DSP96002 USER’S MANUAL MOTOROLA The HI appears as a memory mapped peripheral occupying 16 locations in the host processor addressspace. Separa
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