;******************************************************************************
;* TMS320C6x ANSI C Codegen                                      Version 4.00 *
;* Date/Time created: Wed May 02 20:45:32 2001                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C671x                                          *
;*   Optimization      : Enabled at level 3                                   *
;*   Optimizing for    : Speed                                                *
;*                       Based on options: -o3, no -ms                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Enabled                                              *
;*   Speculative Load  : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : Debug                                                *
;*                                                                            *
;******************************************************************************

FP	.set	A15
DP	.set	B14
SP	.set	B15
	.global	$bss

;	opt6x -v6710 -O3 c:\windows\TEMP\TI378071_2 c:\windows\TEMP\TI378071_4 
	.file	"audio2.c"
	.file	"C:\ti\c6000\bios\include\std.h"
	.file	"C:\ti\c6000\bios\include\fxn.h"
	.file	"C:\ti\c6000\bios\include\sts.h"
	.file	"C:\ti\c6000\bios\include\pip.h"
	.file	"C:\ti\c6000\bios\include\log.h"
	.file	"../Van/ComplexMath.h"
	.file	"C:\ti\c6000\bios\include\pip.h"
	.stag	_PIP_Obj, 800
	.member	_threshold, 0, 14, 8, 32
	.member	_preaderTakeProbe, 32, 24, 8, 32, _PIP_Obj
	.member	_readerAddr, 64, 16, 8, 32
	.member	_readerSize, 96, 14, 8, 32
	.member	_readerCurdesc, 128, 16, 8, 32
	.member	_pnotifyReader, 160, 24, 8, 32, _FXN_Obj
	.member	_readerNumFrames, 192, 14, 8, 32
	.member	_preaderGiveProbe, 224, 24, 8, 32, _PIP_Obj
	.member	_pwriterNumFrames, 256, 30, 8, 32
	.member	_notifyWriter, 288, 8, 8, 96, _FXN_Obj
	.member	_preaderSts, 384, 24, 8, 32, _STS_Obj
	.member	_pwriterTakeProbe, 416, 24, 8, 32, _PIP_Obj
	.member	_writerAddr, 448, 16, 8, 32
	.member	_writerSize, 480, 14, 8, 32
	.member	_writerCurdesc, 512, 16, 8, 32
	.member	_pnotifyWriter, 544, 24, 8, 32, _FXN_Obj
	.member	_writerNumFrames, 576, 14, 8, 32
	.member	_pwriterGiveProbe, 608, 24, 8, 32, _PIP_Obj
	.member	_preaderNumFrames, 640, 30, 8, 32
	.member	_notifyReader, 672, 8, 8, 96, _FXN_Obj
	.member	_pwriterSts, 768, 24, 8, 32, _STS_Obj
	.eos
	.sym	_Uns, 0, 14, 13, 32
	.sym	_PIP_Obj, 0, 8, 13, 800,_PIP_Obj
	.sym	_Ptr, 0, 16, 13, 32
	.stag	_FXN_Obj, 96
	.member	_fxn, 0, 148, 8, 32
	.member	_arg1, 32, 14, 8, 32
	.member	_arg0, 64, 14, 8, 32
	.eos
	.sym	_Int, 0, 4, 13, 32
	.sym	_Fxn, 0, 148, 13, 32
	.sym	_FXN_Obj, 0, 8, 13, 96,_FXN_Obj
	.stag	_STS_Obj, 0
	.eos
	.sym	_STS_Obj, 0, 8, 13, 0,_STS_Obj
	.sym	_PIP_Handle, 0, 24, 13, 32,_PIP_Obj
	.file	"C:\ti\c6000\bios\include\log.h"
	.stag	_LOG_Obj, 192
	.member	_bufend, 0, 14, 8, 32
	.member	_flag, 32, 14, 8, 32
	.member	_seqnum, 64, 14, 8, 32
	.member	_curptr, 96, 14, 8, 32
	.member	_lenmask, 128, 14, 8, 32
	.member	_bufbeg, 160, 14, 8, 32
	.eos
	.sym	_LOG_Handle, 0, 24, 13, 32,_LOG_Obj
	.sym	_String, 0, 18, 13, 32
	.file	"audio2.c"
	.file	"permute.h"
	.file	"audio2.c"
	.stag	_T0, 64
	.member	_Re, 0, 6, 8, 32
	.member	_Im, 32, 6, 8, 32
	.eos
	.sym	_Real, 0, 6, 13, 32
	.global	_srcComplex
	.bss	_srcComplex,4096,4
	.sym	_srcComplex,_srcComplex, 56, 2, 32768, _T0, 512
	.global	_dstComplex
	.bss	_dstComplex,4096,4
	.sym	_dstComplex,_dstComplex, 56, 2, 32768, _T0, 512
	.file	"permute.h"

	.sect	".cinit"
	.align	8
	.field  	IR_1,32
	.field  	_unBitReversed+0,32
	.field  	0,16			; _unBitReversed[0] @ 0
	.field  	0x80,16			; _unBitReversed[1] @ 16
	.field  	0x40,16			; _unBitReversed[2] @ 32
	.field  	0xc0,16			; _unBitReversed[3] @ 48
	.field  	0x20,16			; _unBitReversed[4] @ 64
	.field  	0xa0,16			; _unBitReversed[5] @ 80
	.field  	0x60,16			; _unBitReversed[6] @ 96
	.field  	0xe0,16			; _unBitReversed[7] @ 112
	.field  	0x10,16			; _unBitReversed[8] @ 128
	.field  	0x90,16			; _unBitReversed[9] @ 144
	.field  	0x50,16			; _unBitReversed[10] @ 160
	.field  	0xd0,16			; _unBitReversed[11] @ 176
	.field  	0x30,16			; _unBitReversed[12] @ 192
	.field  	0xb0,16			; _unBitReversed[13] @ 208
	.field  	0x70,16			; _unBitReversed[14] @ 224
	.field  	0xf0,16			; _unBitReversed[15] @ 240
	.field  	0x8,16			; _unBitReversed[16] @ 256
	.field  	0x88,16			; _unBitReversed[17] @ 272
	.field  	0x48,16			; _unBitReversed[18] @ 288
	.field  	0xc8,16			; _unBitReversed[19] @ 304
	.field  	0x28,16			; _unBitReversed[20] @ 320
	.field  	0xa8,16			; _unBitReversed[21] @ 336
	.field  	0x68,16			; _unBitReversed[22] @ 352
	.field  	0xe8,16			; _unBitReversed[23] @ 368
	.field  	0x18,16			; _unBitReversed[24] @ 384
	.field  	0x98,16			; _unBitReversed[25] @ 400
	.field  	0x58,16			; _unBitReversed[26] @ 416
	.field  	0xd8,16			; _unBitReversed[27] @ 432
	.field  	0x38,16			; _unBitReversed[28] @ 448
	.field  	0xb8,16			; _unBitReversed[29] @ 464
	.field  	0x78,16			; _unBitReversed[30] @ 480
	.field  	0xf8,16			; _unBitReversed[31] @ 496
	.field  	0x4,16			; _unBitReversed[32] @ 512
	.field  	0x84,16			; _unBitReversed[33] @ 528
	.field  	0x44,16			; _unBitReversed[34] @ 544
	.field  	0xc4,16			; _unBitReversed[35] @ 560
	.field  	0x24,16			; _unBitReversed[36] @ 576
	.field  	0xa4,16			; _unBitReversed[37] @ 592
	.field  	0x64,16			; _unBitReversed[38] @ 608
	.field  	0xe4,16			; _unBitReversed[39] @ 624
	.field  	0x14,16			; _unBitReversed[40] @ 640
	.field  	0x94,16			; _unBitReversed[41] @ 656
	.field  	0x54,16			; _unBitReversed[42] @ 672
	.field  	0xd4,16			; _unBitReversed[43] @ 688
	.field  	0x34,16			; _unBitReversed[44] @ 704
	.field  	0xb4,16			; _unBitReversed[45] @ 720
	.field  	0x74,16			; _unBitReversed[46] @ 736
	.field  	0xf4,16			; _unBitReversed[47] @ 752
	.field  	0xc,16			; _unBitReversed[48] @ 768
	.field  	0x8c,16			; _unBitReversed[49] @ 784
	.field  	0x4c,16			; _unBitReversed[50] @ 800
	.field  	0xcc,16			; _unBitReversed[51] @ 816
	.field  	0x2c,16			; _unBitReversed[52] @ 832
	.field  	0xac,16			; _unBitReversed[53] @ 848
	.field  	0x6c,16			; _unBitReversed[54] @ 864
	.field  	0xec,16			; _unBitReversed[55] @ 880
	.field  	0x1c,16			; _unBitReversed[56] @ 896
	.field  	0x9c,16			; _unBitReversed[57] @ 912
	.field  	0x5c,16			; _unBitReversed[58] @ 928
	.field  	0xdc,16			; _unBitReversed[59] @ 944
	.field  	0x3c,16			; _unBitReversed[60] @ 960
	.field  	0xbc,16			; _unBitReversed[61] @ 976
	.field  	0x7c,16			; _unBitReversed[62] @ 992
	.field  	0xfc,16			; _unBitReversed[63] @ 1008
	.field  	0x2,16			; _unBitReversed[64] @ 1024
	.field  	0x82,16			; _unBitReversed[65] @ 1040
	.field  	0x42,16			; _unBitReversed[66] @ 1056
	.field  	0xc2,16			; _unBitReversed[67] @ 1072
	.field  	0x22,16			; _unBitReversed[68] @ 1088
	.field  	0xa2,16			; _unBitReversed[69] @ 1104
	.field  	0x62,16			; _unBitReversed[70] @ 1120
	.field  	0xe2,16			; _unBitReversed[71] @ 1136
	.field  	0x12,16			; _unBitReversed[72] @ 1152
	.field  	0x92,16			; _unBitReversed[73] @ 1168
	.field  	0x52,16			; _unBitReversed[74] @ 1184
	.field  	0xd2,16			; _unBitReversed[75] @ 1200
	.field  	0x32,16			; _unBitReversed[76] @ 1216
	.field  	0xb2,16			; _unBitReversed[77] @ 1232
	.field  	0x72,16			; _unBitReversed[78] @ 1248
	.field  	0xf2,16			; _unBitReversed[79] @ 1264
	.field  	0xa,16			; _unBitReversed[80] @ 1280
	.field  	0x8a,16			; _unBitReversed[81] @ 1296
	.field  	0x4a,16			; _unBitReversed[82] @ 1312
	.field  	0xca,16			; _unBitReversed[83] @ 1328
	.field  	0x2a,16			; _unBitReversed[84] @ 1344
	.field  	0xaa,16			; _unBitReversed[85] @ 1360
	.field  	0x6a,16			; _unBitReversed[86] @ 1376
	.field  	0xea,16			; _unBitReversed[87] @ 1392
	.field  	0x1a,16			; _unBitReversed[88] @ 1408
	.field  	0x9a,16			; _unBitReversed[89] @ 1424
	.field  	0x5a,16			; _unBitReversed[90] @ 1440
	.field  	0xda,16			; _unBitReversed[91] @ 1456
	.field  	0x3a,16			; _unBitReversed[92] @ 1472
	.field  	0xba,16			; _unBitReversed[93] @ 1488
	.field  	0x7a,16			; _unBitReversed[94] @ 1504
	.field  	0xfa,16			; _unBitReversed[95] @ 1520
	.field  	0x6,16			; _unBitReversed[96] @ 1536
	.field  	0x86,16			; _unBitReversed[97] @ 1552
	.field  	0x46,16			; _unBitReversed[98] @ 1568
	.field  	0xc6,16			; _unBitReversed[99] @ 1584
	.field  	0x26,16			; _unBitReversed[100] @ 1600
	.field  	0xa6,16			; _unBitReversed[101] @ 1616
	.field  	0x66,16			; _unBitReversed[102] @ 1632
	.field  	0xe6,16			; _unBitReversed[103] @ 1648
	.field  	0x16,16			; _unBitReversed[104] @ 1664
	.field  	0x96,16			; _unBitReversed[105] @ 1680
	.field  	0x56,16			; _unBitReversed[106] @ 1696
	.field  	0xd6,16			; _unBitReversed[107] @ 1712
	.field  	0x36,16			; _unBitReversed[108] @ 1728
	.field  	0xb6,16			; _unBitReversed[109] @ 1744
	.field  	0x76,16			; _unBitReversed[110] @ 1760
	.field  	0xf6,16			; _unBitReversed[111] @ 1776
	.field  	0xe,16			; _unBitReversed[112] @ 1792
	.field  	0x8e,16			; _unBitReversed[113] @ 1808
	.field  	0x4e,16			; _unBitReversed[114] @ 1824
	.field  	0xce,16			; _unBitReversed[115] @ 1840
	.field  	0x2e,16			; _unBitReversed[116] @ 1856
	.field  	0xae,16			; _unBitReversed[117] @ 1872
	.field  	0x6e,16			; _unBitReversed[118] @ 1888
	.field  	0xee,16			; _unBitReversed[119] @ 1904
	.field  	0x1e,16			; _unBitReversed[120] @ 1920
	.field  	0x9e,16			; _unBitReversed[121] @ 1936
	.field  	0x5e,16			; _unBitReversed[122] @ 1952
	.field  	0xde,16			; _unBitReversed[123] @ 1968
	.field  	0x3e,16			; _unBitReversed[124] @ 1984
	.field  	0xbe,16			; _unBitReversed[125] @ 2000
	.field  	0x7e,16			; _unBitReversed[126] @ 2016
	.field  	0xfe,16			; _unBitReversed[127] @ 2032
	.field  	0x1,16			; _unBitReversed[128] @ 2048
	.field  	0x81,16			; _unBitReversed[129] @ 2064
	.field  	0x41,16			; _unBitReversed[130] @ 2080
	.field  	0xc1,16			; _unBitReversed[131] @ 2096
	.field  	0x21,16			; _unBitReversed[132] @ 2112
	.field  	0xa1,16			; _unBitReversed[133] @ 2128
	.field  	0x61,16			; _unBitReversed[134] @ 2144
	.field  	0xe1,16			; _unBitReversed[135] @ 2160
	.field  	0x11,16			; _unBitReversed[136] @ 2176
	.field  	0x91,16			; _unBitReversed[137] @ 2192
	.field  	0x51,16			; _unBitReversed[138] @ 2208
	.field  	0xd1,16			; _unBitReversed[139] @ 2224
	.field  	0x31,16			; _unBitReversed[140] @ 2240
	.field  	0xb1,16			; _unBitReversed[141] @ 2256
	.field  	0x71,16			; _unBitReversed[142] @ 2272
	.field  	0xf1,16			; _unBitReversed[143] @ 2288
	.field  	0x9,16			; _unBitReversed[144] @ 2304
	.field  	0x89,16			; _unBitReversed[145] @ 2320
	.field  	0x49,16			; _unBitReversed[146] @ 2336
	.field  	0xc9,16			; _unBitReversed[147] @ 2352
	.field  	0x29,16			; _unBitReversed[148] @ 2368
	.field  	0xa9,16			; _unBitReversed[149] @ 2384
	.field  	0x69,16			; _unBitReversed[150] @ 2400
	.field  	0xe9,16			; _unBitReversed[151] @ 2416
	.field  	0x19,16			; _unBitReversed[152] @ 2432
	.field  	0x99,16			; _unBitReversed[153] @ 2448
	.field  	0x59,16			; _unBitReversed[154] @ 2464
	.field  	0xd9,16			; _unBitReversed[155] @ 2480
	.field  	0x39,16			; _unBitReversed[156] @ 2496
	.field  	0xb9,16			; _unBitReversed[157] @ 2512
	.field  	0x79,16			; _unBitReversed[158] @ 2528
	.field  	0xf9,16			; _unBitReversed[159] @ 2544
	.field  	0x5,16			; _unBitReversed[160] @ 2560
	.field  	0x85,16			; _unBitReversed[161] @ 2576
	.field  	0x45,16			; _unBitReversed[162] @ 2592
	.field  	0xc5,16			; _unBitReversed[163] @ 2608
	.field  	0x25,16			; _unBitReversed[164] @ 2624
	.field  	0xa5,16			; _unBitReversed[165] @ 2640
	.field  	0x65,16			; _unBitReversed[166] @ 2656
	.field  	0xe5,16			; _unBitReversed[167] @ 2672
	.field  	0x15,16			; _unBitReversed[168] @ 2688
	.field  	0x95,16			; _unBitReversed[169] @ 2704
	.field  	0x55,16			; _unBitReversed[170] @ 2720
	.field  	0xd5,16			; _unBitReversed[171] @ 2736
	.field  	0x35,16			; _unBitReversed[172] @ 2752
	.field  	0xb5,16			; _unBitReversed[173] @ 2768
	.field  	0x75,16			; _unBitReversed[174] @ 2784
	.field  	0xf5,16			; _unBitReversed[175] @ 2800
	.field  	0xd,16			; _unBitReversed[176] @ 2816
	.field  	0x8d,16			; _unBitReversed[177] @ 2832
	.field  	0x4d,16			; _unBitReversed[178] @ 2848
	.field  	0xcd,16			; _unBitReversed[179] @ 2864
	.field  	0x2d,16			; _unBitReversed[180] @ 2880
	.field  	0xad,16			; _unBitReversed[181] @ 2896
	.field  	0x6d,16			; _unBitReversed[182] @ 2912
	.field  	0xed,16			; _unBitReversed[183] @ 2928
	.field  	0x1d,16			; _unBitReversed[184] @ 2944
	.field  	0x9d,16			; _unBitReversed[185] @ 2960
	.field  	0x5d,16			; _unBitReversed[186] @ 2976
	.field  	0xdd,16			; _unBitReversed[187] @ 2992
	.field  	0x3d,16			; _unBitReversed[188] @ 3008
	.field  	0xbd,16			; _unBitReversed[189] @ 3024
	.field  	0x7d,16			; _unBitReversed[190] @ 3040
	.field  	0xfd,16			; _unBitReversed[191] @ 3056
	.field  	0x3,16			; _unBitReversed[192] @ 3072
	.field  	0x83,16			; _unBitReversed[193] @ 3088
	.field  	0x43,16			; _unBitReversed[194] @ 3104
	.field  	0xc3,16			; _unBitReversed[195] @ 3120
	.field  	0x23,16			; _unBitReversed[196] @ 3136
	.field  	0xa3,16			; _unBitReversed[197] @ 3152
	.field  	0x63,16			; _unBitReversed[198] @ 3168
	.field  	0xe3,16			; _unBitReversed[199] @ 3184
	.field  	0x13,16			; _unBitReversed[200] @ 3200
	.field  	0x93,16			; _unBitReversed[201] @ 3216
	.field  	0x53,16			; _unBitReversed[202] @ 3232
	.field  	0xd3,16			; _unBitReversed[203] @ 3248
	.field  	0x33,16			; _unBitReversed[204] @ 3264
	.field  	0xb3,16			; _unBitReversed[205] @ 3280
	.field  	0x73,16			; _unBitReversed[206] @ 3296
	.field  	0xf3,16			; _unBitReversed[207] @ 3312
	.field  	0xb,16			; _unBitReversed[208] @ 3328
	.field  	0x8b,16			; _unBitReversed[209] @ 3344
	.field  	0x4b,16			; _unBitReversed[210] @ 3360
	.field  	0xcb,16			; _unBitReversed[211] @ 3376
	.field  	0x2b,16			; _unBitReversed[212] @ 3392
	.field  	0xab,16			; _unBitReversed[213] @ 3408
	.field  	0x6b,16			; _unBitReversed[214] @ 3424
	.field  	0xeb,16			; _unBitReversed[215] @ 3440
	.field  	0x1b,16			; _unBitReversed[216] @ 3456
	.field  	0x9b,16			; _unBitReversed[217] @ 3472
	.field  	0x5b,16			; _unBitReversed[218] @ 3488
	.field  	0xdb,16			; _unBitReversed[219] @ 3504
	.field  	0x3b,16			; _unBitReversed[220] @ 3520
	.field  	0xbb,16			; _unBitReversed[221] @ 3536
	.field  	0x7b,16			; _unBitReversed[222] @ 3552
	.field  	0xfb,16			; _unBitReversed[223] @ 3568
	.field  	0x7,16			; _unBitReversed[224] @ 3584
	.field  	0x87,16			; _unBitReversed[225] @ 3600
	.field  	0x47,16			; _unBitReversed[226] @ 3616
	.field  	0xc7,16			; _unBitReversed[227] @ 3632
	.field  	0x27,16			; _unBitReversed[228] @ 3648
	.field  	0xa7,16			; _unBitReversed[229] @ 3664
	.field  	0x67,16			; _unBitReversed[230] @ 3680
	.field  	0xe7,16			; _unBitReversed[231] @ 3696
	.field  	0x17,16			; _unBitReversed[232] @ 3712
	.field  	0x97,16			; _unBitReversed[233] @ 3728
	.field  	0x57,16			; _unBitReversed[234] @ 3744
	.field  	0xd7,16			; _unBitReversed[235] @ 3760
	.field  	0x37,16			; _unBitReversed[236] @ 3776
	.field  	0xb7,16			; _unBitReversed[237] @ 3792
	.field  	0x77,16			; _unBitReversed[238] @ 3808
	.field  	0xf7,16			; _unBitReversed[239] @ 3824
	.field  	0xf,16			; _unBitReversed[240] @ 3840
	.field  	0x8f,16			; _unBitReversed[241] @ 3856
	.field  	0x4f,16			; _unBitReversed[242] @ 3872
	.field  	0xcf,16			; _unBitReversed[243] @ 3888
	.field  	0x2f,16			; _unBitReversed[244] @ 3904
	.field  	0xaf,16			; _unBitReversed[245] @ 3920
	.field  	0x6f,16			; _unBitReversed[246] @ 3936
	.field  	0xef,16			; _unBitReversed[247] @ 3952
	.field  	0x1f,16			; _unBitReversed[248] @ 3968
	.field  	0x9f,16			; _unBitReversed[249] @ 3984
	.field  	0x5f,16			; _unBitReversed[250] @ 4000
	.field  	0xdf,16			; _unBitReversed[251] @ 4016
	.field  	0x3f,16			; _unBitReversed[252] @ 4032
	.field  	0xbf,16			; _unBitReversed[253] @ 4048
	.field  	0x7f,16			; _unBitReversed[254] @ 4064
	.field  	0xff,16			; _unBitReversed[255] @ 4080
