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

📄 c6711_ipb.asm

📁 该代码实现了 两次下载法在dspC6713平台上 烧写flash的操作过程
💻 ASM
📖 第 1 页 / 共 5 页
字号:
           ; BRANCH OCCURS                   ; |228| 
	.endfunc	228,000000000h,0



	.sect	".text"
	.global	_TimerOne
	.sym	_TimerOne,_TimerOne, 32, 2, 0
	.func	235

;******************************************************************************
;* FUNCTION NAME: _TimerOne                                                   *
;*                                                                            *
;*   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  : 8 Args + 4 Auto + 84 Save = 96 byte                  *
;******************************************************************************
_TimerOne:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_reg,12, 24, 1, 32, _SAVE_REGISTER
           STW     .D2T2   B9,*SP--(96)      ; |236| 
           STW     .D2T2   B7,*+SP(92)       ; |236| 
           STW     .D2T2   B6,*+SP(88)       ; |236| 
           STW     .D2T2   B5,*+SP(84)       ; |236| 
           STW     .D2T2   B4,*+SP(80)       ; |236| 
           STW     .D2T2   B3,*+SP(76)       ; |236| 
           STW     .D2T2   B2,*+SP(72)       ; |236| 
           STW     .D2T2   B1,*+SP(68)       ; |236| 
           STW     .D2T2   B0,*+SP(64)       ; |236| 
           STW     .D2T2   B8,*+SP(60)       ; |236| 
           STW     .D2T1   A9,*+SP(56)       ; |236| 
           STW     .D2T1   A7,*+SP(52)       ; |236| 
           STW     .D2T1   A6,*+SP(48)       ; |236| 
           STW     .D2T1   A5,*+SP(44)       ; |236| 
           STW     .D2T1   A4,*+SP(40)       ; |236| 
           STW     .D2T1   A3,*+SP(36)       ; |236| 
           STW     .D2T1   A2,*+SP(32)       ; |236| 
           STW     .D2T1   A1,*+SP(28)       ; |236| 
           STW     .D2T1   A0,*+SP(24)       ; |236| 
           STW     .D2T1   A8,*+SP(20)       ; |236| 
           NOP             2
	.line	6
           CALL    .S1     _calloc           ; |240| 
           MVKL    .S2     RL15,B3           ; |240| 
           MVK     .S2     0x4,B4            ; |240| 
           MVK     .S1     0x7,A4            ; |240| 
           MVKH    .S2     RL15,B3           ; |240| 
           NOP             1
RL15:      ; CALL OCCURS                     ; |240| 
           MV      .D1     A4,A1             ; |240| 
   [ A1]   B       .S1     L23               ; |240| 
           STW     .D2T1   A1,*+SP(12)       ; |240| 
           NOP             4
           ; BRANCH OCCURS                   ; |240| 
;** --------------------------------------------------------------------------*
           NOP             2
	.line	8
           CALL    .S1     _printf           ; |242| 
           MVKL    .S2     RL16,B3           ; |242| 
           MVKH    .S2     RL16,B3           ; |242| 
           MVKL    .S1     SL2+0,A0          ; |242| 
           MVKH    .S1     SL2+0,A0          ; |242| 
           STW     .D2T1   A0,*+SP(4)        ; |242| 
RL16:      ; CALL OCCURS                     ; |242| 
;** --------------------------------------------------------------------------*
L23:    
           NOP             2
	.line	12
           MVC     .S2     CSR,B4            ; |246| 
           AND     .S2     -2,B4,B4          ; |246| 
           MVC     .S2     B4,CSR            ; |246| 
           NOP             1
	.line	13
           CALL    .S1     _save_register    ; |247| 
           LDW     .D2T1   *+SP(12),A4       ; |247| 
           MVKL    .S2     RL17,B3           ; |247| 
           MVKH    .S2     RL17,B3           ; |247| 
           NOP             2
RL17:      ; CALL OCCURS                     ; |247| 
	.line	14
           MVC     .S2     IER,B4            ; |248| 
           CLR     .S2     B4,15,15,B4       ; |248| 
           MVC     .S2     B4,IER            ; |248| 
	.line	15
           MVC     .S2     CSR,B4            ; |249| 
           OR      .S2     1,B4,B4           ; |249| 
           MVC     .S2     B4,CSR            ; |249| 
           NOP             1
	.line	18

           ZERO    .D2     B4                ; |252| 
