⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 realtime.asm

📁 DM642 ti c6000 多任务/ 中断使用示例
💻 ASM
📖 第 1 页 / 共 4 页
字号:


           LDDW    .D2T2   *+SP(72),B5:B4    ; |181| 

           NOP             3

           ADDK    .S2     216,SP            ; |181| 

           ; BRANCH OCCURS                   ; |181| 

	.endfunc	181,003ff03ffh,216







	.sect	".text"

	.global	_PerformIsr2

	.sym	_PerformIsr2,_PerformIsr2, 32, 2, 0

	.func	192



;******************************************************************************

;* FUNCTION NAME: _PerformIsr2                                                *

;*                                                                            *

;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *

;*                           B7,B8,B9,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24, *

;*                           A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20, *

;*                           B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31      *

;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *

;*                           B7,B8,B9,DP,SP,A16,A17,A18,A19,A20,A21,A22,A23,  *

;*                           A24,A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19, *

;*                           B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31  *

;*   Local Frame Size  : 0 Args + 0 Auto + 212 Save = 212 byte                *

;******************************************************************************



;******************************************************************************

;*                                                                            *

;* Using -g (debug) with optimization (-o1) may disable key optimizations!    *

;*                                                                            *

;******************************************************************************

_PerformIsr2:

;** --------------------------------------------------------------------------*

	.line	2

           ADDK    .S2     -216,SP           ; |193| 

           STW     .D2T2   B31,*+SP(216)     ; |193| 

           STDW    .D2T2   B29:B28,*+SP(208) ; |193| 

           STDW    .D2T2   B27:B26,*+SP(200) ; |193| 

           STDW    .D2T2   B25:B24,*+SP(192) ; |193| 

           STDW    .D2T2   B23:B22,*+SP(184) ; |193| 

           STDW    .D2T2   B21:B20,*+SP(176) ; |193| 

           STDW    .D2T2   B19:B18,*+SP(168) ; |193| 

           STDW    .D2T2   B17:B16,*+SP(160) ; |193| 

           STW     .D2T2   B30,*+SP(156)     ; |193| 

           STW     .D2T1   A31,*+SP(152)     ; |193| 

           STDW    .D2T1   A29:A28,*+SP(144) ; |193| 

           STDW    .D2T1   A27:A26,*+SP(136) ; |193| 

           STDW    .D2T1   A25:A24,*+SP(128) ; |193| 

           STDW    .D2T1   A23:A22,*+SP(120) ; |193| 

           STDW    .D2T1   A21:A20,*+SP(112) ; |193| 

           STDW    .D2T1   A19:A18,*+SP(104) ; |193| 

           STDW    .D2T1   A17:A16,*+SP(96)  ; |193| 

           STW     .D2T1   A30,*+SP(92)      ; |193| 

           STW     .D2T2   B9,*+SP(88)       ; |193| 

           STDW    .D2T2   B7:B6,*+SP(80)    ; |193| 

           STDW    .D2T2   B5:B4,*+SP(72)    ; |193| 

           STDW    .D2T2   B3:B2,*+SP(64)    ; |193| 

           STDW    .D2T2   B1:B0,*+SP(56)    ; |193| 

           STW     .D2T2   B8,*+SP(52)       ; |193| 

           STW     .D2T1   A9,*+SP(48)       ; |193| 

           STDW    .D2T1   A7:A6,*+SP(40)    ; |193| 

           STDW    .D2T1   A5:A4,*+SP(32)    ; |193| 

           STDW    .D2T1   A3:A2,*+SP(24)    ; |193| 

           STDW    .D2T1   A1:A0,*+SP(16)    ; |193| 

           STW     .D2T1   A8,*+SP(12)       ; |193| 

	.line	3

           MVK     .D2     2,B4              ; |194| 

           STW     .D2T2   B4,*+DP(_WhatIsrActive) ; |194| 

	.line	4

           LDW     .D2T2   *+DP(_Isr1),B4    ; |195| 

           NOP             4

           ADD     .D2     1,B4,B4           ; |195| 

           STW     .D2T2   B4,*+DP(_Isr1)    ; |195| 

	.line	5

           LDW     .D2T2   *+DP(_Isr1),B4    ; |196| 

           NOP             4

           AND     .D2     7,B4,B0           ; |196| 

   [ B0]   BNOP    .S1     L6,5              ; |196| 

           ; BRANCH OCCURS                   ; |196| 