IR_1:	.set	512

	.sect	".text"
	.global	_unBitReversed
	.bss	_unBitReversed,512,4
	.sym	_unBitReversed,_unBitReversed, 51, 2, 4096,, 256
	.file	"audio2.c"

	.sect	".cinit:c"
	.align	8
	.field  	(CIR - $) - 8, 32
	.field  	_loadVal+0,32
	.field  	0,32			; _loadVal @ 0

	.sect	".text"
	.global	_loadVal
_loadVal:	.usect	".bss:c",4,4
	.sym	_loadVal,_loadVal, 4, 2, 32

	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _trips @ 0

	.sect	".text"
	.global	_trips
_trips:	.usect	".bss:c",4,4
	.sym	_trips,_trips, 4, 2, 32

	.sect	".cinit:c"
	.align	4
	.field  	0x1,32			; _direction$2 @ 0

	.sect	".text"
	.sect	".text"
	.global	_step
	.sym	_step,_step, 32, 2, 0
	.func	128

;******************************************************************************
;* FUNCTION NAME: _step                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,B0,B4,B5,B6                                    *
;*   Regs Used         : A0,A1,B0,B3,B4,B5,B6,DP                              *
;*   Local Frame Size  : 0 Args + 0 Auto + 0 Save = 0 byte                    *
;******************************************************************************
_step:
;** --------------------------------------------------------------------------*
_direction$2:	.usect	".bss:c",4,4
	.sym	_direction,_direction$2, 4, 3, 32
	.sym	U$0,20, 4, 4, 32
	.line	5
           LDW     .D2T2   *+DP(_loadVal),B4 ; |132| 
           NOP             3
           MVK     .S1     800,A0            ; |132| 
           CMPGT   .L1X    B4,A0,A1          ; |132| 
	.line	6
   [ A1]   MVK     .S1     -1,A0             ; |133| 
   [ A1]   STW     .D2T1   A0,*+DP(_direction$2) ; |133| 
	.line	8
           CMPGT   .L2     B4,0,B0           ; |135| 
	.line	9
   [!B0]   MVK     .S2     1,B5              ; |136| 
   [!B0]   STW     .D2T2   B5,*+DP(_direction$2) ; |136| 
	.line	12
           LDW     .D2T2   *+DP(_direction$2),B6 ; |139| 
           NOP             3
           MVK     .S2     100,B5            ; |139| 
           MPYI    .M2     B5,B6,B5          ; |139| 
           NOP             8
           ADD     .L2     B5,B4,B4          ; 
           STW     .D2T2   B4,*+DP(_loadVal) ; |139| 
	.line	13
           B       .S2     B3                ; |140| 
           NOP             5
           ; BRANCH OCCURS                   ; |140| 
	.endfunc	140,000000000h,0


	.sect	".text"
	.global	_main
	.sym	_main,_main, 32, 2, 0
	.func	41

