Part Number Hot Search : 
PQG240 20022 2SC30 2SC350 2N2007 BPC3504 LT346 20022
Product Description
Full Text Search
 

To Download 96037 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 INDEX
MX96037
FEATURES
* 16-bit, 47/54/65 ns cycle (21/18/15 MIPs) DSP controller. * 16x16 multiplier, one cycle multiply-accumulate. * 32-bit ALU and 16-bit auxiliary ALU (ARAU) work in parallel. * 8 auxiliary registers for indirect addressing work with ARAU. * 16-level hardware stack and nestable interrupt support. * 32-bit barrel shifter. * 8-instruction looped up to 128 times capability. * Block program move. * 64k words program ROM space, 18k words may be internal. * External ROM option may replace internal 18K for fast prototyping. * 64k words SRAM space, 2048 words internal. 32 internal IO address. 1 independent interrupt pin, 1 NMI pin. 8 input pins. 8 bi-direction I/O pins. 16 output pins. Hold or slow system clock for power management. 1 ms system tick timer for system timing. One Codec interface. Built-in DRAM Controller;1G addressing space, with 1/4/8/16 data bit interface support. * Single 5V supply, 100 pins PQFP * * * * * * * * *
PIN CONFIGURATION
100 PQFP
ED10 ED9 ED8 ED7 ED6 ED5 ED4 ED3 ED2 ED1 GND VDD ED0 HOLD\ HOLDA\ EDCE\ EPCE\ ERD\ EWR\ EAD0 EAD1 EAD2 EAD3 EAD4 EAD5 EAD6 TEST GND EAD7 EAD8 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31
ED11 ED12 ED13 VDD GND ED14 ED15 X1 X2 CAS\ DRD\ DWR\ RAS\ POPT15 POPT14 RST\ EROM POPT13 OPT12 OPT11
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
MX96037
EAD9 EAD10 EAD11 EAD12 EAD13 EAD14 GND VDD EAD15 NMI\ INT1\ PHILO\ CDR0 PHRDB\ CMCK CFS CDX0 PHWRB\ PHDB0 PHDB1
OPT10 OPT9 OPT8 OPT7 OPT6 OPT5 OPT4 OPT3 OPT2 OPT1 OPT0 X32I X32O PACKB\ IPT7 IPT6 IPT5 IPT4 IPT3 IPT2 IPT1 IPT0 VDD GND PHDB7 PHDB6 PHDB5 PHDB4 PHDB3 PHDB2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
P/N: PM0232
1
REV. 1.1, NOV 15, 1995
INDEX
MX96037
PIN DESCRIPTIONS A. DSP BASIC (22 PINS)
SYMBOL VDD PIN TYPE PIN NUMBER 23, 43, 69, 84 24, 44, 53, 70, 85 88 89 I OA 96 14 DESCRIPTION 5V power source
GND
Ground
X1 X2 RST\ PACKB\(XF\)
Crystal input Crystal output Power-on Reset, Schmite-triggered If UPMODX=1 External flag, this pin can be directly written by one DSP instruction. Default inactive (5V output). UPMODX=0, ACKNOWLEDGE to host, data is ready in CMR. Hold DSP clock down and release bus Ack to HOLD\ signal Disable internal ROM; use external ROM only. Non maskable interrupt pin. Interrupt pin 32k Crystal output. 32k Crystal input. Connect to VDD ( for test only).
HOLD\ HOLDA\ EROM NMI\ INT1\ X32O X32I TEST
I OA I I I OA
67 66 97 41 40 13 12
I
54
2
INDEX
MX96037
PIN DESCRIPTIONS (Continued) B. DSP EXTERNAL MEMORY (41 PINS)
SYMBOL PIN TYPE PIN NUMBER 61-55, 52-45, 42 DESCRIPTION DSP IO/RAM/ROM external address bus. EAD0-EAD14 are for DRAM address also. DSP IO/RAM/ROM/DRAM external data bus. External data chip enable. External program chip enable. SRAM/ROM/IO external read. SRAM/ROM/IO external write. DRAM column address select. DRAM row address select. DRAM read. DRAM write.
EAD0-EAD15 OB
ED0-ED15 EDCE\ EPCE\ ERD\ EWR\ CAS\ RAS\ DRD\ DWR\
I/OB OB OB OB OB OB OB OB OB
68, 71-83, 86-87 65 64 63 62 90 93 91 92
MP INTERFACE
SYMBOL PHILO\ PIN TYPE I PIN NUMBER 39 DESCRIPTION High- or low-byte select (UPMODX =0). Output port OPT 18 (UPMODX =1). Host read (UPMODX =0.) Output port OPT 17 (UPMODX=1).
PHRDB\ PHWR\ PHDB(7:0)
I I B
37 33 25~32
Host write (UPMODX =0). Output port OPT 16 (UPMODX =1). Host data bus (UPMODX =0). Bidirectional IO port (UPMODX =1).
3
INDEX
MX96037
PIN DESCRIPTIONS (Continued) D. CODEC (6 PINS)
SYMBOL CFS CMCK CDX0 CDR0 PIN TYPE OB OB OA I PIN NUMBER 35 36 34 38 DESCRIPTION Codec frame sync, 8 KHz. (6KHz) Codec master clock, 1.536 MHz (default output). Codec data transmit Codec data receive
E. OPT : Output port (13 PINS)
SYMBOL PIN TYPE PIN NUMBER 1-11,94,95,98 99, 100 DESCRIPTION Output to pin, all output values are registered and may be read back when read by 'IN' instruction.
OPT0-OPT15 OC
F. IPT : Input port (8 PINS)
SYMBOL IPT7-IPT0 PIN TYPE I PIN NUMBER 15-22 DESCRIPTION Input port. IPT0-IPT3 with internal pull high
G. BIO : Bi-direction I/O (8 PINS)
SYMBOL BIO0-BIO7 PIN TYPE I/OB PIN NUMBER 25-32 DESCRIPTION Input/output port. Direction is controlled by BIO15-BIO8, (see BIOR).
NOTE: OA = 2mA, OB = 4mA, OC = 16mA output current. Symbol with backslash or bar is low active.
4
INDEX
MX96037
FUNCTIONAL DESCRIPTION
MULTIPLIER
A 16x16 with 32-bit result multiplier is included. Efficient FIR operation can be realized through MB and MPA instructions. Since multiplication is an important operation in DSPalgorithm, flexible multiplication is important in DSP implementation. The MX96037 supports complex multiplication (MB) for communication application. General multiplication operations may use MPA and MX. AUXILIARY REGISTERS Eight 16 bits auxiliary registers are allocated together with a 16-bit adder/subtractor. The results of adder/ subtractor always go through a modulator to get modular addressing before being stored to the auxiliary registers. The process provides an independent processor to do address calculation and update in parallel with main data path which performs the instruction execution. Of course, AR registers can also be used as temporary registers and as another unsigned adder/subtractor. AR register modification of (0,1,2,AR0) on the fly is also included. STACK Hardware contains 16 deep dedicated stack memories, which support deep hierarchy code. Stack manipulation is transparent to firmware. RAM/ROM MAP The MX96037 provides 64k words address space for both RAM and ROM.18k words ROM and 2k words RAM are on- chip. The other memory spaces are for external use. The internal 18k words ROM can be disabled by pulling EROM pin high, then external memory will be addressed for the first 18k words spaces. The MX96037 also provides 32 on-chip IO port for DSP use. These IO ports can be accessed by IN, OUT or specific instructions (see register definition). HOLD Hardware hold is supported through pins HOLD and HOLDA. When HOLD is activated, the MX96037 will enter hold state after the present instruction cycle is completed(instructions inside Loop and inherent repeat instruction cycles is considered one instruction cycle). At hold state, the MX96037 will release address and data bus to high impedence, stop executing instruction and output HOLDA. After HOLD is invalid the MX96037 will bring HOLDA to high and resume normal operation.
LOOP
Repeat or loop instruction is important in DSP operation. The MX96037 supports this function by implementing many instructions which are implictly repeated with the number stored in the RCR register. Examples are TBR, MPA, etc. Loop up to 8 instructions with specified number of times (can be variable) is also implemented with hardware. Again, flexible usage format is supported which makes the instruction more useful. MODULAR ADDRESSING Modular addressing is by modular operation at the output of ARAU. To use modular addressing user must first store non-zero number m which is stored to the MODR register. With this in effect, memory space beginning from k*2 n to k*2 n+m, where k is an integer greater than or equal to zero and 2n is a power-of-two integer greater than m, will form a circular memory space. Whenever boundary location, 0 or m, is addressed, the next AR content will be set/reset to m/0, independent of the instruction specification. Set MODR to 0 will deactivate modular addressing. For example, if MODR is set to 23, circular memory spaces will start from 32*k to 32*k+23. Any instruction can be indirectly addressed to 55, assuming that using AR1, with increasing operation, will make the next AR1 content to be reset to 32. Likewise, if AR1 content is in decreasing operation and the content of AR1 is set to 0, then the next value of AR1 will be reset to 23. If normal addressing mode is desired, simply output a 0 into the MODR registers. This instruction can help construct data RAM into circular buffer or delay line, thereby eliminating the need of physical data movement in the buffer or delay. However, the pointer need to be kept in the data RAM for easy access to the head/tail of this buffer/delay line.
5
INDEX
MX96037
HOST INTERFACE
UPMODX=0 will enable p command interface hardware and firmware to support external p operations. If UPMODX=0, CMDR, a 16-bit bidirection register, can be accessed by HOST via PHDB(7:0) pins in two accesses selected by PHILO\ pin. DSP accesses CMDR by 16-bit width. When HOST writes to high byte of this register, CRDY bit in register 7 (bit 6) will be set. When DSP reads CMDR, CRDY bit will be reset. PACKB\ signal is defaultly set to high. When DSP writes to CMDR, PACKB\ is reset(active low). The host read will set this PACKB\ pin to high. External p may use this parallel interface to set DAM_BIOS command and read responses from this port. INTERNAL/EXTERNAL MEMORY CONSIDERATIONS 1. DSP internal RAM is always selected, if external RAM is overlapped, the external portion is invisible by DSP. 2. DSP internal ROM may be disabled by active EROM pin. For initial program development, EROM\ may be active to use full range of external ROM. For sake of smarter ROM planning , DSP could write a test of external ROM presence, if external rom exists, just jump to the external directly. There are many possible configurations to be considered such as building DSP fast routine in internal ROM (just like IBM PC BIOS) or basic control system inside while leaving flexibility outside using shower memory.
SYSTEM TICK System tick always exists. It periodically interrupts DSP every 1 ms in normal mode or 32 ms in power down mode unles system tick interrup is masked (IMR:STMRM=1). Standard timer system may be implemented by this tick. POWER MANAGEMENT There are several ways to do power management. Users can program, PWDN or/and SWHOLD or assert HOLD\. 1. if SWHOD bit is set or hardware HOLD\ signal is activated, DSP operations and Codec clock will be halted. Any interrupt source at SWHOLD mode will reset SWHOLD then DSP will resume normal operation. Interrupt can't affect HOLD\. 2. When PWDN is set, DSP will run at 32.768 kHz and hi-crystal oscillation circuit is de-activated until it is reset to zero. Normally, It takes 62 mini second to re-activate crystal oscillation circuit and status bit LSRUN indicates the speed of DSP of current operation.
6
INDEX
MX96037
REGISTER DESCRIPTIONS
NAME optr iptr bior svr imr isr ctrl wstr mmacr mmapl mmaph rcr modr xr BIT 16 8 16 4 4 3 15 8 16 15 16 7 7 16 o o o CTLR o o o IO ADDRESS RELATED INSTRUCTIONS 0 1 2 3 4 5 7 8 9 10 11 12 13 14 IN/OUT IN/OUT IN/OUT IN/OUT IN/RPT/TBR/MPA/LUP IN/MOD IN/LX/LXA/LXM/LXS multiply instructions sp 4 15 PSH/POP/IN/PSHH/POPH TBR, MPA,PSHL,POPL cdrr0 cdxr0 pregl pregh 16 16 16 16 o o 16 17 18 19 IN OUT codec 0 receive buffer codec 0 transmit buffer product register low word product register high word stack pointer register IN/OUT IN IN/OUT IN/OUT/SFR/SFL IN/OUT IN DESCRIPTIONS output register input port register bidirectional io register shifter count (scr) and sign interrupt mask register interrupt status register control register wait state control register dram access control register dram access pointer low dram access pointer high repeat counter modulo register one of multiplier operands
7
INDEX
MX96037
REGISTER DESCRIPTIONS (Continued)
NAME tstr acch accl ar0-7 BIT 8 16 16 16x8 CTLR o IO 20 - - - RELATED INSTRUCTIONS IN/OUT (many instr.) SAL/ADL/SBL LAR/MAR/SAR for indirect memory access basically; also used in macro instructions accx p ssr 32 32 16 - - SBL, ADL, SFL SFR,multiply multiply instructions PAC/APAC SSS/OUT/BS/BZ INTM : EINT/DINT TB : BIT OVM : ROVM/SOVM ARP : MAR pc 16 - CALL, CALA, TRAP, BS, BZ BACC, RET, RETI, interrupt, hardware reset program counter acch+accl=accx product register status register DESCRIPTIONS test and codec control register DSP accumulator, the basic ALU
8
INDEX
MX96037
TABLE OF IO MAPPED REGISTERS
F E D C B A 9 8 7 6 5 4 3 2 1 0
OPTR:(00) IPTR:(01) BIOR:(02) SVR:(03) IMR:(04) ISR:(05)
0
OPT15
0
OPT14
0
OPT13
0
OPT12
0
OPT11
0
OPT10
0
OPT9
0
OPT8
0
OPT7
0
OPT6
0
OPT5
0
OPT4
0
OPT3
0
OPT2
0
OPT1
0
OPT0
RW RO RW RW RW RO RW RW RW RW RW RO RO RO RO RO WO WO WO
x
IPT7
x
IPT6 BIOR6
x
IPT5 BIOR5
x
IPT4 BIOR4
x
IPT3 BIOR3
x
IPT2 BIOR2
x
IPT1 BIOR1
x
IPT0 BIOR0
0
BIOR15
0
BIOR14
0
BIOR13
0
BIOR12
0
BIOR11
0
BIOR10
0
BIOR9
0
BIOR8
0
BIOR7
0
0
0
0
0
0
0
0 1
SSM
0 1
STMRM
0 1
CODCM
0 1
INTIM
SCR3 ~ SCR0
0
STMRS
0
CODCS
0
INTIS
0 CTLR:(07) WSTR:(08)
0 OPT18
0
OPT17
0
OPT16
0
0
0
FAST1
0
FAST0
0
HMOD
0
0
1
0
SS
0
HSSRC 1 1 MMWAIT
0
SNSEL
0
0
PWDN SWHOLD
CMDRDY LSRUNS
UPMODX C6KSEL 1 1 ROMWAIT
0 1 MMSIZE 0 0 0 0 MMCNT (Mass Memory move Count, 6 bits) 0 0 0
1 SRAMWAIT
MMAC:(09)
0 0 0 0 0 IRA (Internal RAM Address, bank one, 10 bits)
0
0
0
MMAPL:(10) MMAPH:(11) 0
TOIRAM
x x
x x
x x
x x
x x
x x
x x
x x
x x 0
x x 0 0 0
x x 0 0 0
x x 0 0 0 0
x x 0 0 0 0 x x x
x x 0 0 0 0 x x x
x x 0 0 0 0 x x x
RCR:(12)
^ ^ ^ ^ ^ ^ ^ ^ ^
MODR:(13) XR:(14) SPR:(15) CDRR:(16) CDXR:(17) x x x x x x x x x 0 0 0 0 0 0 0 0 0
0 0
x
x
x
x
x x x
x x x
x x x
x x x
x x
x x x
x x x
x x x
x x
x x
x x
x x
x x
PREGL:(18) PREGH:(19) TSTR:(20)
x
x
x
x
x
x
x
x
x
0
0
0
0
0
0
0
0
RO
*NOTE : Register 6 is revised for future use.
9
INDEX
MX96037
1. ACC:ACCUMULATOR
ACC = ACCH + ACCL
ACCH
ACCL
* * * *
acch+accl=acc Logic ALU operation is 16 bits and executed on acch. (ACCL is not affected) ADL/SBL is 32-bit operation. (SVR:SNSEL determine sige-extended) Lac will put ACCL to 0
SSR : STATUS REGISTER ssr includes 8 testable status/register bits (ssr:15~8), and 3 arp bits, 2 IOP bits, 4 DP bits SGN and ACZ reflect status of ACCH. (can not be saved)
This bit has two functions. It provides an "always true" condition for effectively unconditional branch (jump). On the other hand, it's also treated as "INTM",a global interrupt mask status. It ACC zero flag can be only set or reset by EINT or DINT. This bit reflects ACCH If INTM=1, interrupt is prohibited. current status directly. so, it is read only. sign flag reflects ACCH directly, read-only
overflow mode enable, used for overflow protection during +/ -/shift operations.
4-bit data page pointer defines 16 pages,128 address in each page, of internal RAM
RO 1/INTM
RW ARZ SGN
RO OV
RW ACZ
RO TB
RW
RW OVM
RO ARP2~ARP0
RW IOPR4~3 DPR3~DPR0
WO
testable
overflow flag for the last acch operation ARZ registering the last operated AR=0
Test bit, the tested memory bit is moved to TB register (BIT instructions) a conditional test is normally followed but not necessary
current active AR register Pointer.. There are 8 16-bit AR registers in DSPC.
IOPR define 4 Pages, 8 address in each page,of IO space.
10
INDEX
MX96037
AR (AUXILIARY REGISTER) AND ARAU (AUXILIARY ALU)
AUXILIARY REGISTERS
ar0 ar1 ar2 ar3 ar4 ar5 ar6 ar7
16-bit register
ARAU AUXILIARY ALU
* 16x8 AR registers provide powerful indirect memory access. * Modulo addressing (modulo memory indexing) provides easy implementation of ring buffer or delay line. See modulo register (MODR) for more details. * ARAU provides +/ - (0, 1, 2, AR0) post execution after each addressing of ARs. * ARAU works in parallel with main ALU. * ARs may be also used as scratch registers.
PC AND PROGRAM FLOW CONTROL
PC
Program Counter
Program flow is affected by: 1. 2. 3. 4. 5. 6. BS/BZ (branch-if-set/branch-if-zero) conditional branch. BACC - branch indirectly by ACCH. CALA - call indirectly by ACCH, return address is pushed. CALL - call subroutine, see 'Addressing Modes, Misc. Addressing mode' TRAP - Trapped to call fixed hex 000C address. Power-on reset and interrupt see 'interrupt Operations'
11
INDEX
MX96037
ADDRESSING MODES IMMEDIATE CONSTANT Immediate constant is coded directly in opcode. DIRECT MEMORY ADDRESSING DPR and IOPR are used to completely specify addressing spaces. 4 bits in DPR combined with 7-bits coded in opcode, make direct memory address. (direct memory addressing ONLY FOR INTERNAL 2K WORDS RAM)
INDIRECT ADDRESSING The memory address may be pointed by ARs. ARs also has post-addressing execution which provides powerful increment(s)/decrement(s) and modulo indexing. It takes only 7 bits to code all these into one opcode to enable program size compact. See AR, ARAU and MODR for more details.
MISCELLANEOUS ADDRESSING MODE CALL--Call subroutine at the second word of call instruction. CALA--ACCH indirect call, ACCH=called address BACC-- ACCH indirect branch, ACCH=branch address TRAP-- Always call to hex 000C address
MACRO OPERATIONS * LUP - repeat instruction-block (max 8 instructions) - repeat count = RCR +1 - Each time PC hits loop boundary (starting address +LC), loop count is increased by 1 * MPA - Vectored inner product, see 'P, X, Y Register and Multiplier Operations.
12
INDEX
MX96037
INTERRUPT : OPERATIONS The Interrupt source, vectoring address and priority are as follows:
NAME RST\ NMI\ SS VECTORED ADDRESS DESCRIPTIONS 0000 0002 0004 Power-on reset (top priority) NMI\non.maskable interrupt, edge-triggered (high to low) Single-Step, Single step interrupt is for debugging purpose. If set, MX96037 will be interrupted after every instruction cycle (instructions inside LOOP and inherent repeat instruction cycles is considered as one instruction cycle). User can put debugging service INT1\ 0006 as the interrupt service routine. INT1\ pin interrupt, edge trigged Triggered when Codec registers get/send 16 bit data (see Timing diagram) Triggered every 1 msec Triggered when executes TRAP
CODEC 0008 STMR TRAP 000A 000C
Interrupt Process: (Execute by hardware) 1. 2. 3. 4. 5. Release related ISR pending flag Push SSR on to stack Push return-address on to stack Disable global interrupt (same to excuting DINT instruction) If it is in software hold state ( see WSTR register and power management), reset SWHOLD 0, and come out of software hold state.
Issues of RETI instruction: (Execute by hardware) 1. POP return address to PC 2. POP SSR Note that ACC normally need to be saved. All other registers should also be carefully maintained when doing an in-and-out interrupt.
13
INDEX
MX96037
P, X, Y REGISTER AND MULTIPLIER OPERATIONS
Y Register
(not accessable by user)
X Register
Product Register
Multiplier operand is fed from X and Y registers (see Architecture). X is visible by instruction, Y is supplied from various source (such as constant, memory, acch). The result of multiplication is put in p register. Accumulation is done through pipelining. Note that the result of multiplication is always shift-left one bit before being put in register(do not use ox 8000 multiply which will cause overflow).
BASIC MULTIPLY MX/MXP MXK/MXL (x)*(dma) p (x)*constant p
ACCUMULATE PREVIOUS PRODUCT AND MULTIPLY MXA/MXAP (accx) + (p) accx, (x) * (dma) p
SUBTRACT PREVIOUS PRODUCT AND MULTIPLY MXS/MXSP (accx) - (p) accx, (x) * (dma) p
MULTIPLY BANKED COMPLEX NUMBER (a+bj)*(c+dj) MB MB MB MB RR, * RI, * IR, * II, * a*c p a*d p b*c p b*d p
ar ar pointing a a must be in bank0 even address (b in odd) BANK0 BANK1
RR a b II
IR RI
c d
c at the same address offset in bank one
Note : When working with repeat counter (rcr), loop instruction and ARAU operation, array of complex number may be calculated efficiently.
14
INDEX
MX96037
MULTIPLY BANK AND ACCUMULATE MBA MBA MBA MBA RR, * RI, * IR, * II, * (acch) (acch) (acch) (acch) + + + + (p) (p) (p) (p) acch, acch, acch, acch, a*c p a*d p b*c p b*d p
MULTIPLY BANK AND SUBTRACT MBS MBS MBS MBS RR, * RI, * IR, * II, * (acch) (acch) (acch) (acch) (p) (p) (p) (p) acch, acch, acch, acch, a*c p a*d p b*c p b*d p
VECTORS INNER PRODUCT X = [a b c] X*Y=a*d+b*e+c*f Y = [d e f]
BANK0 BANK1
ar ar pointing a a must be in bank0, any address
a rc b c pc d e f d can start from any address in bank 1
repeat count should be loaded before this operation
offset index must be prepared in acch, and it will be loaded to pc during operation
MPA *, NAR [(accx) +(p) p, (ar)*(pc) p, (pc) +1 pc] repeat rc+1 times.
15
INDEX
MX96037
IO REGISTERS OPTR : Output Register (mapped to IO register 00)
F E D C B A 9 8 7 6 5 4 3 2 1 0
OPTR15
OPTR0
RW
Output Register (OPTR:15 ~ OPTR:0) 16 bit, connect to OPT15~OPT0 pins. positive Logic, '1' will output 5 Volt on output pin. ('0' for 0 V) All these bits can memory output value (read by 'IN' instruction) to eliminate shadow memory requirement.
IPT : Input Port Register (mapped IO address 01)
F
E
D
C
B
A
9
8
7 IPT7
6 IPT6
5 IPT5
4
3 IPT3
2
1
0 IPT0
IPT4
IPT2
IPT1
RO
Input Port Positive Logic, 5 Volt input will read '1' (0V for '0') IPT:7~IPT:0 connect IPT7~IPT0 pins. IPT3~IPT0 are internally pull high
BIOR/CMDR : BI-DIRECTION IO REGISTER IN NON-UP MODE OR COMMAND REGISTER IN UP MODE (mapped to IO register 02)
F E D C B A 9 8 7 6 5 4 3 2 1 0
BIOR15
BIOR14
BIOR13
BIOR12
BIOR11
BIOR10
BIOR9
BIOR8
BIOR7
BIOR6
BIOR5
BIOR4
BIOR3
BIOR2
BIOR1
BIOR0
RW
as UPMODX=1, used for bidirectional io register. Programable bidirectional IO. BIOR15~BIOR8 control I/O direction of BIOR7~BIOR0, respectively (bit 8 control bit 0) BIOR7~BIOR0 connect to BIO7~BIO0 pins, respectively. UPMODX=0, used for 16-bit parallel interface command register.
16
INDEX
MX96037
SVR : Shift Variable Register (mapped to IO register 03) SVR includes Shift-Count Register (SCR)
F E D C B A 9 8 7 6 5 4 3 0 2 0 1 0 0 0
SCR3~SCR0
RW
When SFL/SFR instruction gives 0 as shift count, DSP uses the SCR default count as shifting count. This mechanism provides run-time assigned shifting value.
IMR : Interrupt Mask Register (mapped to IO register 04)
F E D C B A 9 8 7 6 5 4 3 1 SSM 2 1 STMRM 1 1
CODCM
0 1 INT1M
RW
ISR : Interrupt Status Register (mapped to IO register 05)
F E D C B A 9 8 7 6 5 4 3 2 1 1 1 0 1
INT1S
STMRS CODCS
RO
INT1M STMRM CODCM SSM
Note 1:
-
INT1 \ Interrupt Mask 1 System tick Timer interrupt Mask Codec Interrupt Mask Single Step Interrupt Mask
Note 2: Note 3:
Codec Tx/Rx use this same mask. This is because the 2 events are synchronized and always happen at the same time. Programmers should take care of these 2 events (if necessary) in this interrupt. ISR:2~0 will reflect interrupt pending status on IMR:2~0. Note that Single-Step (CTLR:SS, register 07) is directly controlled by the program; no status exists. Read ISR will read and clear all pending flags.
17
INDEX
MX96037
CTLR : CONTROL REGISTER (MAPPED TO IO REGISTER 07)
0: up mode. 1: DSP will hold after the current fetched 1: non_up mode. instruction has been excuted. 0: DSP runs until external bus is accessed. 1: 32768 HZ clock is generated from Hi-crystal instead of from low crystal 0: 32768 HZ clock is from low crystal 6 0 5 0
LSRUNS
1: DSP runs at 32768 HZ until reset to 0 0: normal operation.
1: It works as external hardware HOLD\ pin except issued by instructions and cleared by interrupt. 0: normal operation.
F
E 0
OPT18
D 0
OPT17
C 0
OPT16
B 0
PWDN
A 0
9 0
8 0
FAST0
7 0
4 0
SS
3 0
HSSRC
2 0
1 0
0 0
SWHOLD FAST1
HMOD CMDRDY
SNSEL UPMODX C6KSEL
RW
It's a status bit. 0: DSP is running at high speed mode. 1: DSP clock is 32768 HZ
0: normal operation. 1: single step mode. A interrupt will occur at end of each instruction.
1: select 6 KHZ codec frame sync. 0: select 8 KHZ codec frame sync.
In non-p mode, The statuses of OPT18, OPT17, OPT16 will be reflected to PHILO\, PHRDB\, PHWR\ respectively. 1: output 5v to PHILO\, PHRDB\ and PHWRB\ pins in up mode. 0: output 0v to PHILO\, PHRDB\ and PHWRB\ pins in up mode.
00: select 23.040 MHZ external clock 01: select 27.648 MHZ external clock 10: select 32.256 MHZ external clock 11: select 32.256 MHZ external clock CMDRDY is cleared by CMDR read. 1: External up writes a command to DSP. 0: no write operation.
0: no sign extension 1: MSBs sign extented in ADL, ADLL, SBL and SBLL instructions.
WAIT STATE: ROM/RAM Timing Requirement = (3+2W)C- 20ns W=0/1/2/3 (wait state number on IO/RAMWAIT/ROMWAIT field) C=21.7/18.08/15.5ns (internal clock timing for external crystal 23.040/27.648/32.256 MHz)
WAIT-STATE NUMBER ROM/RAM C=15.5 C=18.08 C=21.7 0 1 2 3
26.5 34.2 45.1 -
57.5 70.8 88.5 -
88.5 107.4 133.6 -
119.5 144.0 179 70-120ns
DRAM
NOTE: The MX96037 may have 23.040/27.648/32.256 MHz crystal options. This clock is doubled internally. Instructions will use 3 clocks as an instruction cycle (SAH/SAHP, SAL/SALP, SSS/SSP extend 1 internal clock).
18
INDEX
MX96037
WSTR: WAIT STATE, SINGLE-STEP AND DRAM SIZE (MAPPED TO IO REGISTER 08)
F E D C B A 9 8 7 0 MMSIZE 6 1 5 1 4 1 SRAMWAIT 3 1 MMWAIT 2 1 1 1 0 1 ROMWAIT
RW
Mass Memory Size (ARAM) Select the external DRAM bit-size 0 0 -- 1 bit 0 1 -- 4 bits 1 0 -- 8 bits 1 1 -- 16 bits
19
INDEX
MX96037
DRAM CONTROLLER : MMACR, MMAPH AND MMAPL MMACR : Mass Memory Access Control register (mapped to IO register 9)
F 0 E 0 D 0 C 0 B 0 A 0 9 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 0
MMCNT (Mass Memory move Count, 6 bits)
IRA (Internal RAM Address, bank one, 10 bits)
RW
write (OUT) a non-zero count to MMCNT will start DRAM move and hold DSP until MMCNT=0 movement of DRAM address count for a 1M-by-4 DRAM, 60 DRAM address will move and make-up 15 16-bit words.
specified address 1024 in bank 1, physically is addressed. (only bank 1 space may interface with DRAM)
MMAPL : Mass Memory Access Pointer Low register (mapped to IO regsiter 10)
F E D C B A 9 8 7 6 5 4 3 2 1 0
x
x
x
x
x
x
x
x
x
x
x
x
RW
MMAPH : Mass Memory Access Pointer High register (mapped to IO register 11)
F E D C B A 9 8 7 6 5 4 3 2 1 0
o
TOIRAM
x
x
x
x
x
x
x
x
x
x
x
x
RW
TOIRAM=1, DRAM Internal RAM TOIRAM=0, Internal RAM DRAM MMAPH+MMAPL make-up 30 bits, 1G addressing space. This space may have max 1G words DRAM capacity.
20
INDEX
MX96037
RCR : Repeat Counter Register (mapped to IO register 12)
F E D C B A 9 8 7 6 5 4 3 2 1 0
o
o
o
o
o
o
o
RO
* RCR provides repeat count on TBR, LUP, and MPA types macro instructions. * RCR must be prepared before macro instructions are being executed. (RPT instruction) * Repeat time is RCR+1 MODR : MODULAR REGISTER (MAPPED TO IO REGISTER 13)
F E D C B A 9 8 7 6 5 4 3 2 1 0
x
x
x
x
x
x
x
x
x
o
o
o
o
o
o
o
RO
As MODR=M 0, 1, 2, .., M-1, M modulo mechanism will be enforced (note: bounded by M --- not M-1) Modular addressing is always performed at the output of ARAU. As MODR=0, modulo addressing is disabled. MOD type instructions are used to load MODR; use IN instruction to read MODR.
XR : X REGISTER (MAPPED TO IO REGISTER 14)
F
E
D
C
B
A
9
8
7
6
5
4
3
2
1
0
RO
* One of multiplier inputs * Can be accessed by IN/LX/LXM/LXS/LXA/LXAK etc... instructions.
SPR : Stack Pointer Register (mapped to IO register 15)
F E D C B A 9 8 7 6 5 4 3 2 1 0
o
o
o
o
RO
* * * *
16-level stack provides nestable interrupt and controller level nested call capabilities. SPR is pointing to 'next-available' word, and initialized to 0. As SPR is over address 15, it wraps around to 0. As SPR=0, POP will also wrap SPR to 15. SPR can only be read by IN instructions; no write capability.
21
INDEX
MX96037
CDRR : Codec Data Receive Register (Mapped to IO register 16)
F E D C B A 9 8 7 6 5 4 3 2 1 0
RO
CDXR : Codec Data Transmit Register (Mapped to IO register 17)
F E D C B A 9 8 7 6 5 4 3 2 1 0
WO
1. Two Codec events from the above registers are always synchronized, so there is only one Codec interrupt for them. 2. These codecs are in 16-bit mechanism; however, 8-bit Codec is also applicable. In 8-bit case, to tx, the data byte to be transmitted must be in bit15~bit8. The received data byte is at bit15~bit8 as read from receive register. 3. MSB (Most-Significant-Bit) is shifted first. 4. Codec registers has shadow registers as buffer.
PREGL : Product Register Low Word (Mapped to IO register 18)
F E D C B A 9 8 7 6 5 4 3 2 1 0
WO
PREGH : Product Register High Word (Mapped to IO register 19)
F E D C B A 9 8 7 6 5 4 3 2 1 0
WO
TSTR: Test Register Mapped to Register (mapped to register 20)
F E D C B A 9 8 7 6 5 4 3 2 1 0
0
0
0
0
0
0
0
0
0
RO
Internal use, always put 0; invalid value may cause unexpected result !!!. Internal use always put 0
22
INDEX
MX96037
INSTRUCTION SET SUMMARY ABBREVIATIONS a ar acc c d dp i k I L mr mb0 mb1 o p pa pc R rc s sp ss sv x xr y : : : : : : : : : : : : : : : : : : : : : : : : : : AR pointer AR accumulator short constant data memory address data page pointer Addressing mode select bit odd/even address select loop counter constant for shift left modulo register internal memory bank 0 internal memory bank 1 io page pointer product register port address program counter constant for shift right repeat counter shift right sign extention select bit stack pointer status register shift register don't care x register AR arithmetic operation select
Mnemonic and Description abs ; adh ; adhk ; adhl ; adl ; adlk ; adll ; and ; andk ; andl ; apac ; bacc ; bit ; absolute value of accumulator add to high acc add to high acc. short immediate add to high acc. immediate add to low acc add to low acc. short immediate add to low acc. immediate and with high acc and short immediate with high acc and immediate with high acc add p reggister to acc branch to address specified by acc test bit
Words & cycles 1,1 1.1 1,1 2,2 1,1 1,1 2,2 1,1 1,1 2,2 1,1 1,2 1,1
16-bit MSB 1001 0000 0000 1000 0000 0000 1000 0000 0000 1000 1001 1111 0110
opcode 1000 0000 0001 0000 0010 0011 0001 1010 1011 0101 0010 1010 bbbb 0xxx iddd 0ccc 0xxx iddd 0xxx 0xxx iddd 0ccc 0xxx 0xxx 0xxx iddd LSB xxxx dddd cccc xxxx dddd xxxx xxxx dddd cccc xxxx xxxx xxxx dddd
23
INDEX
MX96037
Mnemonic and Description bs bz cala call dint eint in lac lack lacl lar lark larl ldp ldpk lip lipk lup lupk lx lxk lxl lxa lxak lxal lxm ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; Words & cycles 16-bit opcode MSB LSB 1101 1bbb 0xxx xxxx 1101 0bbb 0xxx xxxx 1,2 1100 0000 0xxx xxxx 1111 1100 0000 0000 1111 0000 0xxx xxxx 1111 0001 0xxx xxxx 1010 ppp0 iddd dddd 0000 1110 iddd dddd 0000 1111 0ccc cccc 1000 0111 0xxx xxxx 0111 aaa0 iddd dddd 0111 aaa1 0ccc cccc 1000 1000 0aaa 0000 0001 0100 iddd dddd 0001 0101 0xxx cccc 0001 0001 0101 0101 0010 0010 1000 0011 0011 1000 0011 0011 1000 0011 0011 1000 0011 0011 1111 0010 iddd dddd 0011 0xxo oxxx 0100 iddd dddd 0101 0ccc cccc 0000 0001 1010 1100 iddd 0ccc 0xxx iddd dddd cccc xxxx dddd
lxmk ; lxml lxs lxsk lxsl mba mbs mar ; ; ; ; ; ; ;
branch immediate if bit set 2,3 branch immediate if bit reset 2,3 call subroutine indirect specified by acc call subroutine 2,3 disable interrupt 1,1 enable interrupt 1,1 input data from port 1,1 load acc 1,1 load acc. short immediate 1,1 load acc. immediate 2,2 load auxiliary register 1,1 load auxiliary register short immediate 1,1 load auxiliary register immediate 2,2 load data page register 1,1 load short immediate to data page 1,1 register load io page register 1,1 load io page register with short 1,1 immediate loop instruction 1,1 load rc with 7-bit constant and enable 1,1 loop operation load x register 1,1 load short immediate to x register 1,1 load immediate to x register 2,2 load x register and accumulate 1,1 previous product load short immediate to x registeri 1,1 and accumulate previous product load immediate to x register and 2,2 accumulate previous product load x register and store 1,1 p register to acc load short immediate to x register 1,1 and store p register to acc load immediate to x register and 2,2 store p register to acc load x register and subtract 1,1 previous product load short immediate to x register 1,1 and subtract previous product load immediate to x register and 2,2 subtract previous product multiply and accumulate previous 1,1 product multiply and subtract previous 1,1 product modify auxiliary register 1,1
1101 0ccc cccc 1011 0xxx xxxx 1110 iddd dddd 1111 0ccc cccc 1100 0xxx xxxx 0100 iddd dddd 0101 0ccc cccc 1101 0xxx xxxx 1000 00kk 0yyy 0000 00kk 0yyy 0110 iddd dddd
24
INDEX
MX96037
Mnemonic and Description mod modk mpa mpc mx mxk mxl mxa ; ; ; ; ; ; ; ; Words & cycles 16-bit opcode MSB LSB 0001 0110 iddd dddd 0001 0111 0ccc cccc 1100 1110 iddd dddd 0010 0100 00kk 0yyy 0010 0010 iddd dddd 0010 0011 0ccc cccc 1000 1110 0xxx xxxx 0011 1010 iddd dddd 0011 0011 0011 1111 0000 0000 1000 0100 0100 1000 1001 1001 1001 1011 1100 1100 1100 1111 1111 1111 1111 0001 0001 1011 1011 1001 1001 1111 1001 1111 1011 1011 1011 0000 0000 1000 1011 0ccc cccc 0010 iddd dddd 0011 0ccc cccc 1111 1000 1001 0100 ppp0 ppp1 1111 0100 1010 1011 0101 1000 1001 1010 0100 0010 1000 1001 0000 0001 0001 1aaa 1100 1110 0101 0110 1011 0010 0011 0100 0100 0101 0010 1111 iddd 0ccc 0xxx iddd 0ccc 0ppp iddd iddd iddd iddd iddd iddd iddd 0xxx 0xxx 0xxx 0xxx iddd 0ccc iddd iddd 0000 000s 0xxx 0xxx iddd iddd iddd iddd iddd 0ccc 0xxx 1111 dddd cccc xxxx dddd cccc 0000 dddd dddd dddd dddd dddd dddd dddd xxxx xxxx xxxx xxxx dddd cccc dddd dddd LLLL RRRR xxxx xxxx dddd dddd dddd dddd dddd cccc xxxx
mxak ; mxs ;
mxsk ; nop or ork orl out outk outl pac poph popl pop pshh pshl psh rovm rxf ret reti rpt rptk sal sar sfl sfr sovm spac sqra sip sss sdp sbh sbhk sbhl ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;
load modulo register 1,1 load modulo register short immediate 1,1 array multiplication 1,3+rc ram_bank_0 multiply ram_bank_1 1,1 (x) multiply (dma) 1,1 (x) multiply (7-bit constant) 1,1 (x) multiply (16-bit constant) 2,2 (x) multiply (dma) and accumulate 1,1 previous product (x) multiply (7-bit constant) and 1,1 accumulate previous product (x) multiply (dma) and subtract 1,1 previous product (x) multiply (7-bit constant) and 1,1 subtract previous product no operation 1,1 or with high acc 1,1 or short immediate with high acc 1,1 or immediate with high acc 2,2 output data to port 1,1 output short immediate to port 1,1 output immediate to port 2,2 load acc. with p register 1,1 pop top of stack to high accumulator 1,1 pop top of stack to low accumulator 1,1 pop top of stack to data memory 1,1 push high accumulator onto stack 1,1 push low accumulator onto stack 1,1 push data memory value onto stack 1,1 reset overflow mode 1,1 reset external flag 1,1 return from subroutine 1,2 return from interrupt 1,2 load repeat counter 1,1 load rc with 7-bit constant 1,1 store low acc 1,1 store auxiliary register 1,1 shift acc left 1,1 shift acc right 1,1 set overflow mode 1,1 subtract p register from acc 1,1 square and accumulate previous 1,3+rc product store iopage register 1,1 store ss register 1,1 store datapage register 1,1 subtract from high acc 1,1 subtract short immediate from high acc1,1 subtract immediate from high acc 2,2
25
INDEX
MX96037
Mnemonic and Description sbl sblk sbll sxf tbr trap xor xork xorl ; ; ; ; ; ; ; ; ; Words & cycles 16-bit opcode MSB LSB 0000 0110 iddd dddd 0000 0111 0ccc cccc 1000 0011 0xxx xxxx 1111 0011 iddd dddd 1100 1100 iddd dddd 1100 0010 0xxx xxxx 0000 1100 iddd dddd 0000 1101 0ccc cccc 1000 0110 0xxx xxxx
subtract from low acc 2, 2 subtract short immediate from low acc 1,1 subtract immediate from low acc 1,1 set external flag 1,1 table read 1,3+rc software interrupt 1,2 xor with high acc 1,1 xor short immediate with high acc 1,1 xor immediate with high acc 2,2
26
INDEX
MX96037
abs absolute value of accumulator. Bit: 15 14 13 12 11 10 9 1 SYNTAX: EXECUTION: ABS (pc) + 1 pc |acc(31:16)| (acc (31:16)) 1 1 0 0 1 1 0 0 8 0 7 0 6 5 4 3 2 1 0
WORDS: CYCLES:
adh
add to high acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 0 0 0 8 0 8 0 7 0 7 1 6 5 4 3 2 1 0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 0 0 0
see note 1
SYNTAX:
adh adh
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc(31:16))+(dma) (acc (31:16)) 1 1(DI) 2(DE)
WORDS: CYCLES:
Adhk
add to high acc. Short immediate. BIT: 15 14 13 12 11 10 9 0 0 0 0 0 0 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX: EXECUTION:
adhk
cnst 7
(pc) + 1 pc (acc(31:16)) + (7-bit constant) (acc (31:16)) 1 1
WORDS: CYCLES:
27
INDEX
MX96037
adhl
add to high acc. Immediate. BIT: 15 14 13 12 11 10 9 1 0 0 0 0 0 0 8 0 7 0 6 5 4 3 2 1 0
16-bit constant
SYNTAX: EXECUTION:
adhl
cnst16
(pc) + 2 pc (acc(31:16))+(16-bit constant) (acc (31:16)) 2 2
WORDS: CYCLES:
adl
add to low acc. Direct: 15 14 13 12 11 10 9 0 Indirect: 0 0 0 0 0 1 8 0 8 0 7 0 7 1 6 6 5 4 32 1 0
data memory address 5 4 32 1 0
15 14 13 12 11 10 9 0 0 0 0 0 0 1
see note 1
SYNTAX:
adl adl
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc)+(dma with optional MSBs sign extension) (acc) 1 1(DI) 2(DE) Option is controlled by CTRL: SNSEL bit
WORDS: CYCLES: NOTE:
28
INDEX
MX96037
adlk
add to low acc. Short immediate. BIT: 15 14 13 12 0 0 0 0 11 10 9 0 0 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX: EXECUTION:
adlk
cnst7
(pc) + 1 pc (acc)+(7-bit constant) (acc) 1 1
WORDS: CYCLES:
adll
add to low acc. Immediate. BIT: 15 14 13 12 11 10 9 1 0 0 0 0 0 0 8 1 7 0 6 5 4 3 21 0
16-bit constant SYNTAX: EXECUTION: adll cnst16 (pc) + 2 pc (acc)+(16-bit constant with optional MSBs sign extension*) (acc) 2 2
WORDS: CYCLES:
Note:option is controlled by CTRL :SENSE bit
29
INDEX
MX96037
and
and with high acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 1 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 1 0 1
see note 1
SYNTAX:
and and
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc(31:16)) .and. (dma) (acc(31:16)) 1 1(DI) 2(DE)
WORDS: CYCLES:
andk
and short immediate with high acc. BIT: 15 14 13 12 11 10 9 0 0 0 0 1 0 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX: EXECUTION:
andk
cnst7
(pc) + 1 pc (acc(23:16) .and. (7-bit constant) (acc(23:16)) 0 acc(31:24) 1 1
WORDS: CYCLES:
30
INDEX
MX96037
andl and immediate with high acc. BIT: 15 14 13 12 11 10 9 1 0 0 0 0 1 0 8 1 7 0 6 5 4 3 2 1 0
16-bit constnat SYNTAX: EXECUTION: andl cnst16
(pc) + 2 pc (acc(31:16)) .and. (16-bit constant) (acc(31:16))
WORDS: CYCLES: apac
2 2 add p register to acc. BIT: 15 14 13 1 0 0 12 11 10 9 1 0 0 1 8 0 7 0 6 5 4 3 2 1 0
SYNTAX: EXECUTION:
apac (pc) + 1 pc (acc)+(p) (acc) 1 1 branch to address specified by acc. BIT: 15 14 13 12 11 10 9 1 1 1 1 1 0 1 8 0 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: bacc
SYNTAX: EXECUTION: WORDS: CYCLES:
bacc (acc (31:16)) pc 1 2
31
INDEX
MX96037
bit
test bit. direct: 15 14 13 12 11 10 9 0 indirect 1 1 0 bbbb 8 8 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 1 1 0 bbbb
see note 1
SYNTAX:
bit bit
dma7, bbbb *,bbbb((,nar)
EXECUTION:
(pc) + 1 pc (dma) ss(tb) 1 1(DI) 2(DE)
WORDS: CYCLES:
bs
branch immediate if bit set. BIT: 15 14 13 12 11 10 9 1 1 0 1 1 bbb 8 7 0 6 5 4 3 2 1 0
program memory address SYNTAX: EXECUTION: bbb, pma16 if ss(#1bbb)=1 then (pma) pc else (pc)+2 pc 2 3
WORDS: CYCLES:
32
INDEX
MX96037
bz
branch immediate if bit reset. BIT: 15 14 13 12 11 10 9 1 1 0 1 0 bbb 8 7 0 6 5 4 3 2 1 0
program memory address
SYNTAX:
bz
bbb, pma16
EXECUTION:
if ss(#1bbb)=0 then (pma) pc else (pc)+2 pc 2 3
WORDS: CYCLES:
cala
call subroutine indirect. BIT: 15 14 13 12 11 10 9 1 1 0 0 0 0 0 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
cala (pc)+1 (sp) (acc(31:16)) pc 1 2
EXECUTION:
WORDS: CYCLES:
33
INDEX
MX96037
call
subroutine . BIT: 15 14 13 12 11 10 9 1 1 1 1 1 1 0 8 0 7 0 6 0 5 0 4 0 3 0 2 0 1 0 0 0
16-bit constant
SYNTAX:
call
pma16
EXECUTION:
(pc)+1 (sp) (16-bit constant) pc 2 3 disable interrupt. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 0 0 8 0 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: dint
SYNTAX: EXECUTION:
dint (pc) + 1 pc 1 (INTM) status bit 1 1
WORDS: CYCLES:
34
INDEX
MX96037
eint
enable interrupt. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 0 0 8 1 7 0 6 5 4 3 2 1 0
SYNTAX: EXECUTION:
eint (pc) + 1 pc 0 (INTM) status bit 1 1
WORDS: CYCLES:
in
input data from port. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 0
port address
8 0 8 0
7 0 7 1
6
5
4
3
2
1
0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 0
port address
see note 1
SYNTAX:
in in
dma7,port *,port(,nar)
EXECUTION:
(pc) + 1 pc port address a2-a0 (IOPR(4:3)) a4-a3 0 a15-a6 (IOR) dma 1 1; note:only for internal memory
WORDS: CYCLES:
35
INDEX
MX96037
lac load acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 1 1 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 1 1 1
see note 1
SYNTAX:
lac lac
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) acc(31:16) 0 acc(15:0) 1 1(DI) 2(DE) load acc. short immediate. Bit: 15 14 13 12 11 10 9 0 0 0 0 1 1 1 8 1 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: lack
7-bit sonstant
SYNTAX: EXECUTION:
lack
cnst7
(pc) + 1 pc (7-bit constant) acc(23:16) 0 acc(31:24) 0 acc(15:0) 1 1 load acc. Immediate Bit: 15 14 13 12 11 10 9 1 0 0 0 0 1 1 8 1 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: lacl
16-bit constant
SYNTAX: EXECUTION:
lacl
cnst16
(pc) + 2 pc (16-bit constant) acc(31:16) 0 acc(15:0) 2 2
WORDS: CYCLES:
36
INDEX
MX96037
lar
load auxiliary register. direct: 15 14 13 12 11 10 9 0 indirect: 1 1 1 arp
8 0 8 0
7 0 7 1
6
5
4
3
2
1
0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 1 1 1 arp
see note 1
SYNTAX:
lar lar
dma7, arp *,arp(,nar)
EXECUTION:
(pc) + 1 pc (dma) (ar) 1 1(DI) 2(DE) ; no manipulation on ars
WORDS: CYCLES:
lark
load auxiliary register short immediate. Bit: 15 14 13 12 11 10 9 0 1 1 1 arp 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX: EXECUTION:
lark
cnst7, arp
(pc) + 1 pc (7-bit constant) (ar(6:0)) 0 ar(15:7) 1 1
WORDS: CYCLES:
37
INDEX
MX96037
larl load auxiliary register immediate. Bit: 15 14 13 12 11 10 9 8 1 0 0 0 1 0 0 0 8 7 0 7 6 6 5 arp 5 4 4 3 0 3 2 0 2 1 0 1 0 0 0
15 14 13 12 11 10 9
16-bit constant SYNTAX: EXECUTION: larl cnst16, arp
(pc) + 2 pc (16-bit constant) ar (15:0) 2 2
WORDS: CYCLES:
ldp
load data-page register. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 1 0 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 1 0 1 0
see note 1
SYNTAX:
ldp ldp
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma(3:0)) (dp(3:0)) 1 1(DI) 2(DE) load short immediate to datapage register. Bit: 15 14 13 12 11 10 9 0 0 0 1 0 1 0 8 1 7 0 6 x 5 x 4 x 3 2 1 0
WORDS: CYCLES: ldpk
4-bit constant
SYNTAX: EXECUTION:
ldpk
cnst4
(pc) + 1 pc (4-bit constant) (dp(3:0)) 1 1
WORDS: CYCLES:
38
INDEX
MX96037
lip
load io page register direct: 15 14 13 12 11 10 9 0 indirect: 0 0 1 0 0 1
8 0 8 0
7 0 7 1
6
5
4
3
2
1
0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 1 0 0 1
see note 1
SYNTAX:
lip lip
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) (iop(1:0)) 1 1(DI) 2(DE)
WORDS: CYCLES:
lipk
load iopage register with short immediate. Bit: 15 14 13 12 11 10 9 0 0 0 1 0 0 1 8 1 7 0 6 x 5 x 4 3 2 1 x 0 x
s1 s0 x
SYNTAX: EXECUTION:
lipk
cnst2
(pc) + 1 pc s1 iop(1), s0 iop(0) 1 1
WORDS: CYCLES:
39
INDEX
MX96037
lup
loop instruction. direct: 15 14 13 12 11 10 9 0 indirect: 1 0 1
loop number
8 0 8 0
7 0 7 1
6
5
4
3
2
1
0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 1 0 1
loop number
see note 1
SYNTAX:
lup lup
dma, lic *,lic(,nar)
EXECUTION:
(pc) + 1 pc (dma) (rc) (loop number) (loop counter) 1 1(DI) 2(DE); the next (loop number+1) words will be repeat (rc+1) times
WORDS: CYCLES:
lupk
load rc with 7-bit constant and enable loop operation. Bit: 15 14 13 12 11 10 9 0 1 0 1
loop number
8 1
7 0
6
5
4
3
2
1
0
7-bit constant
SYNTAX: EXECUTION:
lupk
cnst7, lic
(pc) + 1 pc (7-bit constant) (rc) (loop number) (loop counter) 1 1
WORDS: CYCLES:
40
INDEX
MX96037
lx
load x register. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 0 0 0 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 0 0 0 0
see note 1
SYNTAX:
lx lx
dma7 *(,nar)
EXECUTION:
(pc) +1 pc (dma) (xr) 1 1(DI) 2(DE)
WORDS: CYCLES:
lxk
load short immediate to x register. Bit: 15 14 13 12 11 10 9 0 0 1 0 0 0 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
lxk
cnst7
EXECUTION:
(pc) + 1 pc (7-bit constant) xr(6:0) 0 xr(15:0) 1 1
WORDS: CYCLES:
41
INDEX
MX96037
lxl
load immediate to x register. Bit: 15 14 13 12 11 10 9 1 0 0 0 1 0 1 8 0 7 0 6 5 4 3 2 1 0
16-bit constant SYNTAX: EXECUTION: lxl cnst16
(pc) + 2 pc (16-bit constant) (xr) 2 2
WORDS: CYCLES:
lxa
load x register and accumulate previous product. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 1 1 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 1 1 1 0
see note 1
SYNTAX:
lxa lxa
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) (xr) (acc)+(P) (acc) 1 1(DI) 2(DE)
WORDS: CYCLES:
42
INDEX
MX96037
lxak
load short immediate to x register and accumulate previous product. Bit: 15 14 13 12 11 10 9 0 0 1 1 1 1 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
lxak
cnst7
EXECUTION:
(pc) + 1 pc (7-bit constant) xr(6:0) 0 xr(15:8) (acc)+(p) acc 1 1
WORDS: CYCLES:
lxal
load immediate to x register and accumulate previous product. Bit: 15 14 13 12 11 10 9 1 0 0 0 1 0 1 8 1 7 0 6 5 4 3 2 1 0
16-bit constant SYNTAX: lxal cnst16
EXECUTION:
(pc) + 2 pc (16-bit constant) (xr) (acc)+(p) acc 2 2
WORDS: CYCLES:
43
INDEX
MX96037
lxs
load x register and subtract previous product. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 1 0 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 1 0 1 0
see note 1
SYNTAX:
lxs lxs
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) xr (acc)-(p) (acc) 1 1(DI) 2(DE) load short immediate to x register and subtract previous product. Bit: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 1 1 0 1 0 1 0 7-bit constant
WORDS: CYCLES: lxsk
0
SYNTAX:
lxsk
cnst7
EXECUTION:
(pc) + 1 pc (7-bit constant) xr(6:0) 0 xr(15:8) (acc)- (p) acc 1 1
WORDS: CYCLES:
44
INDEX
MX96037
lxsl
load immediate to x register and subtract previous product. Bit: 15 14 13 12 11 10 9 1 0 0 0 1 1 0 8 1 7 0 6 5 4 3 2 1 0
16-bit constant SYNTAX: lxsl cnst16
EXECUTION:
(pc) + 2 pc (16-bit constant) (xr) (acc)- (p) acc 2 2
WORDS: CYCLES:
lxm
load x register and store p register to acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 1 1 1 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 1 1 1 1
see note 1
SYNTAX:
lxm lxm
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) (xr) (p) (acc) 1 1(DI) 2(DE)
WORDS: CYCLES:
45
INDEX
MX96037
lxmk load short immediate to x register and store p register to acc. Bit: 15 14 13 12 11 10 9 0 SYNTAX: EXECUTION: lxmk 0 1 1 1 1 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
cnst7
(pc) + 1 pc (7-bit constant) xr(6:0) 0 xr(15:8) (p) acc 1 1 load immediate to x register and store p register to acc. Bit: 15 14 13 12 11 10 9 1 0 0 0 1 1 0 8 0 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: lxml
16-bit constant SYNTAX: lxml cnst16
EXECUTION:
(pc) + 2 pc (16-bit constant) (xr) (p) acc 2 2 multiply and accumulate previous product. Bit: 15 14 13 12 11 10 9 0 0 1 1 1 0 0 8 0 7 0 6 0 5 r 4 i 3 0 2 1 0
WORDS: CYCLES: mba
note 2
SYNTAX:
mba
riB,*
EXECUTION:
(pc) + 1 pc (acc)+(p) acc (Mb0(addressed by arp(7:1)*(r)))*(mb1(addressed by arb(7:1)*(i)))p 1 1; note: r=0/1, i=0/1
46
WORDS: CYCLES:
INDEX
MX96037
mbs
multiply and subtract previous product. Bit: 15 14 13 12 11 10 9 0 0 1 1 0 0 0 8 0 7 0 6 0 5 r 4 i 3 0 2 1 0
note 2
SYNTAX:
mbs
ri,*
EXECUTION:
(pc) + 1 pc (acc)-(p) acc (mb0(addressed by arb(7:1). (r)))* (mb1(addressed by arb(7:1). (i))) (p) 1 1; note : r=0/1, i=0/1
WORDS: CYCLES:
mar
modify auxiliary register. indirect: 15 14 13 12 11 10 9 1 1 1 1 0 1 1 8 0 7 1 6 5 4 3 2 1 0
see note 1
SYNTAX:
MAR
*(,nar)
EXECUTION:
(pc) + 1 pc modifies arp, ar(arp) as specified by the indirect addressing field 1 1
WORDS: CYCLES:
47
INDEX
MX96037
mod
load modulo register. direct: 15 14 13 12 11 10 9 0 indirect 0 0 1 0 1 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 1 0 1 1
see note 1
SYNTAX:
mod mod
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma(6:0)) mr(6:0) 1 1(DI) 2(DE)
WORDS: CYCLES:
modk
load modulo register short immediate. Bit: 15 14 13 12 11 10 9 0 0 0 1 0 1 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
modk
cnst7
EXECUTION:
(pc) + 1 pc (7-bit constant) mr(6:0) 1 1
WORDS: CYCLES:
48
INDEX
MX96037
mpa
array multiplication. Bit: 15 14 13 12 11 10 9 1 1 0 0 1 1 1 8 0 7 1 6 5 4 3 2 1 0
see note 1
SYNTAX:
MPA
*(,nar)
EXECUTION:
(pc) + 1 sp (acc) (pc) 0 acc do begin (mb0(addressed by arb(7:0))) * (mb1(addressed by pc(7:0))) (p) (acc)+ (p) acc (rc) - 1 rc (pc) + 1 pc end ((rc) + 1) times (sp) pc 1 3+ (rc); enable repeat operation.
WORDS: CYCLES:
mb
ram_bank_0 multiply ram_bank_1. Bit: 15 14 13 12 11 10 9 0 0 1 0 0 1 0 8 0 7 0 6 0 5 r 4 i 3 0 2 1 0
note 2
SYNTAX:
mpc
ri,*
EXECUTION:
(pc) + 1 pc (mb0(addressed by arb(7:1) . (r))) * (mb1(addressed by arb(7:1) . (i))) (p) 1 1; note: r=0/1, i=0/1
WORDS: CYCLES:
49
INDEX
MX96037
mx
(x) multiply (dma) direct: 15 14 13 12 11 10 9 0 indirect: 0 1 0 0 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 0 0 0 1
see note 1
SYNTAX:
mx mx
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (x) * (dma) (p) 1 1(DI) 2(DE)
WORDS: CYCLES:
mxk
(x) multiply (7-bit constant). Bit: 15 14 13 12 11 10 9 0 0 1 0 0 0 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constnat
SYNTAX:
mxk
cnst7
EXECUTION:
(pc) + 1 pc (x)* (7-bit constant) (p) 1 1
WORDS: CYCLES:
50
INDEX
MX96037
mxl
(x) multiply (16-bit constant). Bit: 15 14 13 12 11 10 9 1 0 0 0 1 1 1 8 0 7 0 6 5 4 3 2 1 0
16-bit constant
SYNTAX:
mxl
cnst16
EXECUTION:
(pc) + 1 pc (x) * (16-bit constant) (p) 2 2
WORDS: CYCLES:
mxa
(x) multiply (dma) and accumulate previous product. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 1 1 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 1 1 0 1
see note 1
SYNTAX:
mxa mxa
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc) + (p) acc (x) * (dma) (p) 1 1(DI) 2(DE)
WORDS: CYCLES:
51
INDEX
MX96037
mxak
(x) multiply (7-bit constant) and accumulate previous product. Bit: 15 14 13 12 11 10 9 0 0 1 1 1 0 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX: EXECUTION:
mxak
cnst7
(pc) + 1 pc (acc) + (p) acc (x) * (7-bit constant) (p) 1 1
WORDS: CYCLES:
mxs
(x) multiply (dma) and subtract previous product. direct: 15 14 13 12 11 10 9 0 indirect: 0 1 1 0 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 1 1 0 0 1
see note 1
SYNTAX:
mxs mxs
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc) - (p) acc (x) * (dma) (p) 1 1(DI) 2(DE)
WORDS: CYCLES:
52
INDEX
MX96037
mxsk (x) multiply (7-bit constant) and subtract previous product. Bit: 15 14 13 12 11 10 9 0 0 1 1 0 0 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
mxsk
cnst7
EXECUTION:
(acc) - (p) acc (x) * (7-bit constant) (p) 1 1 no operation. Bit: 15 14 13 12 11 10 9 1 1 1 1 1 1 1 8 1 7 1 6 1 5 1 4 1 3 1 2 1 1 1 0 1
WORDS: CYCLES: nop
SYNTAX: EXECUTION: WORDS: CYCLES: or
nop (pc) + 1 pc 1 1 or with high acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 1 0 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 1 0 0
see note 1
SYNTAX:
or or
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc(31:16)).or. (dma) (acc(31:16)) 1 1(DI) 2(DE)
WORDS: CYCLES:
53
INDEX
MX96037
ork
or short immediate with high acc. Bit: 15 14 13 12 11 10 9 0 0 0 0 1 0 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
ork
cnst7
EXECUTION:
(pc) + 1 pc (acc(23:16) ).or. (7-bit constant) (acc(23:16) (acc(31:24)) acc(31:24) 1 1
WORDS: CYCLES:
orl
or immediate with high acc. Bit: 15 14 13 12 11 10 9 1 0 0 0 0 1 0 8 0 7 0 6 5 4 3 2 1 0
16-bit constant SYNTAX: EXECUTION: orl cnst16
(pc) + 2 pc (acc(31:16)) .or. (16-bit constant) (acc(31:16) 2 2
WORDS: CYCLES:
54
INDEX
MX96037
out
output data to port. direct: 15 14 13 12 11 10 9 0 indirect: 1 0 0 8 7 0 7 1 6 5 4 3 2 1 0
port address 0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 1 0 0
8
port address 0
see note 1
SYNTAX:
out out
dma7, port port *(,nar)
EXECUTION:
(pc) + 1 pc (pa) address bus a1-a0 (IOPR)(4:3) a4-a0 0 a15-a5 1 1;note: For internal memory only
WORDS: CYCLES:
outk
output short immediate to port. Bit: 15 14 13 12 11 10 9 0 1 0 0 8 7 0 6 5 4 3 2 1 0
port address 1
7-bit constant
SYNTAX:
outk
cnst7, port
EXECUTION:
(pc) + 1 pc (pa) address bus a2-a0 (IOPR)(4:3) a4-a3 0 a15-a5 (7-bit constant ) IOR (addressed by a4-a0) 1 1; note: For internal memory only
WORDS: CYCLES:
55
INDEX
MX96037
outl
output immediate to port. direct: 15 14 13 12 11 10 9 1 0 0 0 1 1 1 8 1 7 0 6 5 4 3 2 0 1 0 0 0
port address 0
16-bit constant SYNTAX: outl cnst16, port
EXECUTION:
(pc) + 1 pc (pa) address bus a2-a0 (IOPR)(4:3) a4-a3 0 a15-a5 (16-bit constant) IOR(addressed by a4-a0) 1 1;note: for internal memory only
WORDS: CYCLES:
pac
load acc. With p register Bit: 15 14 13 12 11 10 9 1 0 0 1 0 1 0 8 0 7 0 6 5 4 3 2 1 0
SYNTAX: EXECUTION:
pac (pc) + 1 pc (p) (acc) 1 1
WORDS: CYCLES:
56
INDEX
MX96037
poph pop top of stack to high accumulator. Bit: 15 14 13 12 11 10 9 1 SYNTAX: EXECUTION: poph (pc) + 1 pc (tos) acc(31:16) 1 1 pop top of stack to low accumulator. Bit: 15 14 13 12 11 10 9 1 SYNTAX: EXECUTION: popl (pc) + 1 pc (tos) acc(15:0) 1 1 pop top of stack to data memory. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 1 0 8 1 8 1 7 0 7 1 6 5 4 3 2 1 0 0 0 1 1 0 1 8 1 7 0 6 5 4 3 2 1 0 0 0 1 0 1 0 8 0 7 0 6 5 4 3 2 1 0
WORDS: CYCLES: popl
WORDS: CYCLES: pop
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 1 0
see note 1
SYNTAX:
pop pop
dma *(,nar)
EXECUTION:
(pc) + 1 pc (tos) dma 1 1(DI) 2(DE)
WORDS: CYCLES:
57
INDEX
MX96037
psh
push data memory value onto stack. direct: 15 14 13 12 11 10 9 1 indirect: 1 0 0 1 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 1 0 0 1 0 1
see note 1
SYNTAX:
psh psh
dma *(,nar)
EXECUTION:
(pc) + 1 pc dma (tos) 1 1
WORDS: CYCLES:
pshh
push high accumulator onto stack. Bit: 15 14 13 12 11 10 9 1 1 0 0 1 0 0 8 0 7 1 6 5 4 3 2 1 0
see note 1
SYNTAX:
pshh (pc) + 1 pc acc(31:16) (tos)
EXECUTION:
WORDS: CYCLES:
1 1
58
INDEX
MX96037
pshl
push low accumulator onto stack. Bits: 15 14 13 12 11 10 9 1 1 0 0 1 0 0 8 1 7 1 6 5 4 3 2 1 0
see note 1
SYNTAX:
pshl (pc) + 1 pc acc(15:0) (tos)
EXECUTION:
WORDS: CYCLES:
1 1
ret
return from subroutine. Bits: 15 14 13 12 11 10 9 1 1 1 1 1 0 0 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
ret (sp) pc sp-1 sp
EXECUTION:
WORDS: CYCLES:
1 2
59
INDEX
MX96037
reti
return from interrupt. Bit: 15 14 13 12 11 10 9 1 1 1 1 1 0 0 8 1 7 0 6 5 4 3 2 1 0
SYNTAX:
reti (sp) pc (sp)-1 sp (sp) ss sp-1 sp
EXECUTION:
WORDS: CYCLES:
1 2
rovm
reset overflow mode. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 1 0 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
rovm (pc) + 1 pc 0 (ovm) status bit.
EXECUTION:
WORDS: CYCLES:
1 1
60
INDEX
MX96037
rpt
load repeat counter. direct: 15 14 13 12 11 10 9 0 0 0 1 0 0 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address
indirect:L
15 14 13 12 11 10 9 0 0 0 1 0 0 0
5
4
3
2
1
0
see note1
SYNTAX:
rpt rpt
dam7 *(,nar)
EXECUTION:
(pc) + 1 pc (dma) (rc)
WORDS: CYCLES:
1 1(DI) 2(DE)
rptk
load rc with 7-bit constant. direct: 15 14 13 12 11 10 9 0 0 0 1 0 0 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
rptk
cnst7
EXECUTION:
(pc) + 1 pc (7-bit constant) (rc)
WORDS: CYCLES:
1 1
61
INDEX
MX96037
rxf
reset external flag. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 0 1 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
rxf (pc) + 1 pc 0 (XF) pin and status bit.
EXECUTION:
WORDS: CYCLES:
1 1
sah
store high acc. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 0 0 8 0 8 0 7 0 7 1 6 5 4 3 2 1 0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 0 0
see note 1
SYNTAX:
sah sah
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc(31:16)) (dma)
WORDS: CYCLES:
1 1(DI) 2(DE)
62
INDEX
MX96037
sal
store low acc. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 0 0 8 1 8 1 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 0 0
see note 1
SYNTAX:
sal sal
dma7 *(,nar)
EXECUTION:
(pc) + 1 pc (acc(15:0)) (dma)
WORDS: CYCLES: sar
1 1(DI) 2(DE) store auxiliary register. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 1 ar 8 8 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 1 ar
see note 1
SYNTAX:
sar sar
dma7, arp *, arp (,nar)
EXECUTION:
(pc)+1 pc (ar) (dma)
WORDS: CYCLES:
1 1(DI) 2(DE)
63
INDEX
MX96037
sbh
subtract from high acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 0 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 0 1 0
see note 1
SYNTAX:
sbh sbh
dma7 *(,nar)
EXECUTION:
(pc) +1 pc (acc(31:16)) - (dma) (acc(31:16))
WORDS: CYCLES:
1 1(DI) 2(DE)
sbhk
subtract short immediate from high acc. Bit: 15 14 13 12 11 10 9 0 0 0 0 0 1 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
sbhk
cnst7
EXECUTION:
(pc)+1 pc (acc(31:16)) - (7-bit constant) (acc(31:16))
WORDS: CYCLES:
1 1
64
INDEX
MX96037
sbhl
subtract immediate from high acc. Bit: 15 14 13 12 11 10 9 1 0 0 0 0 0 1 8 0 7 0 6 5 4 3 2 1 0
16-bit constant
SYNTAX:
sbhl
cnst16
EXECUTION:
(pc)+2 pc (acc(31:16)) - (16-bit constant) (acc(31:16))
WORDS: CYCLES:
2 2
sbl
subtract from low acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 0 1 1 8 0 8 0 7 0 7 1 6 5 4 3 2 1 0
data memory address 6 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 0 1 1
see note 1
SYNTAX:
sbl sbl
dma7 *(,nar)
EXECUTION:
(pc)+1 pc (acc) - (dma with optional MSBs sign extension*) (acc)
WORDS: CYCLES:
1 1(DI) 2(DE) ; note : Option is controlled by CTRL : SENSE bit
65
INDEX
MX96037
sblk
subtract short immediate from low acc. Bit: 15 14 13 12 11 10 9 0 0 0 0 0 1 1 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
sblk
cnst7
EXECUTION:
(pc)+1 pc (acc) - (7-bit constant) (acc)
WORDS: CYCLES:
1 1
sbll
subtract immediate from low acc. Bit: 15 14 13 12 11 10 9 1 0 0 0 0 0 1 8 1 7 0 6 5 4 3 2 1 0
16-bit constant
SYNTAX:
sbll
cnst16
EXECUTION:
(pc)+2 pc (acc) - (16-bit constant with optional MSBs sign extension*) (acc)
WORDS: CYCLES:
2 2 ; note:Option is controlled by CTRL: SENSE bit
66
INDEX
MX96037
sdp
store data_page register. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 1 0
see note 1
SYNTAX:
sdp sdp
dma7 *(,nar)
EXECUTION:
(pc)+1 pc (dp) (dma)
WORDS: CYCLES:
1 1(DI) 2(DE)
sfl
shift acc left. Bit: 15 14 13 12 11 10 9 1 0 0 1 1 1 0 8 1 7 0 6 0 5 0 4 0 3 2 1 0
shift
SYNTAX:
sfl
cnst4
EXECUTION:
(pc)+1 pc if (shift>< 0) then acc * (2** shift) acc else acc*(2**(sv(3:0))) acc 1 1 ; note:15-bit overflow protection.
WORDS: CYCLES:
67
INDEX
MX96037
sfr/sfrs
shift acc right. Bit: 15 14 13 12 11 10 9 1 0 0 1 1 1 1 8 0 7 0 6 0 5 0 4 s 3 2 1 0
shift
SYNTAX:
sfr sfrs
cnst4 cnst4
EXECUTION:
(pc)+1 pc if (shift>< 0) then acc * (2**( -shift)) acc else acc*(2**(-sv(3:0)) acc * s=0 the msbs zero-filled * s=1 the msbs sign-extended 1 1
WORDS: CYCLES:
sip
store io_page register direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 0 1 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 0 1
see note 1
SYNTAX:
sip sip
dma7 *(,nar)
EXECUTION:
(pc)+1 pc IOPR(4:3) (dma (1:0)) 1 1(DI) 2(DE)
WORDS: CYCLES:
68
INDEX
MX96037
sovm
set overflow mode. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 1 0 8 1 7 0 6 5 4 3 2 1 0
SYNTAX:
sovm (pc)+1 pc 1 (OVM) status bit. 1 1
EXECUTION:
WORDS: CYCLES:
spac
subtract p register from acc. Bit: 15 14 13 12 11 10 9 1 0 0 1 0 1 1 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
spac (pc)+1 pc (acc) - (p) acc 1 1
EXECUTION:
WORDS: CYCLES:
69
INDEX
MX96037
sqra sqra and accumulate previous product. Bit: 15 14 13 12 11 10 9 1 1 1 1 1 0 1 8 1 7 1 6 5 4 3 2 1 0
see note 1
SYNTAX:
sqra sqra
dma7 *(,nar)
EXECUTION:
0 acc do begin (dma) * (dma) (p) (acc)+(p) acc (rc) - 1 rc (pc) +1 pc end ((rc) + 1) times 1 3+ (rc) ; enable repeat operation.
WORDS: CYCLES:
sss
store ss register. direct: 15 14 13 12 11 10 9 1 indirect: 0 1 1 0 0 1 8 1 8 1 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 0 1 1 0 0 1
see note 1
SYNTAX:
sss sss
dma7 *(,nar)
EXECUTION:
(pc)+1 pc (ss) (dma)
WORDS: CYCLES:
1 1(DI) 2(DE)
70
INDEX
MX96037
sxf
set external flag. Bit: 15 14 13 12 11 10 9 1 1 1 1 0 0 1 8 1 7 0 6 5 4 3 2 1
SYNTAX:
sxf (pc)+1 pc 1 (XF) pin and status bit.
EXECUTION:
WORDS: CYCLES:
1 1
tbr
table read. direct: 15 14 13 12 11 10 9 1 indirect: 1 0 0 1 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 1 1 0 0 1 1 0
see note 1
SYNTAX:
tbr
*(,nar)
EXECUTION:
(pc)+1 sp (acc) pc do ((pma, addressed by pc) dma)) ((rc) +1)) times (sp)pc
WORDS: CYCLES:
1 3+(rc) ; enable repeat operation.
71
INDEX
MX96037
trap
software interrupt. Bit: 15 14 13 12 11 10 9 1 1 0 0 0 0 1 8 0 7 0 6 5 4 3 2 1 0
SYNTAX:
trap (pc)+1 sp 0c pc 1 2
EXECUTION:
WORDS: CYCLES:
xor
xor with high acc. direct: 15 14 13 12 11 10 9 0 indirect: 0 0 0 1 1 0 8 0 8 0 7 0 7 1 6 6 5 4 3 2 1 0
data memory address 5 4 3 2 1 0
15 14 13 12 11 10 9 0 0 0 0 1 1 0
see note 1
SYNTAX:
xor xor
dma7 *(,nar)
EXECUTION:
(pc)+1 pc (acc(31:16)) .xor. (dma) (acc(31:16) 1 1(DI) 2(DE)
WORDS: CYCLES:
72
INDEX
MX96037
xork xor short immediate with high acc. Bit: 15 14 13 12 11 10 9 0 0 0 0 1 1 0 8 1 7 0 6 5 4 3 2 1 0
7-bit constant
SYNTAX:
xork
cnst7
EXECUTION:
(pc)+1 pc (acc(23:16)) .xor. (7-bit constant) (acc(23:16)) (acc(31:24)) acc(31:24)
WORDS: CYCLES:
1 1
xorl
xor short immediate with high acc. Bit: 15 14 13 12 11 10 9 1 0 0 0 0 1 1 8 0 7 0 6 5 4 3 2 1 0
16-bit constant
SYNTAX:
xorl
cnst16
EXECUTION:
(pc)+2 pc (acc(31:16)) .xor. (16-bit constant) (acc(31:16))
WORDS: CYCLES:
2 2
73
INDEX
MX96037
* note 1 : 15 14 13 12 11 10 9 8 7 1 6 v 5 v 4 v 3 v 2 1 y 0
opcode
operation:
case(vvvv) 0000: no manipulation of ars/arp 0001: y arp 0010: ar(arp) - ar0 ar(arp) 0011: ar(arp) - ar0 ar(arp), y arp 0100: ar(arp) + ar0 ar(arp) 0101: ar(arp) + ar0 ar(arp), y arp 1000: ar(arp) +1 ar(arp) 1001: ar(arp) +1 ar(arp), y arp 1010: ar(arp) - 1 ar(arp) 1011: ar(arp) -1 ar(arp), y arp 1100: ar(arp) +2 ar(arp) 1101: ar(arp) +2 ar(arp), y arp 1110: ar(arp) -2 ar(arp) 1111: ar(arp) -2 ar(arp), y arp
operand: +0 + 0 ,y - ARO - ARO , y + ARO + ARO , y + +,y -,y ++ ++ , y --- , y
* note 2 : 15 14 13 12 11 10 9 8 7 6 5 4 3 x 2 y 1 y 0 y
opcode
operation:
case(yyy) 000: no operation on ar(arp) 001: ar(arp) - ar0 ar(arp) 010: ar(arp) + ar0 ar(arp) 111: reserved 100: ar(arp) +1 ar(arp) 101: ar(arp) -1 ar(arp) 110: ar(arp) +2 ar(arp) 111: ar(arp) -2 ar(arp)
74
INDEX
MX96037
DC CHARACTERISTICS: TA = 0 to 70 C, VCC = 5V 10%
SYMBOL PARAMETER VCC VOL VOH VOL VIH Supply voltage Supply voltage Output high voltage Output low voltage Input high voltage BIO(7:0), ED(15:0), HOLD\, EROM(schmite-trigger) 3.5 all others VIL Input low voltage BIO(7:0), ED(15:0), HOLD\, EROM(schmite-trigger) -0.1 all others IOLA IOLB IOLC IOHA IOHB IOHC ICC Output low current type A Output low current type B Output low current type C Supply high current (HOLD\) Supply high current(HOLD\) Supply high current(HOLD\) Supply current(HOLD\) 4 4 16 2 2 8 10 OA OB OC 2.0 1.5 0.8 MIN 4.5 TYPE 5 0 4 0.3 0.6 MAX 5.5 UNIT V V V V V V V V mA mA mA mA mA mA mA
AC CHARACTERISTICS:
ROM/RAM/IO READ/WRITE TIMING
SYMBOL Tcs Taa Trds Twds Tdh Tah Ts(a-w) Ts(a-r) PARAMETER Chip select access time (ROM, RAM, IO) Address access time (ROM, RAM, IO) Data set-up time before ERD\ high (ROM, RAM, IO) Data set-up time before EWR\ high (ROM, RAM, IO) Data hold time after ERD\/EWR\ high (ROM, RAM, IO) Address hold time after ERD\/EWR\ high (ROM, RAM, IO) Address set-up time before EWR\ Address set-up time before ERD\ MIN 25+wTc 25+wTc 12 12 0 0 0-5 NOM MAX UNIT ns ns ns ns ns ns ns
0-5
ns NOM MAX 10 UNIT ns
OUTPUT PORTS AND EXTERNAL FLAG (XF\) TIMING
SYMBOL Td (a-o) PARAMETER Address to output ports (xf\) delay time MIN 0
RESET TIMING
SYMBOL Tw (rst) PARAMETER Reset low pulse width MIN 3Tc NOM MAX UNIT
75
INDEX
MX96037
AC CHARACTERISTICS: (Continued)
CLOCK TIMING
SYMBOL Tc(c) Tlpd(c) Thpd(c) Td(c-m) PARAMETER CLKIN cycle time CLKIN low pulse duration(tc=30ns) CLKIN high pulse duration (tc=30ns) CLKIN to MCO delay time MIN 30 12 12 0 NOM MAX 42 18 18 15 UNIT ns ns ns ns
CODEC TRANSMIT AND RECEIVE TIMING
SYMBOL Tc (mck) Tlpd (mck) Thpd (mck) Td (ch-fs) Td (ch-dx) Ts (dr) Th (dr) PARAMETER MCK cycle time MCK low pulse duration MCK high pulse duration MCK to FS delay time DX valid after MCK rising edge DR set-up time before MCK falling edge DR hold time before MCK falling edge 10 10 315 315 MIN NOM 650 335 335 20 10 MAX UNIT ns ns ns ns ns ns ns
INTERRUPT TIMING
SYMBOL Tw Tf Ts (int) PARAMETER INT\ low pulse duration INT\ fall time INT\ set-up time before MCO falling edge 5 MIN 3Q* NOM MAX 10 10 3Q-5 UNIT ns ns ns
HOLD\TIMING
SYMBO Ts (a-h) Tdt Td(al-a) Td (hh-ha) Ten (ah-a) PARAMETER Address set-up time before HOLD\ low Address tri-state after MCO low HOLDA\ low to address tri-state HOLD\ high to HOLDA\ high Address driven after HOLDA\ high MIN 5 1Q-5 0 0 1Q-10 1Q 1Q 1Q+10 2Q ns ns NOM MAX 3Q-10 1Q+10 UNIT ns ns
76
INDEX
MX96037
SRAM/ROM READ TIMING
Tcs
Th(ce-a)
EDCE\,EPCE\
Taa
EAD15-EAD0
Ts(a-r)
VALID Ts(rd-d)
ERD\
Th(rd-d)
ED15-ED0
DATA IN
SRAM/WRITE TIMING
EDEC\
Td(ce-a)
EAD15-EAD0
VALID
Ts(a-w)
Th(a-w) Th(d-w)
EWR\
Twds
ED15-ED0
DATA OUT
77
INDEX
MX96037
AC CHARACTERISTIC: (Continued)
DRAM TIMING
SYMBO Tras Trp Trcd Tcas Tcp Tasr Trah Tasc Qah Td(rd-c) Td(wr-c) Ts(cas) Th(cas) Ts(w-ca) Th(w-ca) PARAMETER RAS\low pulse duration RAS\ precharge time RAS\ to CAS\ delay time CAS\ low pulse duration CAS\ precharge time Row address set-up time Row address hold time Column address hold time Column address hold time DRD\ low to CAS\ low DWR\ low to CAS\low Data set-up time before CAS\ high Data hold time after CAS\high Data set-up time before CAS\low Data hold time before CAS\low MIN 10Q-10 7Q-10 4Q-10 6Q-10 2Q-5 1Q-10 3Q-10 6Q-10 6Q-10 1Q-10 1Q-10 1Q 5 1Q-10 4Q-10 4Q NOM 10Q 7Q 4Q 6Q 2Q 1Q 3Q 1Q 6Q 1Q 1Q MAX UNIT ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns
UP INTERFACE
SYMBOL Thra Thdh Thsw Thwh PARAMETER Host read access time Read data hold time Write data set up time Write data hold time 5 20 10 MIN MON 50 MAX UNIT ns ns ns ns
Note:*w=number of wait state *Q=1/2 TC
78
INDEX
MX96037
DRAM READ/WRITE TIMING
Tras
Trp
RAS\
Trcd
Tcas
Tcp
CAS\
Tasr Trah Tasc
ROW ADDRESS COLUMN ADDRESS
Tach
EAD15-EAD0
COLUMN ADDRESS
DRD\
Td(rd-c)
Ts(cas)
Th(cas)
DATA IN DATA IN
ED15-ED0 READ CYCLE
Td(wr-c)
DWR\
Ts(w-ca) Th(w-ca)
DATA OUT
ED15-ED0 WRITE CYCLE
CODEC PORT TRANSMIT AND RECEIVE TIMING
Tc(mck)
Tw(mck)
CMCK
Td(ch-fs) Td(ch-fs) Th(dr) Tw(mck)
CFS
Ts(dr)
CDR0, CDR1
N=1 Td(ch-dx)
N=2
N=3
N=4
SAMPLING 16 BITS
CDX0, CDX1
N=1
N=2
N=3
N=4
TRANSMIT 16 BITS
79
INDEX
MX96037
CODEC TRANSMIT RECEIVE OPERATION
CMCK
CDX0, CDR0
D15 MSB D14 D13 D12 D1 D0 LSB
CFS
Internal Codec Interrupt
80
INDEX
MX96037
OUTPUT PORT AND EXTERNAL FLAG(XF\) TIMING
AD15-AD0 EAD15-EAD0
PC=N, SXF/RXF or OUT XX
PC=N+1
PC=N+2 Td(a-o)
OPT12-OP10
XF\
P INTERFACE TIMING
P READ CYCLE
PHRDB\
Tsr
Thr
PHILO
PHDB[7:0]
DATA VALID
DATA VALID
PACKB\
P WRITE CYCLE
PHWRB\
Tsw
Tww
PHILO
Thw PHDB[7:0] DATA VALID DATA VALID
PACKB\
81
INDEX
MX96037
RESET TIMING
CLK IN
Tw(rst)
RST\
ADDRESS BUS
PC=0000
0001
DATA BUS CONTROL SIGNALS CODEC SIGNAL OUTPUT PORT
(inactive)
valid
valid
0000
BIO PORT
Note: Control Signals XF\ HOLDA\ EDCE\EPCE\ ERD\ ERD\ EWR\ CAS\ RAS\ DRD\ DWR\
82
INDEX
MX96037
HOLD TIMING
MCO0
EAD15-EAD0
N
N+1
N+2 Tdt
N+3 Ten(ah-a)
N+4
ED15-ED0 EPCE\ EDCE\ EWR\ ERD\
Ts(a-h) Tdt
Tdt
HOLD\
Td(hh-ha)
HOLDA\
Td(a-al)
INTERRUPT TIMING
Tf
INT0\ INT1\ INT2\
Tw
Ts(v)
MCO
AD15-AD0
fetch N+0
fetch N+1
fetch N+1
fetch N+1
fetch I
83
INDEX
MX96037
TIMING WAVEFORMS
CLOCK TIMING
Tc(c)
Thpd(c)
CLK IN
Td(c-m) Tlpd(c)
MCO (no wait state)
MCO (1 wait state)
MCO (2 wait state)
MCO (3 wait state)
84
INDEX
MX96037
ORDERING INFORMATION
PART NO. MX96037 PACKAGE PQFP
MX
MXIC COMPONY PREFIX
96
037
F
C
COMMERCIAL 0 ~ 70C
FAMILY PREFIX
PACKAGE TYPE F : PQFP Q : PLCC
PRODUCT NUMBER
85
INDEX
MX96037
PACKAGE INFORMATION
100-PIN PQFP
A
ITEM A B C D E F G H I J K L M N O P
MILLIMETERS 24.80 .40 20.00 .13 14.00 .13 18.80 .40 12.35 [REF] .83 [REF] .58 [REF] .30 [Typ.] .65[Typ.] 2.40 [Typ.] 1.20 [Typ.] .15 [Typ.] .10 max. 2.75 .15 .10 min. 3.30 max.
INCHES .967 .016 .787 .005 .551 .005 .740 .016 .486 [REF] .033 [REF] .023 [REF] .012 [Typ.] .026 [Typ.] .094 [Typ.] .047 [Typ.] .006 [Typ.] .004 max. .018 .006 .004 min. .103 max.
G H I J O F 100 1 31 30 P E C D 80 81 51 50 B
NOTE: Each lead centerline is located within .25mm[.01 inch] of its true position [TP] at a maximum material condition.
N L M K
86
INDEX
MX96037
MACRONIX INTERNATIONAL CO., LTD.
HEADQUARTERS: No. 3, Creation Road III, Science-Based Industrial Park, Hsin Chu, Taiwan, R.O.C. TEL : +886-3-578-8888 FAX: +886-3-578-8887 TAIPEI OFFICE: 12F, No. 4, Min-Chuan E. Rd., Sec. 3, Taipei, Taiwan, R.O.C. TEL : +886-2-509-3300 FAX: +886-2-509-2200 EUROPE OFFICE: Grote Winkellaan 95, Bus 1 1853 Strombeek, Belgium TEL : +32-2-267-7050 FAX: +32-2-267-9700 SINGAPORE OFFICE: 5 Jalan Masjid Kembangan Court #01-12 Singapore 418924 TEL : +65-747-2309 FAX: +65-748-4090
MACRONIX AMERICA, INC.
1338 Ridder Park Drive, San Jose, CA95131 U.S.A. TEL : +1-408-453-8088 FAX: +1-408-453-8488 JAPAN OFFICE: NFK Kawasaki Building, 8F, 1-2 Higashida-cho, Kawasaki-ku Kawasaki-shi, Kawasaki-ken 210, Japan TEL : +81-44-246-9100 FAX: +81-44-246-9105
MACRONIX INTERNATIONAL CO., LTD. reserves the right to change product and specifications without notice.
87


▲Up To Search▲   

 
Price & Availability of 96037

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X