;** --------------------------------------------------------------------------*

	.line	6

           MVKL    .S1     _TakeALongTime,A3 ; |197| 

           MVKH    .S1     _TakeALongTime,A3 ; |197| 

           CALL    .S2X    A3                ; |197| 

           ADDKPC  .S2     RL9,B3,4          ; |197| 

RL9:       ; CALL OCCURS                     ; |197| 

;** --------------------------------------------------------------------------*

L6:    

	.line	7

           ZERO    .D2     B4                ; |198| 

           STW     .D2T2   B4,*+DP(_WhatIsrActive) ; |198| 

	.line	8

           LDW     .D2T2   *+DP(_timer1value),B4 ; |199| 

           NOP             4

           ADD     .D2     1,B4,B4           ; |199| 

           STW     .D2T2   B4,*+DP(_timer1value) ; |199| 

	.line	9

           LDDW    .D2T2   *+SP(200),B27:B26 ; |200| 

           LDDW    .D2T2   *+SP(192),B25:B24 ; |200| 

           LDDW    .D2T2   *+SP(184),B23:B22 ; |200| 

           LDDW    .D2T2   *+SP(176),B21:B20 ; |200| 

           LDDW    .D2T2   *+SP(168),B19:B18 ; |200| 

           LDDW    .D2T2   *+SP(160),B17:B16 ; |200| 

           LDW     .D2T2   *+SP(156),B30     ; |200| 

           LDW     .D2T1   *+SP(152),A31     ; |200| 

           LDDW    .D2T1   *+SP(144),A29:A28 ; |200| 

           LDDW    .D2T1   *+SP(136),A27:A26 ; |200| 

           LDDW    .D2T1   *+SP(128),A25:A24 ; |200| 

           LDDW    .D2T1   *+SP(120),A23:A22 ; |200| 

           LDDW    .D2T1   *+SP(112),A21:A20 ; |200| 

           LDDW    .D2T1   *+SP(104),A19:A18 ; |200| 

           LDDW    .D2T1   *+SP(96),A17:A16  ; |200| 

           LDW     .D2T1   *+SP(92),A30      ; |200| 

           LDW     .D2T2   *+SP(88),B9       ; |200| 

           LDDW    .D2T2   *+SP(80),B7:B6    ; |200| 

           LDDW    .D2T2   *+SP(64),B3:B2    ; |200| 

           LDDW    .D2T2   *+SP(56),B1:B0    ; |200| 

           LDW     .D2T2   *+SP(52),B8       ; |200| 

           LDW     .D2T1   *+SP(48),A9       ; |200| 

           LDDW    .D2T1   *+SP(40),A7:A6    ; |200| 

           LDDW    .D2T1   *+SP(32),A5:A4    ; |200| 

           LDDW    .D2T1   *+SP(24),A3:A2    ; |200| 

           LDDW    .D2T1   *+SP(16),A1:A0    ; |200| 

           LDW     .D2T1   *+SP(12),A8       ; |200| 

           LDW     .D2T2   *+SP(216),B31     ; |200| 



           RET     .S2     IRP               ; |200| 

||         LDDW    .D2T2   *+SP(208),B29:B28 ; |200| 



           LDDW    .D2T2   *+SP(72),B5:B4    ; |200| 

           NOP             3

           ADDK    .S2     216,SP            ; |200| 

           ; BRANCH OCCURS                   ; |200| 

	.endfunc	200,003ff03ffh,216







	.sect	".text"

	.global	_PerformIsr3

	.sym	_PerformIsr3,_PerformIsr3, 32, 2, 0

	.func	211



;******************************************************************************

;* FUNCTION NAME: _PerformIsr3                                                *

;*                                                                            *

;*   Regs Modified     : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *

;*                           B7,B8,B9,SP,A16,A17,A18,A19,A20,A21,A22,A23,A24, *

;*                           A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19,B20, *

;*                           B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31      *

;*   Regs Used         : A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,B0,B1,B2,B3,B4,B5,B6,  *