;******************************************************************************
;* FUNCTION NAME: _main                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 8 Args + 0 Auto + 4 Save = 12 byte                   *
;******************************************************************************
_main:
;** --------------------------------------------------------------------------*
           STW     .D2T2   B3,*SP--(16)      ; |41| 
	.line	4
           B       .S1     _DSS_init         ; |44| 
           MVKL    .S2     RL0,B3            ; |44| 
           MVKH    .S2     RL0,B3            ; |44| 
           NOP             3
RL0:       ; CALL OCCURS                     ; |44| 
	.line	5
           B       .S1     _LOG_printf       ; |45| 
           MVKL    .S2     SL1+0,B4          ; |45| 
           MVKH    .S2     SL1+0,B4          ; |45| 
           MVKL    .S2     RL2,B3            ; |45| 
           MVKL    .S1     _trace,A4         ; |45| 

           STW     .D2T2   B4,*+SP(4)        ; |45| 
||         MVKH    .S2     RL2,B3            ; |45| 
||         MVKH    .S1     _trace,A4         ; |45| 

RL2:       ; CALL OCCURS                     ; |45| 
	.line	8
	.line	9
           LDW     .D2T2   *++SP(16),B3      ; |49| 
           NOP             4
           B       .S2     B3                ; |49| 
           NOP             5
           ; BRANCH OCCURS                   ; |49| 
	.endfunc	49,000080000h,16



	.sect	".cinit:c"
	.align	4
	.field  	0,32			; _oldLoad$1 @ 0

	.sect	".text"
	.sym	_Int, 0, 4, 13, 32
	.sect	".text"
	.global	_load
	.sym	_load,_load, 32, 2, 0
	.func	109

