;****************************************************************************** ;* TMS320C6x ANSI C Codegen Version 4.10 Beta (May 4 2001) * ;* Date/Time created: Tue May 29 13:14:14 2001 * ;****************************************************************************** ;****************************************************************************** ;* GLOBAL FILE PARAMETERS * ;* * ;* Architecture : TMS320C620x * ;* Optimization : Enabled at level 2 * ;* Optimizing for : Speed * ;* Based on options: -o2, no -ms * ;* Endian : Little * ;* Interrupt Thrshld : Disabled * ;* Memory Model : Large * ;* Calls to RTS : Near * ;* Pipelining : Enabled * ;* Speculative Load : Disabled * ;* Memory Aliases : Presume are aliases (pessimistic) * ;* Debug Info : Debug * ;* * ;****************************************************************************** .asg A15, FP .asg B14, DP .asg B15, SP .global $bss .file "blink.c" .global _hTimer .bss _hTimer,4,4 .sym _hTimer,_hTimer, 24, 2, 32, $$fake0 .sect ".cinit" .align 8 .field IR_1,32 .field _myTimerConfig+0,32 .field 768,32 ; _myTimerConfig._ctl @ 0 .field -1,32 ; _myTimerConfig._prd @ 32 .field 0,32 ; _myTimerConfig._cnt @ 64 IR_1: .set 12 .sect ".text" .global _myTimerConfig _myTimerConfig: .usect .far,12,4 .sym _myTimerConfig,_myTimerConfig, 8, 2, 96, $$fake1 ; C:\TI\C6000\CGTOOLS\BIN\opt6x.exe -s -O2 C:\WINDOWS\TEMP\TI15768831_2 C:\WINDOWS\TEMP\TI15768831_4 .sect ".text" .global _main .sym _main,_main, 32, 2, 0 .func 45 ;****************************************************************************** ;* FUNCTION NAME: _main * ;* * ;* Regs Modified : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, * ;* B6,B7,B8,B9,B10,SP * ;* Regs Used : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,B0,B1,B2,B3,B4,B5, * ;* B6,B7,B8,B9,B10,DP,SP * ;* Local Frame Size : 0 Args + 0 Auto + 12 Save = 12 byte * ;****************************************************************************** _main: ;** --------------------------------------------------------------------------* .line 2 .sym C$3,0, 30, 4, 32 .sym C$4,20, 30, 4, 32 .sym C$5,20, 30, 4, 32 .sym C$6,20, 14, 4, 32 .sym C$7,0, 14, 4, 32 .sym Y$0,4, 24, 4, 32, $$fake0 .sym a$1,20, 14, 4, 32 .sym _x2,20, 4, 4, 32 .sym _x1,3, 4, 4, 32 .sym _x0,0, 4, 4, 32 .sym _base,21, 30, 4, 32 .sym _gie,22, 14, 4, 32 .sym _gie,21, 14, 4, 32 .sym L$1,1, 4, 4, 32 .sym K$78,10, 14, 4, 32 .sym K$3,26, 14, 4, 32 .sym U$10,4, 30, 4, 32 .sym K$0,3, 14, 4, 32 ;** 121 ----------------------- _CSL6711_LIB_(); // [12] ;** 126 ----------------------- _CSL_init((union $$fake2 *)(void *)0xffffffffu); // [12] ;** 51 ----------------------- BSL_init(); ;** 250 ----------------------- CSR; // [2] ;** 251 ----------------------- CSR = CSR&0xfffffffeu; // [2] ;** 55 ----------------------- L$1 = 32; ;** ----------------------- U$10 = &_IRQ_eventTable[0]; ;** 126 ----------------------- K$0 = 0xffffffffu; // [12] ;** ----------------------- #pragma MUST_ITERATE(32, 32, 32) STW .D2T2 B10,*SP--(16) ; |46| STW .D2T1 A10,*+SP(8) ; |46| STW .D2T2 B3,*+SP(12) ; |46| MVKL .S1 _CSL6711_LIB_,A0 ; |121| MVKH .S1 _CSL6711_LIB_,A0 ; |121| B .S2X A0 ; |121| MVKL .S2 RL0,B3 ; |121| MVKH .S2 RL0,B3 ; |121| NOP 3 RL0: ; CALL OCCURS ; |121| MVKL .S1 __CSL_init,A0 ; |126| MVKH .S1 __CSL_init,A0 ; |126| B .S2X A0 ; |126| MVKL .S2 RL2,B3 ; |126| MVKH .S2 RL2,B3 ; |126| MVK .S1 0xffffffff,A4 ; |126| NOP 2 RL2: ; CALL OCCURS ; |126| .line 7 MVKL .S2 _BSL_init,B4 ; |51| MVKH .S2 _BSL_init,B4 ; |51| B .S2 B4 ; |51| MVKL .S2 RL4,B3 ; |51| MVKH .S2 RL4,B3 ; |51| NOP 3 RL4: ; CALL OCCURS ; |51| MVC .S2 CSR,B4 ; |250| MVC .S2 CSR,B4 ; |251| AND .S2 -2,B4,B4 ; |251| MVC .S2 B4,CSR ; |251| .line 11 MVKL .S1 __IRQ_eventTable,A4 MVKH .S1 __IRQ_eventTable,A4 MVK .S1 0x20,A1 ; |55| MVK .S1 0xffffffff,A3 ; |126| ;*----------------------------------------------------------------------------* ;* SOFTWARE PIPELINE INFORMATION ;* Disqualified loop: bad loop structure ;*----------------------------------------------------------------------------* L1: ;** -----------------------g2: ;** 220 ----------------------- IER; // [0] ;** 221 ----------------------- C$7 = *U$10++; // [0] ;** 221 ----------------------- a$1 = (C$7^K$0)&IER; // [0] ;** 221 ----------------------- IER = a$1; // [0] ;** 238 ----------------------- ICR = C$7; // [1] ;** 58 ----------------------- if ( --L$1 ) goto g2; MVC .S2 IER,B4 ; |220| LDW .D1T1 *A4++,A0 ; |221| NOP 4 MVC .S2 IER,B4 ; |221| || XOR .S1 A3,A0,A5 ; |221| AND .S2X B4,A5,B4 ; |221| MVC .S2 B4,IER ; |221| MVC .S2X A0,ICR ; |238| .line 14 SUB .D1 A1,1,A1 ; |58| [ A1] B .S1 L1 ; |58| NOP 5 ; BRANCH OCCURS ; |58| ;** --------------------------------------------------------------------------* ;** 250 ----------------------- gie = CSR&1u; // [2] ;** 251 ----------------------- CSR = CSR&(K$3 = 0xfffffffeu); // [2] ;** 150 ----------------------- *(volatile unsigned *)0x1800000u = 13056u; // [13] ;** 151 ----------------------- *(volatile unsigned *)0x1800008u = 0xffffff30u; // [13] ;** 152 ----------------------- *(volatile unsigned *)0x1800004u = C$6 = 0xffffff23u; // [13] ;** 153 ----------------------- *(volatile unsigned *)0x1800010u = C$6; // [13] ;** 154 ----------------------- *(volatile unsigned *)0x1800014u = C$6; // [13] ;** 155 ----------------------- *(volatile unsigned *)0x1800018u = 0x7117000u; // [13] ;** 156 ----------------------- *(volatile unsigned *)0x180001cu = 1562u; // [13] ;** 157 ----------------------- *(volatile unsigned *)0x1800020u = 345369u; // [13] ;** 256 ----------------------- CSR = CSR&K$3|gie&1u; // [3] ;** 75 ----------------------- hTimer = Y$0 = TIMER_open((-1), 1u); ;** 177 ----------------------- base = Y$0->baseAddr; // [9] ;** 250 ----------------------- gie = CSR&1u; // [2] ;** 251 ----------------------- CSR = CSR&K$3; // [2] ;** 182 ----------------------- x0 = myTimerConfig.ctl; // [9] ;** 183 ----------------------- x1 = myTimerConfig.prd; // [9] ;** 184 ----------------------- x2 = myTimerConfig.cnt; // [9] ;** 186 ----------------------- *base = 0u; // [9] ;** 187 ----------------------- base[1] = x1; // [9] ;** 188 ----------------------- base[2] = x2; // [9] ;** 189 ----------------------- *base = x0; // [9] ;** 256 ----------------------- CSR = CSR&K$3|gie&1u; // [3] ;** 134 ----------------------- C$5 = Y$0->baseAddr; // [5] ;** 134 ----------------------- *(volatile unsigned *)(unsigned)C$5 = *(volatile unsigned *)(unsigned)C$5|0x80u; // [5] ;** 135 ----------------------- C$4 = Y$0->baseAddr; // [5] ;** 135 ----------------------- *(volatile unsigned *)(unsigned)C$4 = *(volatile unsigned *)(unsigned)C$4|0x40u; // [5] ;** 139 ----------------------- C$3 = Y$0->baseAddr; // [6] ;** 139 ----------------------- *(volatile unsigned *)(unsigned)C$3 = *(volatile unsigned *)(unsigned)C$3&0xffffff7fu; // [6] ;** 83 ----------------------- delay_msec(50u); ;** 84 ----------------------- LED_off(7u); ;** 85 ----------------------- delay_msec(500u); ;** 87 ----------------------- LED_on(1u); ;** 88 ----------------------- delay_msec(500u); ;** 90 ----------------------- LED_off(7u); ;** 91 ----------------------- LED_on(2u); ;** 92 ----------------------- delay_msec(500u); ;** 94 ----------------------- LED_off(7u); ;** 95 ----------------------- LED_on(1u); MVC .S2 CSR,B4 ; |250| AND .S2 1,B4,B5 ; |250| MVK .S2 0xfffffffe,B10 ; |251| MVC .S2 CSR,B4 ; |251| AND .S2 B10,B4,B4 ; |251| MVC .S2 B4,CSR ; |251| ZERO .D2 B4 ; |150| MVKH .S2 0x1800000,B4 ; |150| || MVK .S1 13056,A0 ; |150| STW .D2T1 A0,*B4 ; |150| MVKL .S1 0x1800008,A0 ; |151| MVK .S2 -208,B4 ; |151| || MVKH .S1 0x1800008,A0 ; |151| STW .D1T2 B4,*A0 ; |151| MVKL .S2 0x1800004,B6 ; |152| MVKH .S2 0x1800004,B6 ; |152| MVK .S2 0xffffff23,B4 ; |152| STW .D2T2 B4,*B6 ; |152| MVKL .S1 0x1800010,A0 ; |153| MVKH .S1 0x1800010,A0 ; |153| STW .D1T2 B4,*A0 ; |153| MVKL .S1 0x1800014,A0 ; |154| MVKH .S1 0x1800014,A0 ; |154| STW .D1T2 B4,*A0 ; |154| MVKL .S2 0x7117000,B4 ; |155| || MVKL .S1 0x1800018,A0 ; |155| MVKH .S2 0x7117000,B4 ; |155| || MVKH .S1 0x1800018,A0 ; |155| STW .D1T2 B4,*A0 ; |155| MVK .S2 1562,B6 ; |156| MVKL .S2 0x180001c,B4 ; |156| MVKH .S2 0x180001c,B4 ; |156| STW .D2T2 B6,*B4 ; |156| MVKL .S1 0x1800020,A3 ; |157| MVKH .S1 0x1800020,A3 ; |157| MVKL .S1 0x54519,A0 ; |157| MVKH .S1 0x54519,A0 ; |157| STW .D1T1 A0,*A3 ; |157| MVC .S2 CSR,B4 ; |256| AND .S2 1,B5,B5 ; |256| || AND .L2 B10,B4,B4 ; |256| OR .S2 B5,B4,B4 ; |256| MVC .S2 B4,CSR ; |256| .line 31 MVKL .S1 _TIMER_open,A0 ; |75| MVKH .S1 _TIMER_open,A0 ; |75| B .S2X A0 ; |75| MVKL .S2 RL6,B3 ; |75| MVKH .S2 RL6,B3 ; |75| MVK .S2 0x1,B4 ; |75| MVK .S1 0xffffffff,A4 ; |75| NOP 1 RL6: ; CALL OCCURS ; |75| STW .D2T1 A4,*+DP(_hTimer) ; |75| LDW .D1T2 *+A4(8),B5 ; |177| MVC .S2 CSR,B4 ; |250| AND .S2 1,B4,B6 ; |250| MVC .S2 CSR,B4 ; |251| AND .S2 B10,B4,B4 ; |251| MVC .S2 B4,CSR ; |251| MVKL .S1 _myTimerConfig,A0 ; |182| MVKH .S1 _myTimerConfig,A0 ; |182| LDW .D1T1 *A0,A0 ; |182| MVKL .S1 _myTimerConfig+4,A3 ; |183| MVKH .S1 _myTimerConfig+4,A3 ; |183| LDW .D1T1 *A3,A3 ; |183| MVKL .S2 _myTimerConfig+8,B4 ; |184| MVKH .S2 _myTimerConfig+8,B4 ; |184| LDW .D2T2 *B4,B4 ; |184| NOP 1 ZERO .D2 B7 ; |186| STW .D2T2 B7,*B5 ; |186| STW .D2T1 A3,*+B5(4) ; |187| STW .D2T2 B4,*+B5(8) ; |188| STW .D2T1 A0,*B5 ; |189| MVC .S2 CSR,B4 ; |256| AND .S2 B10,B4,B4 ; |256| || AND .L2 1,B6,B5 ; |256| OR .S2 B5,B4,B4 ; |256| MVC .S2 B4,CSR ; |256| LDW .D1T2 *+A4(8),B4 ; |134| NOP 4 LDW .D2T2 *B4,B5 ; |134| NOP 4 SET .S2 B5,7,7,B5 ; |134| STW .D2T2 B5,*B4 ; |134| LDW .D1T2 *+A4(8),B4 ; |135| NOP 4 LDW .D2T2 *B4,B5 ; |135| NOP 4 SET .S2 B5,6,6,B5 ; |135| STW .D2T2 B5,*B4 ; |135| LDW .D1T1 *+A4(8),A0 ; |139| NOP 4 LDW .D1T1 *A0,A3 ; |139| NOP 4 CLR .S1 A3,7,7,A3 ; |139| STW .D1T1 A3,*A0 ; |139| .line 39 B .S1 _delay_msec ; |83| MVKL .S2 RL8,B3 ; |83| MVKH .S2 RL8,B3 ; |83| MVK .S1 0x32,A4 ; |83| NOP 2 RL8: ; CALL OCCURS ; |83| .line 40 MVKL .S1 _LED_off,A0 ; |84| MVKH .S1 _LED_off,A0 ; |84| B .S2X A0 ; |84| MVKL .S2 RL10,B3 ; |84| MVKH .S2 RL10,B3 ; |84| MVK .S1 0x7,A4 ; |84| NOP 2 RL10: ; CALL OCCURS ; |84| .line 41 B .S1 _delay_msec ; |85| MVKL .S2 RL12,B3 ; |85| MVKH .S2 RL12,B3 ; |85| MVK .S1 0x1f4,A4 ; |85| NOP 2 RL12: ; CALL OCCURS ; |85| .line 43 MVKL .S1 _LED_on,A0 ; |87| MVKH .S1 _LED_on,A0 ; |87| B .S2X A0 ; |87| MVKL .S2 RL14,B3 ; |87| MVKH .S2 RL14,B3 ; |87| MVK .S1 0x1,A4 ; |87| NOP 2 RL14: ; CALL OCCURS ; |87| .line 44 B .S1 _delay_msec ; |88| MVKL .S2 RL16,B3 ; |88| MVKH .S2 RL16,B3 ; |88| MVK .S1 0x1f4,A4 ; |88| NOP 2 RL16: ; CALL OCCURS ; |88| .line 46 MVKL .S1 _LED_off,A0 ; |90| MVKH .S1 _LED_off,A0 ; |90| B .S2X A0 ; |90| MVKL .S2 RL18,B3 ; |90| MVKH .S2 RL18,B3 ; |90| MVK .S1 0x7,A4 ; |90| NOP 2 RL18: ; CALL OCCURS ; |90| .line 47 MVKL .S1 _LED_on,A0 ; |91| MVKH .S1 _LED_on,A0 ; |91| B .S2X A0 ; |91| MVKL .S2 RL20,B3 ; |91| MVKH .S2 RL20,B3 ; |91| MVK .S1 0x2,A4 ; |91| NOP 2 RL20: ; CALL OCCURS ; |91| .line 48 B .S1 _delay_msec ; |92| MVKL .S2 RL22,B3 ; |92| MVKH .S2 RL22,B3 ; |92| MVK .S1 0x1f4,A4 ; |92| NOP 2 RL22: ; CALL OCCURS ; |92| .line 50 MVKL .S1 _LED_off,A0 ; |94| MVKH .S1 _LED_off,A0 ; |94| B .S2X A0 ; |94| MVKL .S2 RL24,B3 ; |94| MVKH .S2 RL24,B3 ; |94| MVK .S1 0x7,A4 ; |94| NOP 2 RL24: ; CALL OCCURS ; |94| .line 51 MVKL .S1 _LED_on,A0 ; |95| MVKH .S1 _LED_on,A0 ; |95| B .S2X A0 ; |95| MVKL .S2 RL26,B3 ; |95| MVKH .S2 RL26,B3 ; |95| MVK .S1 0x1,A4 ; |95| NOP 2 RL26: ; CALL OCCURS ; |95| ;** --------------------------------------------------------------------------* ;** 96 ----------------------- LED_on(2u); ;** 97 ----------------------- delay_msec(500u); ;** 99 ----------------------- LED_off(7u); ;** 100 ----------------------- LED_on(4u); ;** 101 ----------------------- delay_msec(500u); ;** 103 ----------------------- LED_off(7u); ;** 104 ----------------------- LED_on(1u); ;** 105 ----------------------- LED_on(4u); ;** 106 ----------------------- delay_msec(500u); ;** 108 ----------------------- LED_off(7u); ;** 109 ----------------------- LED_on(2u); .line 52 MVKL .S1 _LED_on,A0 ; |96| MVKH .S1 _LED_on,A0 ; |96| B .S2X A0 ; |96| MVKL .S2 RL28,B3 ; |96| MVKH .S2 RL28,B3 ; |96| MVK .S1 0x2,A4 ; |96| NOP 2 RL28: ; CALL OCCURS ; |96| .line 53 B .S1 _delay_msec ; |97| MVKL .S2 RL30,B3 ; |97| MVKH .S2 RL30,B3 ; |97| MVK .S1 0x1f4,A4 ; |97| NOP 2 RL30: ; CALL OCCURS ; |97| .line 55 MVKL .S1 _LED_off,A0 ; |99| MVKH .S1 _LED_off,A0 ; |99| B .S2X A0 ; |99| MVKL .S2 RL32,B3 ; |99| MVKH .S2 RL32,B3 ; |99| MVK .S1 0x7,A4 ; |99| NOP 2 RL32: ; CALL OCCURS ; |99| .line 56 MVKL .S1 _LED_on,A0 ; |100| MVKH .S1 _LED_on,A0 ; |100| B .S2X A0 ; |100| MVKL .S2 RL34,B3 ; |100| MVKH .S2 RL34,B3 ; |100| MVK .S1 0x4,A4 ; |100| NOP 2 RL34: ; CALL OCCURS ; |100| .line 57 B .S1 _delay_msec ; |101| MVKL .S2 RL36,B3 ; |101| MVKH .S2 RL36,B3 ; |101| MVK .S1 0x1f4,A4 ; |101| NOP 2 RL36: ; CALL OCCURS ; |101| .line 59 MVKL .S2 _LED_off,B4 ; |103| MVKH .S2 _LED_off,B4 ; |103| B .S2 B4 ; |103| MVKL .S2 RL38,B3 ; |103| MVKH .S2 RL38,B3 ; |103| MVK .S1 0x7,A4 ; |103| NOP 2 RL38: ; CALL OCCURS ; |103| .line 60 MVKL .S1 _LED_on,A0 ; |104| MVKH .S1 _LED_on,A0 ; |104| B .S2X A0 ; |104| MVKL .S2 RL40,B3 ; |104| MVKH .S2 RL40,B3 ; |104| MVK .S1 0x1,A4 ; |104| NOP 2 RL40: ; CALL OCCURS ; |104| .line 61 MVKL .S1 _LED_on,A0 ; |105| MVKH .S1 _LED_on,A0 ; |105| B .S2X A0 ; |105| MVKL .S2 RL42,B3 ; |105| MVKH .S2 RL42,B3 ; |105| MVK .S1 0x4,A4 ; |105| NOP 2 RL42: ; CALL OCCURS ; |105| .line 62 B .S1 _delay_msec ; |106| MVKL .S2 RL44,B3 ; |106| MVKH .S2 RL44,B3 ; |106| MVK .S1 0x1f4,A4 ; |106| NOP 2 RL44: ; CALL OCCURS ; |106| .line 64 MVKL .S2 _LED_off,B4 ; |108| MVKH .S2 _LED_off,B4 ; |108| B .S2 B4 ; |108| MVKL .S2 RL46,B3 ; |108| MVKH .S2 RL46,B3 ; |108| MVK .S1 0x7,A4 ; |108| NOP 2 RL46: ; CALL OCCURS ; |108| .line 65 MVKL .S1 _LED_on,A0 ; |109| MVKH .S1 _LED_on,A0 ; |109| B .S2X A0 ; |109| MVKL .S2 RL48,B3 ; |109| MVKH .S2 RL48,B3 ; |109| MVK .S1 0x2,A4 ; |109| NOP 2 RL48: ; CALL OCCURS ; |109| ;** --------------------------------------------------------------------------* ;** 110 ----------------------- LED_on(4u); ;** 111 ----------------------- delay_msec(500u); ;** 111 ----------------------- K$78 = 500u; .line 66 MVKL .S1 _LED_on,A0 ; |110| MVKH .S1 _LED_on,A0 ; |110| B .S2X A0 ; |110| MVKL .S2 RL50,B3 ; |110| MVKH .S2 RL50,B3 ; |110| MVK .S1 0x4,A4 ; |110| NOP 2 RL50: ; CALL OCCURS ; |110| .line 67 B .S1 _delay_msec ; |111| MVKL .S2 RL52,B3 ; |111| MVKH .S2 RL52,B3 ; |111| MVK .S1 0x1f4,A4 ; |111| NOP 2 RL52: ; CALL OCCURS ; |111| MVK .S1 0x1f4,A10 ; |111| ;*----------------------------------------------------------------------------* ;* SOFTWARE PIPELINE INFORMATION ;* Disqualified loop: loop contains a call ;*----------------------------------------------------------------------------* L2: ;** -----------------------g5: ;** 117 ----------------------- LED_off(7u); ;** 118 ----------------------- delay_msec(K$78); ;** 119 ----------------------- LED_on(7u); ;** 120 ----------------------- delay_msec(K$78); ;** 121 ----------------------- goto g5; .line 73 MVKL .S2 _LED_off,B4 ; |117| MVKH .S2 _LED_off,B4 ; |117| B .S2 B4 ; |117| MVKL .S2 RL54,B3 ; |117| MVKH .S2 RL54,B3 ; |117| MVK .S1 0x7,A4 ; |117| NOP 2 RL54: ; CALL OCCURS ; |117| .line 74 B .S1 _delay_msec ; |118| MVKL .S2 RL56,B3 ; |118| MV .D1 A10,A4 ; |118| MVKH .S2 RL56,B3 ; |118| NOP 2 RL56: ; CALL OCCURS ; |118| .line 75 MVKL .S1 _LED_on,A0 ; |119| MVKH .S1 _LED_on,A0 ; |119| B .S2X A0 ; |119| MVKL .S2 RL58,B3 ; |119| MVKH .S2 RL58,B3 ; |119| MVK .S1 0x7,A4 ; |119| NOP 2 RL58: ; CALL OCCURS ; |119| .line 76 B .S1 _delay_msec ; |120| MVKL .S2 RL60,B3 ; |120| MV .D1 A10,A4 ; |120| MVKH .S2 RL60,B3 ; |120| NOP 2 RL60: ; CALL OCCURS ; |120| .line 77 B .S1 L2 ; |121| NOP 5 ; BRANCH OCCURS ; |121| ;** --------------------------------------------------------------------------* .endfunc 122,004080400h,16 .sect ".text" .global _delay_msec .sym _delay_msec,_delay_msec, 32, 2, 0 .func 138 ;****************************************************************************** ;* FUNCTION NAME: _delay_msec * ;* * ;* Regs Modified : A0,A1,A3,A4,A5,A6,B4,B5 * ;* Regs Used : A0,A1,A3,A4,A5,A6,B3,B4,B5,DP * ;* Local Frame Size : 0 Args + 0 Auto + 0 Save = 0 byte * ;****************************************************************************** _delay_msec: ;** --------------------------------------------------------------------------* .line 1 .sym _msec,4, 14, 17, 32 .sym C$4,21, 24, 4, 32, $$fake0 .sym C$5,20, 30, 4, 32 .sym _timer_start,4, 14, 4, 32 .sym _timer_limit,3, 14, 4, 32 .sym R$3,0, 14, 4, 32 .sym R$2,5, 14, 4, 32 .sym R$1,5, 14, 4, 32 .sym _msec,4, 14, 4, 32 .sym U$13,0, 30, 4, 32 .sym U$9,6, 30, 4, 32 ;** 143 ----------------------- timer_limit = msec*37500u; ;** 167 ----------------------- C$4 = hTimer; // [8] ;** 167 ----------------------- C$5 = C$4->baseAddr; // [8] ;** 167 ----------------------- R$3 = *(volatile unsigned *)(unsigned)(C$5+8); // [8] ;** 167 ----------------------- timer_start = R$3; // [8] ;** 143 ----------------------- U$13 = (volatile unsigned *)(unsigned)C$5; // [7] ;** 143 ----------------------- *U$13 = *U$13|0x80u; // [7] ;** 167 ----------------------- U$9 = (volatile unsigned *)(unsigned)(C$4->baseAddr+8); // [8] ;** 167 ----------------------- R$2 = *U$9; // [8] ;** 167 ----------------------- if ( R$2-timer_start >= timer_limit ) goto g4; // [8] .line 6 MVKL .S1 0x927c,A0 ; |143| MVKH .S1 0x927c,A0 ; |143| MPYLHU .M1 A0,A4,A3 ; |143| MPYU .M1 A0,A4,A0 ; |143| SHL .S1 A3,16,A3 ; |143| ADD .D1 A0,A3,A3 ; |143| LDW .D2T2 *+DP(_hTimer),B5 ; |167| NOP 4 LDW .D2T2 *+B5(8),B4 ; |167| NOP 4 LDW .D2T1 *+B4(8),A4 MV .S1X B4,A0 ; |143| LDW .D1T2 *A0,B4 ; |143| NOP 4 SET .S2 B4,7,7,B4 ; |143| STW .D1T2 B4,*A0 ; |143| LDW .D2T2 *+B5(8),B4 ; |167| NOP 4 ADD .S1X 8,B4,A6 ; |167| LDW .D1T1 *A6,A5 ; |167| NOP 4 SUB .D1 A5,A4,A5 ; |167| CMPLTU .L1 A5,A3,A1 ; |167| [!A1] B .S1 L4 ; |167| [ A1] LDW .D1T1 *A6,A5 ; |167| NOP 4 ; BRANCH OCCURS ; |167| ;** -----------------------g3: ;** 167 ----------------------- R$1 = *U$9; // [8] ;** 167 ----------------------- if ( R$1-timer_start < timer_limit ) goto g3; // [8] ;*----------------------------------------------------------------------------* ;* SOFTWARE PIPELINE INFORMATION ;* ;* Loop source line : 146 ;* Loop opening brace source line : 0 ;* Loop closing brace source line : 0 ;* Known Minimum Trip Count : 1 ;* Known Max Trip Count Factor : 1 ;* Loop Carried Dependency Bound(^) : 8 ;* Unpartitioned Resource Bound : 1 ;* Partitioned Resource Bound(*) : 1 ;* Resource Partition: ;* A-side B-side ;* .L units 1* 0 ;* .S units 0 1* ;* .D units 1* 0 ;* .M units 0 0 ;* .X cross paths 0 0 ;* .T address paths 1* 0 ;* Long read paths 0 0 ;* Long write paths 0 0 ;* Logical ops (.LS) 0 0 (.L or .S unit) ;* Addition ops (.LSD) 1 1 (.L or .S or .D unit) ;* Bound(.L .S .LS) 1* 1* ;* Bound(.L .S .D .LS .LSD) 1* 1* ;* ;* Disqualified loop: Loop carried dependency bound too large ;*----------------------------------------------------------------------------* L3: SUB .D1 A5,A4,A5 ; |167| CMPLTU .L1 A5,A3,A1 ; |167| [ A1] B .S1 L3 ; |167| [ A1] LDW .D1T1 *A6,A5 ; |167| NOP 4 ; BRANCH OCCURS ; |167| ;** --------------------------------------------------------------------------* L4: ;** -----------------------g4: ;** 139 ----------------------- *U$13 = *U$13&0xffffff7fu; // [6] ;** 147 ----------------------- return; LDW .D1T1 *A0,A3 ; |139| NOP 4 CLR .S1 A3,7,7,A3 ; |139| STW .D1T1 A3,*A0 ; |139| .line 10 .line 11 B .S2 B3 ; |148| NOP 5 ; BRANCH OCCURS ; |148| .endfunc 148,000000000h,0 ;; Inlined function references: ;; [ 0] IRQ_disable ;; [ 1] IRQ_clear ;; [ 2] IRQ_globalDisable ;; [ 3] IRQ_globalRestore ;; [ 5] TIMER_start ;; [ 6] TIMER_pause ;; [ 7] TIMER_resume ;; [ 8] TIMER_getCount ;; [ 9] TIMER_config ;; [ 12] CSL_init ;; [ 13] EMIF_configArgs ;****************************************************************************** ;* UNDEFINED EXTERNAL REFERENCES * ;****************************************************************************** .global _TIMER_open .global __CSL_init .global _CSL6711_LIB_ .global _LED_off .global _LED_on .global _BSL_init .global __IRQ_eventTable ;****************************************************************************** ;* TYPE INFORMATION * ;****************************************************************************** .sym _Uint32, 0, 14, 13, 32 .sym _Uint32, 0, 14, 13, 32 .stag $$fake0, 96 .member _allocated, 0, 14, 8, 32 .member _eventId, 32, 14, 8, 32 .member _baseAddr, 64, 30, 8, 32 .eos .sym _TIMER_Handle, 0, 24, 13, 32,$$fake0 .stag $$fake1, 96 .member _ctl, 0, 14, 8, 32 .member _prd, 32, 14, 8, 32 .member _cnt, 64, 14, 8, 32 .eos .sym _TIMER_Config, 0, 8, 13, 96,$$fake1 .stag $$fake4, 128 .member _funcAddr, 0, 16, 8, 32 .member _funcArg, 32, 14, 8, 32 .member _ccMask, 64, 14, 8, 32 .member _ieMask, 96, 14, 8, 32 .eos .sym __IRQ_Dispatch, 0, 8, 13, 128,$$fake4 .stag $$fake3, 128 .member _biosPresent, 0, 14, 8, 32 .member _dispatchTable, 32, 24, 8, 32, $$fake4 .member _timerUsed, 64, 14, 8, 32 .member _timerNum, 96, 14, 8, 32 .eos .stag $$fake5, 96 .member _hTimer, 0, 24, 8, 32, $$fake0 .member _event2IntTbl, 32, 30, 8, 32 .member _int2EventTbl, 64, 30, 8, 32 .eos .utag $$fake2, 128 .member _args, 0, 8, 11, 128, $$fake3 .member _ret, 0, 8, 11, 96, $$fake5 .eos .sym __CSL_Config, 0, 9, 13, 128,$$fake2