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

📄 image.asm

📁 该代码实现了 两次下载法在dspC6713平台上 烧写flash的操作过程
💻 ASM
📖 第 1 页 / 共 2 页
字号:
;******************************************************************************
;* TMS320C6x C/C++ Codegen                                    PC Version 4.32 *
;* Date/Time created: Sat Jan 29 19:22:14 2005                                *
;******************************************************************************

;******************************************************************************
;* GLOBAL FILE PARAMETERS                                                     *
;*                                                                            *
;*   Architecture      : TMS320C671x                                          *
;*   Optimization      : Disabled                                             *
;*   Optimizing for    : Compile time, Ease of Development                    *
;*                       Based on options: no -o, -ms1                        *
;*   Endian            : Little                                               *
;*   Interrupt Thrshld : Disabled                                             *
;*   Memory Model      : Small                                                *
;*   Calls to RTS      : Near                                                 *
;*   Pipelining        : Disabled                                             *
;*   Memory Aliases    : Presume are aliases (pessimistic)                    *
;*   Debug Info        : COFF Debug                                           *
;*                                                                            *
;******************************************************************************

	.asg	A15, FP
	.asg	B14, DP
	.asg	B15, SP
	.global	$bss

	.file	"image.c"
;	e:\designtools\ccs2.2\c6000\cgtools\bin\acp6x.exe -@C:\DOCUME~1\jerry\LOCALS~1\Temp\TI3628_4 

	.sect	".text"
	.global	_main
	.sym	_main,_main, 32, 2, 0
	.func	25

;******************************************************************************
;* 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:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(16)      ; |26| 
           NOP             2
	.line	3
           CALL    .S1     _DSK_init         ; |27| 
           MVKL    .S2     RL0,B3            ; |27| 
           MVKH    .S2     RL0,B3            ; |27| 
           NOP             3
RL0:       ; CALL OCCURS                     ; |27| 
	.line	5
           CALL    .S1     _printf           ; |29| 
           MVKL    .S1     SL1+0,A0          ; |29| 
           MVKH    .S1     SL1+0,A0          ; |29| 
           STW     .D2T1   A0,*+SP(4)        ; |29| 
           MVKL    .S2     RL1,B3            ; |29| 
           MVKH    .S2     RL1,B3            ; |29| 
RL1:       ; CALL OCCURS                     ; |29| 
	.line	6
           CALL    .S1     _test_write       ; |30| 
           MVKL    .S2     RL2,B3            ; |30| 
           MVKH    .S2     RL2,B3            ; |30| 
           NOP             3
RL2:       ; CALL OCCURS                     ; |30| 
	.line	7
           CALL    .S1     _test_read        ; |31| 
           MVKL    .S2     RL3,B3            ; |31| 
           MVKH    .S2     RL3,B3            ; |31| 
           NOP             3
RL3:       ; CALL OCCURS                     ; |31| 
	.line	16
           LDW     .D2T2   *++SP(16),B3      ; |40| 
           NOP             4
           RET     .S2     B3                ; |40| 
           NOP             5
           ; BRANCH OCCURS                   ; |40| 
	.endfunc	40,000080000h,16



	.sect	".text"
	.global	_DSK_init
	.sym	_DSK_init,_DSK_init, 32, 2, 0
	.func	46

;******************************************************************************
;* FUNCTION NAME: _DSK_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,DP,SP                                   *
;*   Local Frame Size  : 0 Args + 0 Auto + 4 Save = 4 byte                    *
;******************************************************************************
_DSK_init:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(8)       ; |47| 
           NOP             2
	.line	4
           MVK     .S1     256,A0            ; |49| 
           MVC     .S2X    A0,CSR            ; |49| 
           NOP             1
	.line	5
           MVK     .S1     1,A0              ; |50| 
           MVC     .S2X    A0,IER            ; |50| 
	.line	6
           ZERO    .D1     A0                ; |51| 
           SET     .S1     A0,0x0,0xf,A0     ; |51| 
           MVC     .S2X    A0,ICR            ; |51| 
           NOP             1
	.line	8
           CALL    .S1     _emif_init        ; |53| 
           MVKL    .S2     RL4,B3            ; |53| 
           MVKH    .S2     RL4,B3            ; |53| 
           NOP             3
RL4:       ; CALL OCCURS                     ; |53| 
	.line	9
           CALL    .S1     _intr_init        ; |54| 
           MVKL    .S2     RL5,B3            ; |54| 
           MVKH    .S2     RL5,B3            ; |54| 
           NOP             3
RL5:       ; CALL OCCURS                     ; |54| 
	.line	12
           LDW     .D2T2   *++SP(8),B3       ; |57| 
           NOP             4
           RET     .S2     B3                ; |57| 
           NOP             5
           ; BRANCH OCCURS                   ; |57| 
	.endfunc	57,000080000h,8



	.sect	".text"
	.global	_test_buffer
	.sym	_test_buffer,_test_buffer, 32, 2, 0
	.func	62