;******************************************************************************
;* FUNCTION NAME: _load                                                       *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,DP,SP                                   *
;*   Local Frame Size  : 16 Args + 0 Auto + 4 Save = 20 byte                  *
;******************************************************************************
_load:
;** --------------------------------------------------------------------------*
	.sym	_prd_ms,4, 4, 17, 32
_oldLoad$1:	.usect	".bss:c",4,4
	.sym	_oldLoad,_oldLoad$1, 4, 3, 32
	.sym	_prd_ms,21, 4, 4, 32
	.sym	U$2,1, 4, 4, 32
           STW     .D2T2   B3,*SP--(24)      ; |109| 
	.line	2
           MV      .L2X    A4,B5             ; |110| 
	.line	6
           LDW     .D2T1   *+DP(_loadVal),A1 ; |114| 
           LDW     .D2T2   *+DP(_oldLoad$1),B4 ; |114| 
           NOP             4
           CMPEQ   .L1X    B4,A1,A2          ; |114| 
   [ A2]   B       .S1     L1                ; |114| 
           NOP             5
           ; BRANCH OCCURS                   ; |114| 
;** --------------------------------------------------------------------------*
	.line	7
           STW     .D2T1   A1,*+DP(_oldLoad$1) ; |115| 
	.line	8
           B       .S1     _LOG_printf       ; |116| 
           MVKL    .S2     SL2+0,B4          ; |116| 
           STW     .D2T2   B5,*+SP(12)       ; |116| 
           MVKL    .S2     RL4,B3            ; |116| 

           MVKH    .S2     SL2+0,B4          ; |116| 
