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

📄 gpio.asm

📁 TMS320VC5509的通用输入输出口的例程源码
💻 ASM
📖 第 1 页 / 共 2 页
字号:
                                        ; call occurs [#_delay]	; |60| 
;----------------------------------------------------------------------
;  63 | for(;;)                                                                
;----------------------------------------------------------------------
        ADD #1, *SP(#0) ; |61| 
        MOV *SP(#0), AR1 ; |61| 
        BCC L1,AR1 <= #0 ; |61| 
                                        ; branch occurs	; |61| 
L2:    
;----------------------------------------------------------------------
;  65 | GPIO_RSET(IODATA,0x1);                                                 
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |65| 
        MOV #1, port(*AR3) ; |65| 
;----------------------------------------------------------------------
;  66 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |66| 
                                        ; call occurs [#_delay]	; |66| 
;----------------------------------------------------------------------
;  67 | GPIO_RSET(IODATA,0x2);                                                 
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |67| 
        MOV #2, port(*AR3) ; |67| 
;----------------------------------------------------------------------
;  68 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |68| 
                                        ; call occurs [#_delay]	; |68| 
;----------------------------------------------------------------------
;  69 | GPIO_RSET(IODATA,0x4);                                                 
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |69| 
        MOV #4, port(*AR3) ; |69| 
;----------------------------------------------------------------------
;  70 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |70| 
                                        ; call occurs [#_delay]	; |70| 
;----------------------------------------------------------------------
;  71 | GPIO_RSET(IODATA,0x8);                                                 
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |71| 
        MOV #8, port(*AR3) ; |71| 
;----------------------------------------------------------------------
;  72 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |72| 
                                        ; call occurs [#_delay]	; |72| 
;----------------------------------------------------------------------
;  73 | GPIO_RSET(IODATA,0x10);                                                
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |73| 
        MOV #16, port(*AR3) ; |73| 
;----------------------------------------------------------------------
;  74 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |74| 
                                        ; call occurs [#_delay]	; |74| 
;----------------------------------------------------------------------
;  75 | GPIO_RSET(IODATA,0x40);                                                
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |75| 
        MOV #64, port(*AR3) ; |75| 
;----------------------------------------------------------------------
;  76 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |76| 
                                        ; call occurs [#_delay]	; |76| 
;----------------------------------------------------------------------
;  77 | GPIO_RSET(IODATA,0x80);                                                
;----------------------------------------------------------------------
        MOV #13313, AR3 ; |77| 
        MOV #128, port(*AR3) ; |77| 
;----------------------------------------------------------------------
;  78 | delay();                                                               
;----------------------------------------------------------------------
        CALL #_delay ; |78| 
                                        ; call occurs [#_delay]	; |78| 
        B L2      ; |79| 
                                        ; branch occurs	; |79| 



	.sect	".text"
	.align 4
	.global	_delay
;----------------------------------------------------------------------
;  81 | void delay()                                                           
;----------------------------------------------------------------------
;*******************************************************************************
;* FUNCTION NAME: _delay                                                       *
;*                                                                             *
;*   Function Uses Regs : AC0,AC0,AC1,AC1,SP,CARRY,TC1,M40,SATA,SATD,RDM,FRCT, *
;*                        SMUL                                                 *
;*   Stack Frame        : Compact (No Frame Pointer)                           *
;*   Total Frame Size   : 6 words                                              *
;*                        (2 return address/alignment)                         *
;*                        (4 local values)                                     *
;*******************************************************************************
_delay:
        AADD #-5, SP
;----------------------------------------------------------------------
;  83 | Uint32 j = 0,k = 0;                                                    
;----------------------------------------------------------------------
        MOV #0, AC0 ; |83| 
        MOV AC0, dbl(*SP(#0)) ; |83| 
        MOV AC0, dbl(*SP(#2)) ; |83| 
;----------------------------------------------------------------------
;  84 | for(j = 0;j<0X1F;j++)                                                  
;----------------------------------------------------------------------
        MOV AC0, dbl(*SP(#0)) ; |84| 
        MOV dbl(*SP(#0)), AC1 ; |84| 
        MOV #31, AC0 ; |84| 
        CMPU AC1 >= AC0, TC1 ; |84| 
        BCC L6,TC1 ; |84| 
                                        ; branch occurs	; |84| 
L3:    
;----------------------------------------------------------------------
;  86 | for(k= 0;k<0XFFFF;k++)                                                 
;----------------------------------------------------------------------
        MOV #0, AC0 ; |86| 
        MOV AC0, dbl(*SP(#2)) ; |86| 

        MOV #0, AC0 ; |86| 
||      MOV dbl(*SP(#2)), AC1 ; |86| 

        OR #0xffff, AC0, AC0 ; |86| 
        CMPU AC1 >= AC0, TC1 ; |86| 
        BCC L5,TC1 ; |86| 
                                        ; branch occurs	; |86| 
L4:    
        MOV dbl(*SP(#2)), AC0 ; |87| 
        ADD #1, AC0 ; |87| 
        MOV AC0, dbl(*SP(#2)) ; |87| 

        MOV #0, AC0 ; |87| 
||      MOV dbl(*SP(#2)), AC1 ; |87| 

        OR #0xffff, AC0, AC0 ; |87| 
        CMPU AC1 < AC0, TC1 ; |87| 
        BCC L4,TC1 ; |87| 
                                        ; branch occurs	; |87| 
L5:    
        MOV dbl(*SP(#0)), AC0 ; |88| 
        MOV #31, AC1 ; |88| 
        ADD #1, AC0 ; |88| 
        MOV AC0, dbl(*SP(#0)) ; |88| 
        MOV dbl(*SP(#0)), AC0 ; |88| 
        CMPU AC0 < AC1, TC1 ; |88| 
        BCC L3,TC1 ; |88| 
                                        ; branch occurs	; |88| 
L6:    
        AADD #5, SP
        RET
                                        ; return occurs


;*******************************************************************************
;* UNDEFINED EXTERNAL REFERENCES                                               *
;*******************************************************************************
	.global	_CSL5509_LIB_
	.global	__CSL_init
	.global	_PLL_config

;*******************************************************************************
;* TYPE INFORMATION                                                            *
;*******************************************************************************

⌨️ 快捷键说明

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