;
;  Copyright 2000 by Texas Instruments Incorporated.
;  All rights reserved. Property of Texas Instruments Incorporated.
;  Restricted rights to use, duplicate or disclose this code are
;  granted through contract.
;  U.S. Patent Nos. 5,283,900  5,392,448
;
; "@(#) DSP/BIOS 4.00 09-15-00 (barracuda-e16)"
;
;  ======== audio_ld.s62 ========
;
;
;  C-callable interface to assembly language utility functions for the
;  audio example.


        .ref _AUDIO_load

        .text

N               .set    1000

;
;  ======== _AUDIO_load ========
;  This function simulates a load on the DSP by executing N * loopCount
;  instructions, where loopCount is the input parameter to AUDIO_load().
;
;      void AUDIO_load(int loopCount)
;
;  The loop is using 8 instructions. One instruction for sub, nop and
;  b, plus nop 5. The extra nop added after sub is to make the number
;  of instructions in the loop a power of 2.
;
_AUDIO_load:

        mv a4, b0               ; use b0 as loop counter
  [!b0] b lend                  ; goto lend if b0 = 0
        mvk N,b1
        mpy b1,b0,b0
        nop
        shru b0,3,b0            ; (loop counter)= (# loops)/8 

loop:
        sub b0,1,b0
        nop
   [b0] b loop
        nop 5

lend:   b b3
        nop 5                   ; return
        
        .end