||         STW     .D2T1   A1,*+SP(8)        ; |116| 
||         MVKL    .S1     _trace,A4         ; |116| 

           STW     .D2T2   B4,*+SP(4)        ; |116| 
||         MVKH    .S2     RL4,B3            ; |116| 
||         MVKH    .S1     _trace,A4         ; |116| 

RL4:       ; CALL OCCURS                     ; |116| 
           LDW     .D2T1   *+DP(_loadVal),A1 ; |116| 
           NOP             4
;** --------------------------------------------------------------------------*
L1:    
	.line	12
   [!A1]   B       .S1     L2                ; |120| 
           NOP             5
           ; BRANCH OCCURS                   ; |120| 
;** --------------------------------------------------------------------------*
	.line	13
           B       .S1     _AUDIO_load       ; |121| 
           MVKL    .S2     RL6,B3            ; |121| 
           MVKH    .S2     RL6,B3            ; |121| 
           MV      .L1     A1,A4             ; |121| 
           NOP             2
RL6:       ; CALL OCCURS                     ; |121| 
;** --------------------------------------------------------------------------*
L2:    
	.line	15
           LDW     .D2T2   *++SP(24),B3      ; |123| 
           NOP             4
           B       .S2     B3                ; |123| 
           NOP             5
           ; BRANCH OCCURS                   ; |123| 
	.endfunc	123,000080000h,24


	.sect	".text"
	.sym	_error,_error, 32, 3, 0
	.func	96