||         ZERO    .D1     A0                ; |252| 

           MVKH    .S2     0x7000000,B4      ; |252| 
||         MVKH    .S1     0x90080000,A0     ; |252| 

           STW     .D1T2   B4,*A0            ; |252| 
           NOP             2
	.line	19
           ZERO    .D1     A3                ; |253| 

           ZERO    .D1     A0                ; |253| 
||         MVKH    .S1     0xd000000,A3      ; |253| 

           MVKH    .S1     0x90080000,A0     ; |253| 
           STW     .D1T1   A3,*A0            ; |253| 
           NOP             2
	.line	22
           MVC     .S2     CSR,B4            ; |256| 
           AND     .S2     -2,B4,B4          ; |256| 
           MVC     .S2     B4,CSR            ; |256| 
           NOP             1
	.line	23
           CALL    .S1     _restore_register ; |257| 
           LDW     .D2T1   *+SP(12),A4       ; |257| 
           MVKL    .S2     RL18,B3           ; |257| 
           MVKH    .S2     RL18,B3           ; |257| 
           NOP             2
RL18:      ; CALL OCCURS                     ; |257| 
	.line	24
           MVC     .S2     CSR,B4            ; |258| 
           OR      .S2     1,B4,B4           ; |258| 
           MVC     .S2     B4,CSR            ; |258| 
           NOP             1
	.line	27
           CALL    .S1     _free             ; |261| 
           LDW     .D2T1   *+SP(12),A4       ; |261| 
           MVKL    .S2     RL19,B3           ; |261| 
           MVKH    .S2     RL19,B3           ; |261| 
           NOP             2
RL19:      ; CALL OCCURS                     ; |261| 
	.line	29
           LDW     .D2T2   *+SP(60),B8       ; |263| 
           LDW     .D2T1   *+SP(56),A9       ; |263| 
           LDW     .D2T1   *+SP(20),A8       ; |263| 
           LDDW    .D2T1   *+SP(24),A1:A0    ; |263| 
           LDDW    .D2T2   *+SP(88),B7:B6    ; |263| 
           LDDW    .D2T2   *+SP(64),B1:B0    ; |263| 
           LDDW    .D2T1   *+SP(48),A7:A6    ; |263| 
           LDDW    .D2T1   *+SP(32),A3:A2    ; |263| 
           LDDW    .D2T2   *+SP(72),B3:B2    ; |263| 
           LDDW    .D2T1   *+SP(40),A5:A4    ; |263| 

           RET     .S2     IRP               ; |263| 
||         LDDW    .D2T2   *+SP(80),B5:B4    ; |263| 

           LDW     .D2T2   *++SP(96),B9      ; |263| 
           NOP             4
           ; BRANCH OCCURS                   ; |263| 
	.endfunc	263,003ff03ffh,96



	.sect	".text"
	.global	_timer0_reset
	.file	"C6711_TIMER.C"
	.sym	_timer0_reset,_timer0_reset, 32, 2, 0
	.func	19

;******************************************************************************
;* FUNCTION NAME: _timer0_reset                                               *
;*                                                                            *
;*   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  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_timer0_reset:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(8)       ; |20| 
           NOP             2
	.line	3
           CALL    .S1     _set_timer_register ; |21| 
           MVKL    .S2     RL20,B3           ; |21| 
           MVKH    .S2     RL20,B3           ; |21| 
           ZERO    .D1     A6                ; |21| 
           ZERO    .D2     B4                ; |21| 
           ZERO    .S1     A4                ; |21| 
RL20:      ; CALL OCCURS                     ; |21| 
	.line	4
           CALL    .S1     _set_timer_register ; |22| 
           MVKL    .S2     RL21,B3           ; |22| 
           MVK     .S2     0x1,B4            ; |22| 
           MVKH    .S2     RL21,B3           ; |22| 
           ZERO    .D1     A6                ; |22| 
           ZERO    .S1     A4                ; |22| 
