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

📄 test.asm

📁 该代码实现了 两次下载法在dspC6713平台上 烧写flash的操作过程
💻 ASM
📖 第 1 页 / 共 3 页
字号:
;*   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           ; |91| 
	.line	3
           MVKL    .S1     0xa0004100,A0     ; |92| 
           MVKH    .S1     0xa0004100,A0     ; |92| 
           STW     .D2T1   A0,*+SP(8)        ; |92| 
           NOP             2
	.line	5
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L5
;** --------------------------------------------------------------------------*
L5:    
	.line	7
           ZERO    .D2     B4                ; |96| 
           CMPLT   .L2     B4,10,B0          ; |96| 
   [!B0]   B       .S1     L5                ; |96| 
           STW     .D2T2   B4,*+SP(4)        ; |96| 
           NOP             3
           ZERO    .S2     B6                ; |97| 
           ; BRANCH OCCURS                   ; |96| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L6:    
	.line	8

           LDW     .D2T2   *+SP(8),B4        ; |97| 
||         MV      .S2     B4,B5

           NOP             4
           STB     .D2T2   B6,*+B4[B5]       ; |97| 
           LDW     .D2T2   *+SP(4),B4        ; |97| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |97| 
           CMPLT   .L2     B4,10,B0          ; |97| 
   [ B0]   B       .S1     L6                ; |97| 
           NOP             4
           STW     .D2T2   B4,*+SP(4)        ; |97| 
           ; BRANCH OCCURS                   ; |97| 
;** --------------------------------------------------------------------------*
	.line	9
           B       .S1     L5                ; |98| 
           NOP             5
           ; BRANCH OCCURS                   ; |98| 
;** --------------------------------------------------------------------------*
	.endfunc	100,000000000h,8



	.sect	".text"
	.global	_test_read
	.sym	_test_read,_test_read, 32, 2, 0
	.func	102

;******************************************************************************
;* FUNCTION NAME: _test_read                                                  *
;*                                                                            *
;*   Regs Modified     : A0,B0,B4,B5,SP                                       *
;*   Regs Used         : A0,B0,B3,B4,B5,SP                                    *
;*   Local Frame Size  : 0 Args + 8 Auto + 0 Save = 8 byte                    *
;******************************************************************************
_test_read:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_i,4, 2, 1, 8
	.sym	_data,5, 2, 1, 8
	.sym	_buffer_addr,8, 4, 1, 32
           SUB     .D2     SP,8,SP           ; |103| 
	.line	4
           MVKL    .S1     0xa0004100,A0     ; |105| 
           MVKH    .S1     0xa0004100,A0     ; |105| 
           STW     .D2T1   A0,*+SP(8)        ; |105| 
           NOP             2
	.line	6
;** --------------------------------------------------------------------------*
;**   BEGIN LOOP L7
;** --------------------------------------------------------------------------*
L7:    
	.line	8
           ZERO    .D2     B4                ; |109| 
           STB     .D2T2   B4,*+SP(4)        ; |109| 
           LDB     .D2T2   *+SP(4),B4        ; |109| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |109| 
   [!B0]   B       .S1     L7                ; |109| 
           NOP             5
           ; BRANCH OCCURS                   ; |109| 
;*----------------------------------------------------------------------------*
;*   SOFTWARE PIPELINE INFORMATION
;*      Disqualified loop: Software pipelining disabled
;*----------------------------------------------------------------------------*
L8:    
	.line	9
           LDB     .D2T2   *+SP(4),B5        ; |110| 
           LDW     .D2T2   *+SP(8),B4        ; |110| 
           NOP             4
           LDB     .D2T2   *+B4[B5],B4       ; |110| 
           NOP             4
           STB     .D2T2   B4,*+SP(5)        ; |110| 
           LDB     .D2T2   *+SP(4),B4        ; |110| 
           NOP             4
           ADD     .D2     1,B4,B4           ; |110| 
           STB     .D2T2   B4,*+SP(4)        ; |110| 
           LDB     .D2T2   *+SP(4),B4        ; |110| 
           NOP             4
           CMPLT   .L2     B4,10,B0          ; |110| 
   [ B0]   B       .S1     L8                ; |110| 
           NOP             5
           ; BRANCH OCCURS                   ; |110| 
;** --------------------------------------------------------------------------*
	.line	11
           B       .S1     L7                ; |112| 
           NOP             5
           ; BRANCH OCCURS                   ; |112| 
;** --------------------------------------------------------------------------*
	.endfunc	114,000000000h,8



	.sect	".text"
	.global	_test_led
	.sym	_test_led,_test_led, 32, 2, 0
	.func	117

;******************************************************************************
;* FUNCTION NAME: _test_led                                                   *
;*                                                                            *
;*   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                    *
;******************************************************************************
_test_led:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(8)       ; |118| 
           NOP             2
	.line	3
           CALL    .S1     _ce1_config       ; |119| 
           MVKL    .S2     RL8,B3            ; |119| 
           MVKH    .S2     RL8,B3            ; |119| 
           MVK     .S1     0xffffff23,A4     ; |119| 
           NOP             2