;******************************************************************************
;* FUNCTION NAME: _error                                                      *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *
;*                           B7,B8,B9,SP                                      *
;*   Local Frame Size  : 8 Args + 0 Auto + 4 Save = 12 byte                   *
;******************************************************************************
_error:
;** --------------------------------------------------------------------------*
           STW     .D2T2   B3,*SP--(16)      ; |96| 
	.line	3
           B       .S1     _LOG_printf       ; |98| 
           MVKL    .S2     SL3+0,B4          ; |98| 
           MVKL    .S2     RL8,B3            ; |98| 
           MVKH    .S2     SL3+0,B4          ; |98| 
           MVKL    .S1     _trace,A4         ; |98| 

           STW     .D2T2   B4,*+SP(4)        ; |98| 
||         MVKH    .S2     RL8,B3            ; |98| 
||         MVKH    .S1     _trace,A4         ; |98| 

RL8:       ; CALL OCCURS                     ; |98| 
;** --------------------------------------------------------------------------*
L3:    
	.line	7
           B       .S1     L3                ; |102| 
           NOP             5
           ; BRANCH OCCURS                   ; |102| 
;** --------------------------------------------------------------------------*
	.line	8
	.endfunc	103,000080000h,16


	.sect	".text"
	.global	_audio
	.sym	_audio,_audio, 32, 2, 0
	.func	58