;*                           B7,B8,B9,DP,SP,A16,A17,A18,A19,A20,A21,A22,A23,  *

;*                           A24,A25,A26,A27,A28,A29,A30,A31,B16,B17,B18,B19, *

;*                           B20,B21,B22,B23,B24,B25,B26,B27,B28,B29,B30,B31  *

;*   Local Frame Size  : 0 Args + 0 Auto + 212 Save = 212 byte                *

;******************************************************************************



;******************************************************************************

;*                                                                            *

;* Using -g (debug) with optimization (-o1) may disable key optimizations!    *

;*                                                                            *

;******************************************************************************

_PerformIsr3:

;** --------------------------------------------------------------------------*

	.line	2

           ADDK    .S2     -216,SP           ; |212| 

           STW     .D2T2   B31,*+SP(216)     ; |212| 

           STDW    .D2T2   B29:B28,*+SP(208) ; |212| 

           STDW    .D2T2   B27:B26,*+SP(200) ; |212| 

           STDW    .D2T2   B25:B24,*+SP(192) ; |212| 

           STDW    .D2T2   B23:B22,*+SP(184) ; |212| 

           STDW    .D2T2   B21:B20,*+SP(176) ; |212| 

           STDW    .D2T2   B19:B18,*+SP(168) ; |212| 

           STDW    .D2T2   B17:B16,*+SP(160) ; |212| 

           STW     .D2T2   B30,*+SP(156)     ; |212| 

           STW     .D2T1   A31,*+SP(152)     ; |212| 

           STDW    .D2T1   A29:A28,*+SP(144) ; |212| 

           STDW    .D2T1   A27:A26,*+SP(136) ; |212| 

           STDW    .D2T1   A25:A24,*+SP(128) ; |212| 

           STDW    .D2T1   A23:A22,*+SP(120) ; |212| 

           STDW    .D2T1   A21:A20,*+SP(112) ; |212| 

           STDW    .D2T1   A19:A18,*+SP(104) ; |212| 

           STDW    .D2T1   A17:A16,*+SP(96)  ; |212| 

           STW     .D2T1   A30,*+SP(92)      ; |212| 

           STW     .D2T2   B9,*+SP(88)       ; |212| 

           STDW    .D2T2   B7:B6,*+SP(80)    ; |212| 

           STDW    .D2T2   B5:B4,*+SP(72)    ; |212| 

           STDW    .D2T2   B3:B2,*+SP(64)    ; |212| 

           STDW    .D2T2   B1:B0,*+SP(56)    ; |212| 

           STW     .D2T2   B8,*+SP(52)       ; |212| 

           STW     .D2T1   A9,*+SP(48)       ; |212| 

           STDW    .D2T1   A7:A6,*+SP(40)    ; |212| 

           STDW    .D2T1   A5:A4,*+SP(32)    ; |212| 

           STDW    .D2T1   A3:A2,*+SP(24)    ; |212| 

           STDW    .D2T1   A1:A0,*+SP(16)    ; |212| 

           STW     .D2T1   A8,*+SP(12)       ; |212| 

	.line	3

           MVK     .D2     3,B4              ; |213| 

           STW     .D2T2   B4,*+DP(_WhatIsrActive) ; |213| 

	.line	4

           LDW     .D2T2   *+DP(_Isr2),B4    ; |214| 

           NOP             4

           ADD     .D2     1,B4,B4           ; |214| 

           STW     .D2T2   B4,*+DP(_Isr2)    ; |214| 

	.line	5

           LDW     .D2T2   *+DP(_Isr2),B4    ; |215| 

           NOP             4

           AND     .D2     7,B4,B0           ; |215| 

   [ B0]   BNOP    .S1     L7,5              ; |215| 

           ; BRANCH OCCURS                   ; |215| 

;** --------------------------------------------------------------------------*

	.line	6

           MVKL    .S1     _TakeALongTime,A3 ; |216| 

           MVKH    .S1     _TakeALongTime,A3 ; |216| 

           CALL    .S2X    A3                ; |216| 

           ADDKPC  .S2     RL10,B3,4         ; |216| 

RL10:      ; CALL OCCURS                     ; |216| 