RL21:      ; CALL OCCURS                     ; |22| 
	.line	5
           CALL    .S1     _set_timer_register ; |23| 
           MVKL    .S2     RL22,B3           ; |23| 
           MVK     .S2     0x2,B4            ; |23| 
           MVKH    .S2     RL22,B3           ; |23| 
           ZERO    .D1     A6                ; |23| 
           ZERO    .S1     A4                ; |23| 
RL22:      ; CALL OCCURS                     ; |23| 
	.line	7
           LDW     .D2T2   *++SP(8),B3       ; |25| 
           NOP             4
           RET     .S2     B3                ; |25| 
           NOP             5
           ; BRANCH OCCURS                   ; |25| 
	.endfunc	25,000080000h,8



	.sect	".text"
	.global	_timer0_init
	.sym	_timer0_init,_timer0_init, 32, 2, 0
	.func	35

;******************************************************************************
;* FUNCTION NAME: _timer0_init                                                *
;*                                                                            *
;*   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  : 0 Args + 8 Auto + 4 Save = 12 byte                   *
;******************************************************************************
_timer0_init:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_ctrl,4, 4, 17, 32
	.sym	_prd,20, 4, 17, 32
	.sym	_ctrl,4, 4, 1, 32
	.sym	_prd,8, 4, 1, 32
           STW     .D2T2   B3,*SP--(16)      ; |36| 
           NOP             2

           STW     .D2T2   B4,*+SP(8)        ; |36| 
||         MV      .S2X    A4,B5             ; |36| 

           STW     .D2T2   B5,*+SP(4)        ; |36| 
           NOP             2
	.line	3
           CALL    .S1     _set_timer_register ; |37| 
           MVKL    .S2     RL23,B3           ; |37| 
           ZERO    .D2     B4                ; |37| 
           MVKH    .S2     RL23,B3           ; |37| 
           MV      .S1X    B5,A6             ; |37| 
           ZERO    .D1     A4                ; |37| 
RL23:      ; CALL OCCURS                     ; |37| 
	.line	4
           CALL    .S1     _set_timer_register ; |38| 
           MVKL    .S2     RL24,B3           ; |38| 
           MVK     .S2     0x1,B4            ; |38| 
           MVKH    .S2     RL24,B3           ; |38| 
           MVK     .S1     0x200,A6          ; |38| 
           ZERO    .D1     A4                ; |38| 
RL24:      ; CALL OCCURS                     ; |38| 
	.line	5
           CALL    .S1     _set_timer_register ; |39| 
           MVKL    .S2     RL25,B3           ; |39| 
           MVK     .S2     0x2,B4            ; |39| 
           MVKH    .S2     RL25,B3           ; |39| 
           ZERO    .D1     A6                ; |39| 
           ZERO    .S1     A4                ; |39| 
RL25:      ; CALL OCCURS                     ; |39| 
	.line	8
           CALL    .S1     _set_timer_register ; |42| 
           LDW     .D2T1   *+SP(8),A6        ; |42| 
           MVKL    .S2     RL26,B3           ; |42| 
           MVK     .S2     0x1,B4            ; |42| 
           MVKH    .S2     RL26,B3           ; |42| 
           ZERO    .D1     A4                ; |42| 
RL26:      ; CALL OCCURS                     ; |42| 
	.line	9
           CALL    .S1     _change_timer_status ; |43| 
           MVKL    .S2     RL27,B3           ; |43| 
           MVK     .S2     0x3,B4            ; |43| 
           MVKH    .S2     RL27,B3           ; |43| 
           ZERO    .D1     A4                ; |43| 
           NOP             1
RL27:      ; CALL OCCURS                     ; |43| 
	.line	11
           LDW     .D2T2   *++SP(16),B3      ; |45| 
           NOP             4
           RET     .S2     B3                ; |45| 
           NOP             5
           ; BRANCH OCCURS                   ; |45| 
	.endfunc	45,000080000h,16



	.sect	".text"
	.global	_timer1_reset
	.sym	_timer1_reset,_timer1_reset, 32, 2, 0
	.func	54

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

⌨️ 快捷键说明

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