;******************************************************************************
;* FUNCTION NAME: _audio                                                      *
;*                                                                            *
;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,B0,B1,B2,B3,B4,*
;*                           B5,B6,B7,B8,B9,SP                                *
;*   Local Frame Size  : 0 Args + 0 Auto + 12 Save = 12 byte                  *
;******************************************************************************
_audio:
;** --------------------------------------------------------------------------*
	.sym	_in,4, 24, 17, 32, _PIP_Obj
	.sym	_out,20, 24, 17, 32, _PIP_Obj
	.sym	C$1,3, 14, 4, 32
	.sym	_size,16, 4, 4, 32
	.sym	_dst,0, 30, 4, 32
	.sym	_src,4, 30, 4, 32
	.sym	_in,10, 24, 4, 32, _PIP_Obj
	.sym	_out,11, 24, 4, 32, _PIP_Obj
	.sym	L$1,16, 4, 4, 32
	.sym	U$23,4, 30, 4, 32
	.sym	U$21,0, 30, 4, 32
           STW     .D2T2   B3,*SP--(16)      ; |58| 
           STW     .D2T1   A10,*+SP(8)       ; |58| 
           STW     .D2T1   A11,*+SP(12)      ; |58| 
	.line	2

           MV      .L1     A4,A10            ; 
||         MV      .S1X    B4,A11            ; 

	.line	8
           LDW     .D1T1   *+A10(24),A1      ; |65| 
           NOP             4
   [!A1]   B       .S1     L4                ; |65| 
           NOP             5
           ; BRANCH OCCURS                   ; |65| 
;** --------------------------------------------------------------------------*
           LDW     .D1T1   *+A11(72),A1      ; |65| 
           NOP             4
   [ A1]   B       .S1     L5                ; |65| 
           NOP             5
           ; BRANCH OCCURS                   ; |65| 
;** --------------------------------------------------------------------------*
L4:    
;***	; the preceding call never returns
	.line	10
           B       .S1     _error            ; |67| 
           MVKL    .S2     RL10,B3           ; |67| 
           MVKH    .S2     RL10,B3           ; |67| 
           NOP             3
RL10:      ; CALL OCCURS                     ; |67| 
;** --------------------------------------------------------------------------*
L5:    
	.line	14
           B       .S1     _PIP_get          ; |71| 
           MVKL    .S2     RL12,B3           ; |71| 
           MVKH    .S2     RL12,B3           ; |71| 
           MV      .L1     A10,A4            ; |71| 
           NOP             2
RL12:      ; CALL OCCURS                     ; |71| 
	.line	15
           B       .S1     _PIP_alloc        ; |72| 
           MVKL    .S2     RL14,B3           ; |72| 
           MV      .L1     A11,A4            ; |72| 
           MVKH    .S2     RL14,B3           ; |72| 
           NOP             2