RL8:       ; CALL OCCURS                     ; |119| 
	.line	4
           CALL    .S1     _display_num      ; |120| 
           MVKL    .S2     RL9,B3            ; |120| 
           MVKH    .S2     RL9,B3            ; |120| 
           MVK     .S1     0x2,A4            ; |120| 
           NOP             2
RL9:       ; CALL OCCURS                     ; |120| 
	.line	5
           CALL    .S1     _led_blink        ; |121| 
           MVKL    .S2     RL10,B3           ; |121| 
           MVK     .S2     0x3e8,B4          ; |121| 
           MVKH    .S2     RL10,B3           ; |121| 
           MVK     .S1     0x3,A4            ; |121| 
           NOP             1
RL10:      ; CALL OCCURS                     ; |121| 
	.line	6
           LDW     .D2T2   *++SP(8),B3       ; |122| 
           NOP             4
           RET     .S2     B3                ; |122| 
           NOP             5
           ; BRANCH OCCURS                   ; |122| 
	.endfunc	122,000080000h,8



	.sect	".text"
	.global	_test_flash
	.sym	_test_flash,_test_flash, 32, 2, 0
	.func	124

;******************************************************************************
;* FUNCTION NAME: _test_flash                                                 *
;*                                                                            *
;*   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                   *
;******************************************************************************
_test_flash:
;** --------------------------------------------------------------------------*
	.line	2
           STW     .D2T2   B3,*SP--(16)      ; |125| 
           NOP             2
	.line	3
           CALL    .S1     _ce1_config       ; |126| 
           MVKL    .S2     RL13,B3           ; |126| 
           MVKH    .S2     RL13,B3           ; |126| 
           MVK     .S1     0xffffff03,A4     ; |126| 
           NOP             2
RL13:      ; CALL OCCURS                     ; |126| 
	.line	7
           CALL    .S1     _flash_bootblock_detect ; |130| 
           MVKL    .S2     RL15,B3           ; |130| 
           MVKH    .S2     RL15,B3           ; |130| 
           NOP             2
           ZERO    .D1     A4                ; |130| 
RL15:      ; CALL OCCURS                     ; |130| 
           CALL    .S1     _printf           ; |130| 
           MVKL    .S1     SL2+0,A0          ; |130| 
           MVKH    .S1     SL2+0,A0          ; |130| 
           STW     .D2T1   A0,*+SP(4)        ; |130| 

           MVKL    .S2     RL16,B3           ; |130| 
||         STW     .D2T1   A4,*+SP(8)        ; |130| 

           MVKH    .S2     RL16,B3           ; |130| 
RL16:      ; CALL OCCURS                     ; |130| 
	.line	8
           CALL    .S1     _flash_erase      ; |131| 
           MVKL    .S2     RL17,B3           ; |131| 
           MVKH    .S2     RL17,B3           ; |131| 
           NOP             3
RL17:      ; CALL OCCURS                     ; |131| 
	.line	9
           CALL    .S1     _flash_bootblock_detect ; |132| 
           MVKL    .S2     RL19,B3           ; |132| 
           ZERO    .D1     A4                ; |132| 
           NOP             2
           MVKH    .S2     RL19,B3           ; |132| 
RL19:      ; CALL OCCURS                     ; |132| 
           CALL    .S1     _printf           ; |132| 
           MVKL    .S2     SL2+0,B4          ; |132| 
           MVKH    .S2     SL2+0,B4          ; |132| 
           STW     .D2T2   B4,*+SP(4)        ; |132| 

           MVKL    .S2     RL20,B3           ; |132| 
||         STW     .D2T1   A4,*+SP(8)        ; |132| 

           MVKH    .S2     RL20,B3           ; |132| 
RL20:      ; CALL OCCURS                     ; |132| 
	.line	10
           LDW     .D2T2   *++SP(16),B3      ; |133| 
           NOP             4
           RET     .S2     B3                ; |133| 
           NOP             5
           ; BRANCH OCCURS                   ; |133| 
	.endfunc	133,000080000h,16



	.sect	".text"
	.global	_test_pci
	.sym	_test_pci,_test_pci, 32, 2, 0
	.func	135

;******************************************************************************
;* FUNCTION NAME: _test_pci                                                   *
;*                                                                            *
;*   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 + 16 Auto + 4 Save = 36 byte                 *
;******************************************************************************
_test_pci:
;** --------------------------------------------------------------------------*
	.line	2
	.sym	_device_addr,20, 14, 1, 32
	.sym	_memory_addr,24, 14, 1, 32
	.sym	_write_data,28, 4, 1, 32
	.sym	_data,32, 4, 1, 32
           STW     .D2T2   B3,*SP--(40)      ; |136| 
           NOP             2
	.line	3
           MVK     .S1     80,A0             ; |137| 

⌨️ 快捷键说明

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