Motorola DSP56301 User Manual
Page 304
A
-8
DSP56301 User’s Manual
bra ;======================================================================== ; This is the routine that loads from the Host Interface in UB (UNIVERSAL) mode, ; with single-strob pin configuration (RD/WR,DS). ; MD:MC:MB:MA=x111 - Host UB UB1HOSTLD bset #13,x1 ; HDSM=1 (Double-strob pin mode disabled) ;======================================================================== ; This is the routine that loads from the Host Interface in UB (UNIVERSAL) mode, ; with double-strobe pin configuration (RD,WR). ; MD:MC:MB:MA=x110 - Host UB UB2HOSTLD movep x1,X:M_DCTR ; Configure HI32 in UB mode Single or Double strobe do #6,_LOOP0 ; read # of words and start address jclr #2,X:M_DSR,* ; Wait for SRRQ to go high (i.e. data ready) movep X:M_DRXR,a2 ; asr #8,a,a ; Shift 8 bit data into A1 _LOOP0 ; move a1,r0 ; starting address for load move a1,r1 ; save it in r1 ; a0 holds the number of words ; Download P memory through UB do a0,_LOOP1 ; Load instruction words do #3,_LOOP2 ; for each byte _LBLA jset #2,X:M_DSR,_LBLB ; Wait for SRRQ to go high (i.e. data ready) jclr #3,X:M_DSR,_LBLA ; If HF0=1, stop loading new data. enddo ; Must terminate the do loop bra _LBLB movep X:M_DRXR,a2 ; Store 16-bit data in accumulator asr #8,a,a ; Shift 8 bit data into A1 _LOOP2 ; and go get another 24-bit word. movem a1,p:(r0)+ ; Store 24-bit data in P mem nop ; movem cannot be at LA. _LOOP1 ; and go get another 24-bit word. bra ;======================================================================== ; This routine loads from the Host Interface in ISA (UNIVERSAL) mode. ; MD:MC:MB:MA=x101 - Host ISA ; 16-bit wide dual-strobe Universal Bus mode (e.g to support ; ISA (slave) glue less connection). ; Using self configuration mode, the base address in CBMA is written with ; $2f which corresponds to an ISA HTXR address of $2fe (Serial Port 2 Modem ; Status read only register). ISAHOSTLD move #$5a,b ; b1=$5a0000 movep b1,X:M_DCTR ; Configure HI32 as Self-Config movep #$00002f,X:M_DPMC ; write to DPMC rep #4 movep X0,X:M_DPAR ; write to DPAR (CSTR+CCMR,CCCR+CRID,CLAT,CBMA) ; completing 32 bit write