RL14:      ; CALL OCCURS                     ; |72| 
	.line	18
           LDW     .D1T1   *+A10(8),A4       ; |75| 
	.line	19
           LDW     .D1T1   *+A11(56),A0      ; |76| 
	.line	21
           LDW     .D1T1   *+A10(12),A3      ; |78| 
           NOP             4
           MV      .L2X    A3,B0             ; |78| 
	.line	22
           STW     .D1T1   A3,*+A11(60)      ; |79| 
	.line	25
           CMPGT   .L2     B0,0,B1           ; |82| 
   [!B1]   B       .S1     L9                ; |82| 
           NOP             5
           ; BRANCH OCCURS                   ; |82| 
;** --------------------------------------------------------------------------*
	.line	27
           MVC     .S2     CSR,B6
           AND     .L2     -2,B6,B5

           MV      .L2X    A4,B4
||         MVC     .S2     B5,CSR            ; interrupts off

;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*
;*      Known Minimum Trip Count         : 1
;*      Known Max Trip Count Factor      : 1
;*      Loop Carried Dependency Bound(^) : 7
;*      Unpartitioned Resource Bound     : 1
;*      Partitioned Resource Bound(*)    : 1
;*      Resource Partition:
;*                                A-side   B-side
;*      .L units                     0        0     
;*      .S units                     1*       0     
;*      .D units                     1*       1*    
;*      .M units                     0        0     
;*      .X cross paths               0        1*    
;*      .T address paths             1*       1*    
;*      Long read paths              0        1*    
;*      Long write paths             0        0     
;*      Logical  ops (.LS)           0        1     (.L or .S unit)
;*      Addition ops (.LSD)          0        1     (.L or .S or .D unit)
;*      Bound(.L .S .LS)             1*       1*    
;*      Bound(.L .S .D .LS .LSD)     1*       1*    
;*
;*      Searching for software pipeline schedule at ...
;*         ii = 7  Schedule found with 1 iterations in parallel
;*      done
;*
;*      Collapsed epilog stages     : 0
;*      Collapsed prolog stages     : 0
;*
;*      Minimum safe trip count     : 1
;*----------------------------------------------------------------------------*
;*   SINGLE SCHEDULED ITERATION
;*
;*   C46:
;*              LDW     .D1T1   *A0++,A3          ;  ^ |84| 
;*   || [ B0]   SUB     .L2     B0,1,B0           ; |85| 
;*      [ B0]   B       .S1     C46               ; |85| 
;*              NOP             3
;*              MV      .L2X    A3,B5             ;  ^ Define a twin register
;*              STW     .D2T2   B5,*B4++          ;  ^ |84| 
;*              ; BRANCH OCCURS                   ; |85| 
;*----------------------------------------------------------------------------*
L6:    ; PIPED LOOP PROLOG
;** --------------------------------------------------------------------------*
L7:    ; PIPED LOOP KERNEL

   [ B0]   SUB     .L2     B0,1,B0           ; |85| 
||         LDW     .D1T1   *A0++,A3          ;  ^ |84| 

   [ B0]   B       .S1     L7                ; |85| 
           NOP             3
           MV      .L2X    A3,B5             ;  ^ Define a twin register
           STW     .D2T2   B5,*B4++          ;  ^ |84| 
;** --------------------------------------------------------------------------*
L8:    ; PIPED LOOP EPILOG
;** --------------------------------------------------------------------------*
           MVC     .S2     B6,CSR            ; interrupts on
;** --------------------------------------------------------------------------*
L9:    
	.line	31
           B       .S1     _PIP_put          ; |88| 
           MVKL    .S2     RL16,B3           ; |88| 
           MVKH    .S2     RL16,B3           ; |88| 
           MV      .L1     A11,A4            ; |88| 
           NOP             2
RL16:      ; CALL OCCURS                     ; |88| 
	.line	32
           B       .S1     _PIP_free         ; |89| 
           MVKL    .S2     RL18,B3           ; |89| 
           MV      .L1     A10,A4            ; |89| 
           MVKH    .S2     RL18,B3           ; |89| 
           NOP             2
RL18:      ; CALL OCCURS                     ; |89| 
	.line	33
           LDW     .D2T1   *+SP(12),A11      ; |90| 
           LDW     .D2T1   *+SP(8),A10       ; |90| 
           LDW     .D2T2   *++SP(16),B3      ; |90| 
           NOP             4
           B       .S2     B3                ; |90| 
           NOP             5
           ; BRANCH OCCURS                   ; |90| 
	.endfunc	90,000080c00h,16


;******************************************************************************
;* MARK THE END OF THE SCALAR INIT RECORD IN CINIT:C                          *
;******************************************************************************
CIR:	.sect	".cinit:c"
;******************************************************************************
;* STRINGS                                                                    *
;******************************************************************************
	.sect	".const"
SL1:	.string	"Audio example started!!",10,0
SL2:	.string	"load: new load = %d000 instructions every %d ms",0
SL3:	.string	"Error: audio signal falsely triggered!",0
;******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                              *
;******************************************************************************
	.global	_PIP_alloc
	.global	_PIP_free
	.global	_PIP_get
	.global	_PIP_put
	.global	_LOG_printf
	.global	_DSS_init
	.global	_AUDIO_load
	.global	_trace