;******************************************************************************
;* FUNCTION NAME: _test_buffer                                                *
;*                                                                            *
;*   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  : 16 Args + 8 Auto + 4 Save = 28 byte                  *
;******************************************************************************
_test_buffer:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_i,20, 2, 1, 8
	.sym	_data,21, 2, 1, 8
	.sym	_buffer_addr,24, 4, 1, 32
           STW     .D2T2   B3,*SP--(32)      ; |63| 
           NOP             2
	.line	4
           MVKL    .S1     0xa0004100,A0     ; |65| 
           MVKH    .S1     0xa0004100,A0     ; |65| 
           STW     .D2T1   A0,*+SP(24)       ; |65| 
           NOP             2
	.line	6
           ZERO    .D2     B4                ; |67| 
           STB     .D2T2   B4,*+SP(20)       ; |67| 
           LDB     .D2T2   *+SP(20),B4       ; |67| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |67| 
   [!B0]   B       .S1     L2                ; |67| 
           NOP             5
           ; BRANCH OCCURS                   ; |67| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L1:    
	.line	8
           LDW     .D2T2   *+SP(24),B4       ; |69| 
           NOP             4
           ADD     .D2     1,B4,B5           ; |69| 
           STW     .D2T2   B5,*+SP(24)       ; |69| 
           LDB     .D2T1   *+SP(20),A0       ; |69| 
           NOP             4
           ADDK    .S1     16,A0             ; |69| 
           STB     .D2T1   A0,*B4            ; |69| 
           NOP             2
	.line	9
           LDB     .D2T2   *+SP(20),B4       ; |70| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |70| 
           STB     .D2T2   B4,*+SP(20)       ; |70| 
           LDB     .D2T2   *+SP(20),B4       ; |70| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |70| 
   [ B0]   B       .S1     L1                ; |70| 
           NOP             5
           ; BRANCH OCCURS                   ; |70| 
;** --------------------------------------------------------------------------*
L2:    
	.line	11
           ZERO    .D2     B4                ; |72| 
           STB     .D2T2   B4,*+SP(20)       ; |72| 
           LDB     .D2T2   *+SP(20),B4       ; |72| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |72| 
   [!B0]   B       .S1     L4                ; |72| 
           NOP             5
           ; BRANCH OCCURS                   ; |72| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L3:    
	.line	13
           LDW     .D2T2   *+SP(24),B4       ; |74| 
           NOP             4
           SUB     .D2     B4,1,B4           ; |74| 
           STW     .D2T2   B4,*+SP(24)       ; |74| 
           LDB     .D2T2   *B4,B4            ; |74| 
           NOP             4
           STB     .D2T2   B4,*+SP(21)       ; |74| 
           NOP             2
	.line	14
           MVKL    .S1     SL2+0,A0          ; |75| 
           MVKH    .S1     SL2+0,A0          ; |75| 
           STW     .D2T1   A0,*+SP(4)        ; |75| 
           LDW     .D2T2   *+SP(24),B4       ; |75| 
           MVKL    .S2     RL6,B3            ; |75| 
           NOP             3
           STW     .D2T2   B4,*+SP(8)        ; |75| 
           LDB     .D2T2   *+SP(21),B4       ; |75| 
           CALL    .S1     _printf           ; |75| 
           NOP             3
           STW     .D2T2   B4,*+SP(12)       ; |75| 
           MVKH    .S2     RL6,B3            ; |75| 
RL6:       ; CALL OCCURS                     ; |75| 
	.line	15
           LDB     .D2T2   *+SP(20),B4       ; |76| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |76| 
           STB     .D2T2   B4,*+SP(20)       ; |76| 
           LDB     .D2T2   *+SP(20),B4       ; |76| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |76| 
   [ B0]   B       .S1     L3                ; |76| 
           NOP             5
           ; BRANCH OCCURS                   ; |76| 
;** --------------------------------------------------------------------------*
L4:    
	.line	17
           LDW     .D2T2   *++SP(32),B3      ; |78| 
           NOP             4
           RET     .S2     B3                ; |78| 
           NOP             5
           ; BRANCH OCCURS                   ; |78| 
	.endfunc	78,000080000h,32



	.sect	".text"
	.global	_test_write
	.sym	_test_write,_test_write, 32, 2, 0
	.func	80

;******************************************************************************
;* FUNCTION NAME: _test_write                                                 *
;*                                                                            *
;*   Regs Modified     : A0,B0,B4,B5,B6,SP                                    *
;*   Regs Used         : A0,B0,B3,B4,B5,B6,SP                                 *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                    *
;******************************************************************************
_test_write:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_i,4, 4, 1, 32
	.sym	_buffer_addr,8, 4, 1, 32
           SUB     .D2     SP,8,SP           ; |81| 
	.line	3
           ZERO    .D1     A0                ; |82| 
           MVKH    .S1     0x800f0000,A0     ; |82| 
           STW     .D2T1   A0,*+SP(8)        ; |82| 
           NOP             2
	.line	5
           ZERO    .D2     B4                ; |84| 
           CMPLT   .L2     B4,10,B0          ; |84| 
   [!B0]   B       .S1     L6                ; |84| 
           NOP             4
           STW     .D2T2   B4,*+SP(4)        ; |84| 
           ; BRANCH OCCURS                   ; |84| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L5:    
	.line	6
           LDW     .D2T2   *+SP(8),B5        ; |85| 
           MV      .D2     B4,B6             ; |85| 
           NOP             3

⌨️ 快捷键说明

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