;** --------------------------------------------------------------------------*

L7:    

	.line	7

           ZERO    .D2     B4                ; |217| 

           STW     .D2T2   B4,*+DP(_WhatIsrActive) ; |217| 

	.line	8

           LDW     .D2T2   *+DP(_timer2value),B4 ; |218| 

           NOP             4

           ADD     .D2     1,B4,B4           ; |218| 

           STW     .D2T2   B4,*+DP(_timer2value) ; |218| 

	.line	9

           LDDW    .D2T2   *+SP(200),B27:B26 ; |219| 

           LDDW    .D2T2   *+SP(192),B25:B24 ; |219| 

           LDDW    .D2T2   *+SP(184),B23:B22 ; |219| 

           LDDW    .D2T2   *+SP(176),B21:B20 ; |219| 

           LDDW    .D2T2   *+SP(168),B19:B18 ; |219| 

           LDDW    .D2T2   *+SP(160),B17:B16 ; |219| 

           LDW     .D2T2   *+SP(156),B30     ; |219| 

           LDW     .D2T1   *+SP(152),A31     ; |219| 

           LDDW    .D2T1   *+SP(144),A29:A28 ; |219| 

           LDDW    .D2T1   *+SP(136),A27:A26 ; |219| 

           LDDW    .D2T1   *+SP(128),A25:A24 ; |219| 

           LDDW    .D2T1   *+SP(120),A23:A22 ; |219| 

           LDDW    .D2T1   *+SP(112),A21:A20 ; |219| 

           LDDW    .D2T1   *+SP(104),A19:A18 ; |219| 

           LDDW    .D2T1   *+SP(96),A17:A16  ; |219| 

           LDW     .D2T1   *+SP(92),A30      ; |219| 

           LDW     .D2T2   *+SP(88),B9       ; |219| 

           LDDW    .D2T2   *+SP(80),B7:B6    ; |219| 

           LDDW    .D2T2   *+SP(64),B3:B2    ; |219| 

           LDDW    .D2T2   *+SP(56),B1:B0    ; |219| 

           LDW     .D2T2   *+SP(52),B8       ; |219| 

           LDW     .D2T1   *+SP(48),A9       ; |219| 

           LDDW    .D2T1   *+SP(40),A7:A6    ; |219| 

           LDDW    .D2T1   *+SP(32),A5:A4    ; |219| 

           LDDW    .D2T1   *+SP(24),A3:A2    ; |219| 

           LDDW    .D2T1   *+SP(16),A1:A0    ; |219| 

           LDW     .D2T1   *+SP(12),A8       ; |219| 

           LDW     .D2T2   *+SP(216),B31     ; |219| 



           RET     .S2     IRP               ; |219| 

||         LDDW    .D2T2   *+SP(208),B29:B28 ; |219| 



           LDDW    .D2T2   *+SP(72),B5:B4    ; |219| 

           NOP             3

           ADDK    .S2     216,SP            ; |219| 

           ; BRANCH OCCURS                   ; |219| 

	.endfunc	219,003ff03ffh,216







	.sect	".text"

	.global	_TakeALongTime

	.sym	_TakeALongTime,_TakeALongTime, 32, 2, 0

	.func	226



;******************************************************************************

;* FUNCTION NAME: _TakeALongTime                                              *

;*                                                                            *

;*   Regs Modified     : A0,A3,SP                                             *

;*   Regs Used         : A0,A3,B3,SP                                          *

;*   Local Frame Size  : 0 Args + 4 Auto + 0 Save = 4 byte                    *

;******************************************************************************



;******************************************************************************

;*                                                                            *

;* Using -g (debug) with optimization (-o1) may disable key optimizations!    *

;*                                                                            *

;******************************************************************************

_TakeALongTime:

;** --------------------------------------------------------------------------*

	.line	2

	.sym	_i,0, 13, 4, 16

	.sym	_Output,4, 13, 1, 16

           SUB     .D2     SP,8,SP           ; |227| 

	.line	6

           ZERO    .D1     A0                ; |231| 

;*----------------------------------------------------------------------------*

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

;*----------------------------------------------------------------------------*

L8:    

	.line	7

           ADD     .D1     1,A0,A3           ; |232| 



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -