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

📄 menu_sub.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
;----------------------------------------------------------------------
;  89 | { i++;                                                                 
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |89| 
        addi      *+fp(1),r0            ; |89| 
        sti       r0,*+fp(1)            ; |89| 
	.line	7
;----------------------------------------------------------------------
;  90 | if(i>100)                                                              
;----------------------------------------------------------------------
        cmpi      100,r0                ; |90| 
        ble       L11                   ; |90| 
;*      Branch Occurs to L11            ; |90| 
	.line	9
;----------------------------------------------------------------------
;  92 | Lcd_Initial();                                                         
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      @CL2,r0               ; |92| 
        callu     r0                    ; far call to _Lcd_Initial	; |92| 
                                        ; |92| Far Call Occurs
L11:        
	.line	5
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |88| 
        ldiu      128,r0                ; |88| 
        and3      r0,*ar0,r0            ; |88| 
        cmpi      128,r0                ; |88| 
        beq       L9                    ; |88| 
;*      Branch Occurs to L9             ; |88| 
L12:        
	.line	12
;----------------------------------------------------------------------
;  95 | *(int *)LCD_DATD_RIGHT=data;                                           
;----------------------------------------------------------------------
        ldp       @CL5,DP
        ldiu      @CL5,ar0              ; |95| 
        ldiu      *-fp(2),r0            ; |95| 
        sti       r0,*ar0               ; |95| 
	.line	13
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      3,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	96,000000000h,1


	.sect	 ".text"

	.global	_Lcd_Write_Com_Left
	.sym	_Lcd_Write_Com_Left,_Lcd_Write_Com_Left,32,2,0
	.func	101
;******************************************************************************
;* FUNCTION NAME: _Lcd_Write_Com_Left                                         *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,ar0,st                                           *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 1 Parm + 1 Auto + 0 SOE = 4 words          *
;******************************************************************************
_Lcd_Write_Com_Left:
	.sym	_command,-2,4,9,32
	.sym	_i,1,4,1,32
	.line	1
;----------------------------------------------------------------------
; 101 | void Lcd_Write_Com_Left(int  command)                                  
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      1,sp
	.line	2
	.line	3
;----------------------------------------------------------------------
; 103 | int  i = 0;                                                            
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |103| 
        sti       r0,*+fp(1)            ; |103| 
	.line	4
;----------------------------------------------------------------------
; 104 | while ((*(int *)LCD_COMMAND_LEFT&0x80) == 0x80)                        
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      @CL1,ar0              ; |104| 
        ldiu      128,r0                ; |104| 
        and3      r0,*ar0,r0            ; |104| 
        cmpi      128,r0                ; |104| 
        bne       L19                   ; |104| 
;*      Branch Occurs to L19            ; |104| 
L16:        
	.line	6
;----------------------------------------------------------------------
; 106 | i++;                                                                   
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |106| 
        addi      *+fp(1),r0            ; |106| 
        sti       r0,*+fp(1)            ; |106| 
	.line	7
;----------------------------------------------------------------------
; 107 | if(i>100)                                                              
;----------------------------------------------------------------------
        cmpi      100,r0                ; |107| 
        ble       L18                   ; |107| 
;*      Branch Occurs to L18            ; |107| 
	.line	9
;----------------------------------------------------------------------
; 109 | Lcd_Initial();                                                         
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      @CL2,r0               ; |109| 
        callu     r0                    ; far call to _Lcd_Initial	; |109| 
                                        ; |109| Far Call Occurs
L18:        
	.line	4
        ldp       @CL1,DP
        ldiu      @CL1,ar0              ; |104| 
        ldiu      128,r0                ; |104| 
        and3      r0,*ar0,r0            ; |104| 
        cmpi      128,r0                ; |104| 
        beq       L16                   ; |104| 
;*      Branch Occurs to L16            ; |104| 
L19:        
	.line	12
;----------------------------------------------------------------------
; 112 | *(int *)LCD_COMMAND_LEFT=command;                                      
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      @CL1,ar0              ; |112| 
        ldiu      *-fp(2),r0            ; |112| 
        sti       r0,*ar0               ; |112| 
	.line	13
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      3,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	113,000000000h,1


	.sect	 ".text"

	.global	_Lcd_Write_Com_Right
	.sym	_Lcd_Write_Com_Right,_Lcd_Write_Com_Right,32,2,0
	.func	118
;******************************************************************************
;* FUNCTION NAME: _Lcd_Write_Com_Right                                        *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,ar0,st                                           *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 1 Parm + 1 Auto + 0 SOE = 4 words          *
;******************************************************************************
_Lcd_Write_Com_Right:
	.sym	_command,-2,4,9,32
	.sym	_i,1,4,1,32
	.line	1
;----------------------------------------------------------------------
; 118 | void Lcd_Write_Com_Right(int  command)                                 
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      1,sp
	.line	2
	.line	3
;----------------------------------------------------------------------
; 120 | int  i = 0;                                                            
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |120| 
        sti       r0,*+fp(1)            ; |120| 
	.line	4
;----------------------------------------------------------------------
; 121 | while ((*(int *)LCD_COMMAND_RIGHT&0x80) == 0x80)                       
;----------------------------------------------------------------------
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |121| 
        ldiu      128,r0                ; |121| 
        and3      r0,*ar0,r0            ; |121| 
        cmpi      128,r0                ; |121| 
        bne       L26                   ; |121| 
;*      Branch Occurs to L26            ; |121| 
L23:        
	.line	6
;----------------------------------------------------------------------
; 123 | i++;                                                                   
;----------------------------------------------------------------------
        ldiu      1,r0                  ; |123| 
        addi      *+fp(1),r0            ; |123| 
        sti       r0,*+fp(1)            ; |123| 
	.line	7
;----------------------------------------------------------------------
; 124 | if(i>100)                                                              
;----------------------------------------------------------------------
        cmpi      100,r0                ; |124| 
        ble       L25                   ; |124| 
;*      Branch Occurs to L25            ; |124| 
	.line	9
;----------------------------------------------------------------------
; 126 | Lcd_Initial();                                                         
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      @CL2,r0               ; |126| 
        callu     r0                    ; far call to _Lcd_Initial	; |126| 
                                        ; |126| Far Call Occurs
L25:        
	.line	4
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |121| 
        ldiu      128,r0                ; |121| 
        and3      r0,*ar0,r0            ; |121| 
        cmpi      128,r0                ; |121| 
        beq       L23                   ; |121| 
;*      Branch Occurs to L23            ; |121| 
L26:        
	.line	12
;----------------------------------------------------------------------
; 129 | *(int *)LCD_COMMAND_RIGHT=command;                                     
;----------------------------------------------------------------------
        ldp       @CL4,DP
        ldiu      @CL4,ar0              ; |129| 
        ldiu      *-fp(2),r0            ; |129| 
        sti       r0,*ar0               ; |129| 
	.line	13
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      3,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	130,000000000h,1


	.sect	 ".text"

	.global	_Lcd_Initial
	.sym	_Lcd_Initial,_Lcd_Initial,32,2,0
	.func	135
;******************************************************************************
;* FUNCTION NAME: _Lcd_Initial                                                *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,fp,sp                                         *
;*   Regs Saved         :                                                     *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 0 Parm + 1 Auto + 0 SOE = 3 words          *
;******************************************************************************
_Lcd_Initial:
	.sym	_ptr,1,20,1,32
	.line	1
;----------------------------------------------------------------------
; 135 | void Lcd_Initial(void)                                                 
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        addi      1,sp
	.line	4
;----------------------------------------------------------------------
; 138 | int  *ptr=NU_NULL;                                                     
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |138| 
        sti       r0,*+fp(1)            ; |138| 
	.line	6
;----------------------------------------------------------------------
; 140 | Lcd_Write_Com_Left(0xc0);                                              
;----------------------------------------------------------------------
        ldp       @CL6,DP
        ldiu      @CL6,r1               ; |140| 
        ldiu      192,r0                ; |140| 
        push      r0                    ; |140| 
        callu     r1                    ; far call to _Lcd_Write_Com_Left	; |140| 
                                        ; |140| Far Call Occurs
        subi      1,sp                  ; |140| 
	.line	7
;----------------------------------------------------------------------
; 141 | Lcd_Write_Com_Right(0xc0);                                             
;----------------------------------------------------------------------
        ldp       @CL7,DP
        ldiu      192,r0                ; |141| 
        ldiu      @CL7,r1               ; |141| 
        push      r0                    ; |141| 
        callu     r1                    ; far call to _Lcd_Write_Com_Right	; |141| 
                                        ; |141| Far Call Occurs
        subi      1,sp                  ; |141| 
	.line	9
;----------------------------------------------------------------------
; 143 | Lcd_Write_Com_Left(0x3f);                                              
;----------------------------------------------------------------------
        ldp       @CL6,DP
        ldiu      63,r0                 ; |143| 
        ldiu      @CL6,r1               ; |143| 
        push      r0                    ; |143| 
        callu     r1                    ; far call to _Lcd_Write_Com_Left	; |143| 
                                        ; |143| Far Call Occurs
        subi      1,sp                  ; |143| 
	.line	10
;----------------------------------------------------------------------
; 144 | Lcd_Write_Com_Right(0x3f);                                             
;----------------------------------------------------------------------
        ldiu      63,r0                 ; |144| 
        ldp       @CL7,DP
        push      r0                    ; |144| 
        ldiu      @CL7,r1               ; |144| 
        callu     r1                    ; far call to _Lcd_Write_Com_Right	; |144| 
                                        ; |144| Far Call Occurs
        subi      1,sp                  ; |144| 
	.line	12
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Unallocate the Frame
        subi      3,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	146,000000000h,1


	.sect	 ".text"

⌨️ 快捷键说明

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