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

📄 realtime.asm

📁 DM642 ti c6000 多任务/ 中断使用示例
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;*                           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 + 4 Save = 4 byte                    *

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



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

;*                                                                            *

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

;*                                                                            *

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

_InputData:

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

	.line	2

           STW     .D2T2   B3,*SP--(8)       ; |102| 

	.line	5

           MVKL    .S2     _PseudoRand16,B4  ; |105| 

           MVKH    .S2     _PseudoRand16,B4  ; |105| 

           CALL    .S2     B4                ; |105| 

           MVK     .S1     (_Seed$2-$bss),A3 ; |105| 

           ADDKPC  .S2     RL7,B3,2          ; |105| 

           ADD     .D1X    DP,A3,A4          ; |105| 

RL7:       ; CALL OCCURS                     ; |105| 

	.line	6

           LDW     .D2T2   *++SP(8),B3       ; |106| 

           NOP             4

           RETNOP  .S2     B3,5              ; |106| 

           ; BRANCH OCCURS                   ; |106| 

	.endfunc	106,000080000h,8







	.sect	".text"

	.global	_OutputData

	.sym	_OutputData,_OutputData, 32, 2, 0

	.func	116



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

;* FUNCTION NAME: _OutputData                                                 *

;*                                                                            *

;*   Regs Modified     : B4                                                   *

;*   Regs Used         : A4,B3,B4,DP                                          *

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

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



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

;*                                                                            *

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

;*                                                                            *

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

_OutputData:

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

	.line	2

	.sym	_Data,4, 3, 17, 16

	.sym	_Data,4, 3, 4, 16

	.line	3

           LDW     .D2T2   *+DP(_OutputDataPtr),B4 ; |118| 

           NOP             4

           STH     .D2T1   A4,*B4            ; |118| 

	.line	4

           RETNOP  .S2     B3,5              ; |119| 

           ; BRANCH OCCURS                   ; |119| 

	.endfunc	119,000000000h,0







	.sect	".text"

	.global	_Fir32

	.sym	_Fir32,_Fir32, 36, 2, 0

	.func	128



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

;* FUNCTION NAME: _Fir32                                                      *

;*                                                                            *

;*   Regs Modified     : A0,A3,A4,A5,A6,A7,A8                                 *

;*   Regs Used         : A0,A3,A4,A5,A6,A7,A8,B3,B4                           *

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

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



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

;*                                                                            *

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

;*                                                                            *

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

_Fir32:

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

	.line	2

	.sym	_x,4, 19, 17, 32

	.sym	_coeff,20, 19, 17, 32

	.sym	_coeff,7, 19, 4, 32

	.sym	_x,3, 19, 4, 32

	.sym	_sum,4, 4, 4, 32

	.sym	_i,5, 4, 4, 32



           MV      .D1     A4,A3             ; |129| 

||         MV      .S1X    B4,A7             ; |129| 



	.line	7

           LDH     .D1T1   *+A3(30),A5       ; |134| 

           LDH     .D1T1   *+A7(30),A4       ; |134| 

           NOP             4

           MPY     .M1     A5,A4,A4          ; |134| 

           NOP             1

           SHR     .S1     A4,4,A4           ; |134| 

	.line	8

           MVK     .D1     0xe,A5            ; |135| 

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

;*   SOFTWARE PIPELINE INFORMATION

;*      Disqualified loop: Software pipelining disabled

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

L4:    

	.line	10

           LDH     .D1T1   *+A7[A5],A8       ; |137| 

           LDH     .D1T1   *+A3[A5],A6       ; |137| 

           NOP             4

           MPY     .M1     A6,A8,A8          ; |137| 

           NOP             1

           SHR     .S1     A8,4,A8           ; |137| 

           ADD     .D1     A8,A4,A4          ; |137| 

	.line	11

           ADDAH   .D1     A3,A5,A8          ; |138| 

           STH     .D1T1   A6,*+A8(2)        ; |138| 

	.line	12

           SUB     .D1     A5,1,A5           ; |139| 

           CMPLT   .L1     A5,0,A0           ; |139| 

   [!A0]   BNOP    .S1     L4,5              ; |139| 

           ; BRANCH OCCURS                   ; |139| 

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

	.line	13

	.line	14

           RETNOP  .S2     B3,5              ; |141| 

           ; BRANCH OCCURS                   ; |141| 

	.endfunc	141,000000000h,0







	.sect	".text"

	.global	_PseudoRand16

	.sym	_PseudoRand16,_PseudoRand16, 35, 2, 0

	.func	157



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

;* FUNCTION NAME: _PseudoRand16                                               *

;*                                                                            *

;*   Regs Modified     : A3,A4,A5                                             *

;*   Regs Used         : A3,A4,A5,B3                                          *

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

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



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

;*                                                                            *

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

;*                                                                            *

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

_PseudoRand16:

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

	.line	2

	.sym	_Seed,4, 19, 17, 32

	.sym	_Seed,4, 19, 4, 32

	.line	3

           LDH     .D1T1   *A4,A3            ; |159| 

           NOP             3

           MVK     .S1     31821,A5          ; |159| 

           MPY     .M1     A3,A5,A3          ; |159| 

           NOP             1

           ADDK    .S1     13849,A3          ; |159| 



           EXT     .S1     A3,16,16,A4       ; |159| 

||         STH     .D1T1   A3,*A4            ; |159| 



	.line	4

	.line	5

           RETNOP  .S2     B3,5              ; |161| 

           ; BRANCH OCCURS                   ; |161| 

	.endfunc	161,000000000h,0







	.sect	".text"

	.global	_PerformIsr1

	.sym	_PerformIsr1,_PerformIsr1, 32, 2, 0

	.func	173



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

;* FUNCTION NAME: _PerformIsr1                                                *

;*                                                                            *

;*   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!    *

;*                                                                            *

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

_PerformIsr1:

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

	.line	2

           ADDK    .S2     -216,SP           ; |174| 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

	.line	3

           MVK     .D2     1,B4              ; |175| 

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

	.line	4

           LDW     .D2T2   *+DP(_Isr0),B4    ; |176| 

           NOP             4

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

           STW     .D2T2   B4,*+DP(_Isr0)    ; |176| 

	.line	5

           LDW     .D2T2   *+DP(_Isr0),B4    ; |177| 

           NOP             4

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

   [ B0]   BNOP    .S1     L5,5              ; |177| 

           ; BRANCH OCCURS                   ; |177| 

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

	.line	6

           MVKL    .S1     _TakeALongTime,A3 ; |178| 

           MVKH    .S1     _TakeALongTime,A3 ; |178| 

           CALL    .S2X    A3                ; |178| 

           ADDKPC  .S2     RL8,B3,4          ; |178| 

RL8:       ; CALL OCCURS                     ; |178| 

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

L5:    

	.line	7

           ZERO    .D2     B4                ; |179| 

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

	.line	8

           LDW     .D2T2   *+DP(_timer0value),B4 ; |180| 

           NOP             4

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

           STW     .D2T2   B4,*+DP(_timer0value) ; |180| 

	.line	9

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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



           RET     .S2     IRP               ; |181| 

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

⌨️ 快捷键说明

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