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

📄 basedo.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 4 页
字号:
	.member	_SOE_name,32,50,8,640,,20
	.member	_SOE_Inf,672,14,8,32
	.member	_DPI,704,14,8,32
	.member	_Relative_Time,736,14,8,32
	.member	_Fault_Number,768,14,8,32
	.member	_Year,800,14,8,32
	.member	_Month,832,14,8,32
	.member	_Day,864,14,8,32
	.member	_Hour,896,14,8,32
	.member	_Minute,928,14,8,32
	.member	_Millionsecond,960,14,8,32
	.member	_SIN,992,14,8,32
	.eos
	.sym	_SOE,0,8,13,1024,_SOE_STRUCT
	.stag	_PROTECT_STRUCT,2848
	.member	_pro_link_next,0,24,8,32,_PROTECT_STRUCT
	.member	_pro_link_previous,32,24,8,32,_PROTECT_STRUCT
	.member	_init_flag,64,14,8,32
	.member	_pro_id,96,14,8,32
	.member	_ppro_device_name,128,18,8,32
	.member	_pro_device_name,160,50,8,320,,10
	.member	_ppro_name,480,18,8,32
	.member	_pro_name,512,50,8,640,,20
	.member	_pro_config,1152,2,8,32
	.member	_pro_analog_channel,1184,62,8,1024,,32
	.member	_pro_signal,2208,14,8,32
	.member	_pro_trip,2240,14,8,32
	.member	_pro_setting_number,2272,14,8,32
	.member	_pro_setting,2304,24,8,32,_SETTING_STRUCT
	.member	_pro_jumper_number,2336,14,8,32
	.member	_pro_jumper,2368,24,8,32,_JUMPER_STRUCT
	.member	_pro_run_data_number,2400,14,8,32
	.member	_pro_run_data,2432,24,8,32,_VALUE_STRUCT
	.member	_pro_startup_flag,2464,4,8,32
	.member	_pro_pickup_flag,2496,4,8,32
	.member	_pro_reset_flag,2528,4,8,32
	.member	_pro_routine_handler,2560,144,8,32
	.member	_pro_reserve0,2592,14,8,32
	.member	_pro_reserve1,2624,14,8,32
	.member	_pro_reserve2,2656,14,8,32
	.member	_pro_reserve3,2688,14,8,32
	.member	_pro_reserve4,2720,14,8,32
	.member	_pro_reserve5,2752,14,8,32
	.member	_pro_reserve6,2784,14,8,32
	.member	_pro_reserve7,2816,14,8,32
	.eos
	.sym	_PROTECT,0,8,13,2848,_PROTECT_STRUCT
	.stag	_PROTECT_REPORT,1184
	.member	_pro_report_flag,0,4,8,32
	.member	_pro_report_soe,32,8,8,1024,_SOE_STRUCT
	.member	_pro_report_data_number,1056,14,8,32
	.member	_pro_report_data,1088,24,8,32,_VALUE_STRUCT
	.member	_pro_channel_number,1120,14,8,32
	.member	_mmi_flag,1152,14,8,32
	.eos
	.sym	_REPORT,0,8,13,1184,_PROTECT_REPORT
	.stag	_TIME_STRUCT,192
	.member	_Year,0,14,8,32
	.member	_Month,32,14,8,32
	.member	_Day,64,14,8,32
	.member	_Hour,96,14,8,32
	.member	_Minute,128,14,8,32
	.member	_Millionsecond,160,14,8,32
	.eos
	.sym	_TIME,0,8,13,192,_TIME_STRUCT
	.file	"chk_defs.h"
	.stag	_CHECK_STRUCT,352
	.member	_chk_link_next,0,24,8,32,_CHECK_STRUCT
	.member	_chk_link_previous,32,24,8,32,_CHECK_STRUCT
	.member	_chk_id,64,14,8,32
	.member	_pSOE_name,96,18,8,32
	.member	_pSOE_back_name,128,18,8,32
	.member	_SOE_Inf,160,14,8,32
	.member	_closedown,192,14,8,32
	.member	_startup_flag,224,14,8,32
	.member	_pickup_flag,256,14,8,32
	.member	_delay_time,288,14,8,32
	.member	_chk_routine_handler,320,144,8,32
	.eos
	.sym	_CHECK,0,8,13,352,_CHECK_STRUCT
	.file	"chl_defs.h"
	.stag	_PRO_CHANNEL_STRUCT,2624
	.member	_chl_Num,0,14,8,32
	.member	_pchl_device_name,32,18,8,32
	.member	_chl_device_name,64,50,8,512,,16
	.member	_pchl_name,576,18,8,32
	.member	_chl_name,608,50,8,1024,,32
	.member	_chl_calculate_style,1632,4,8,32
	.member	_pchl_value_dimension,1664,18,8,32
	.member	_chl_calculate_coefficient,1696,6,8,32
	.member	_chl_correlation_channel,1728,2,8,32
	.member	_pchl_Sample_Address,1760,18,8,32
	.member	_chla_DC_component,1792,6,8,32
	.member	_chla_fundamental_real,1824,6,8,32
	.member	_chla_fundamental_imaginary,1856,6,8,32
	.member	_chla_2nd_harmonic_real,1888,6,8,32
	.member	_chla_2nd_harmonic_imaginary,1920,6,8,32
	.member	_chla_3rd_harmonic_real,1952,6,8,32
	.member	_chla_3rd_harmonic_imaginary,1984,6,8,32
	.member	_chla_5th_harmonic_real,2016,6,8,32
	.member	_chla_5th_harmonic_imaginary,2048,6,8,32
	.member	_chlb_DC_component,2080,6,8,32
	.member	_chlb_fundamental_real,2112,6,8,32
	.member	_chlb_fundamental_imaginary,2144,6,8,32
	.member	_chlb_2nd_harmonic_real,2176,6,8,32
	.member	_chlb_2nd_harmonic_imaginary,2208,6,8,32
	.member	_chlb_3rd_harmonic_real,2240,6,8,32
	.member	_chlb_3rd_harmonic_imaginary,2272,6,8,32
	.member	_chlb_5th_harmonic_real,2304,6,8,32
	.member	_chlb_5th_harmonic_imaginary,2336,6,8,32
	.member	_chl_value,2368,6,8,32
	.member	_chl_value1,2400,6,8,32
	.member	_chl_angle,2432,6,8,32
	.member	_chl_scale,2464,6,8,32
	.member	_chl_angle_compensate,2496,6,8,32
	.member	_chl_angle_compensate_real,2528,6,8,32
	.member	_chl_angle_compensate_imaginary,2560,6,8,32
	.member	_chl_empty_flag,2592,14,8,32
	.eos
	.sym	_PRO_CHANNEL,0,8,13,2624,_PRO_CHANNEL_STRUCT
	.stag	_CHANNEL_STRUCT,2560
	.member	_words,0,62,8,2560,,80
	.eos
	.sym	_CHANNEL,0,8,13,2560,_CHANNEL_STRUCT
	.file	"comm.h"
	.stag	_Buffer_Struct,128
	.member	_pInBuffer,0,92,8,32
	.member	_pOutBuffer,32,92,8,32
	.member	_Buffer,64,28,8,32
	.member	_Length,96,4,8,32
	.eos
	.file	"BaseVariable.h"
	.file	"basedo.c"

	.sect	".cinit"
	.field  	1,32
	.field  	_Switchout_buf+0,32
	.field  	16383,32		; _Switchout_buf @ 0

	.sect	".text"

	.global	_Switchout_buf
	.bss	_Switchout_buf,1
	.sym	_Switchout_buf,_Switchout_buf,14,2,32

	.sect	".cinit"
	.field  	1,32
	.field  	_CtrlOutBuf+0,32
	.field  	7,32		; _CtrlOutBuf @ 0

	.sect	".text"

	.global	_CtrlOutBuf
	.bss	_CtrlOutBuf,1
	.sym	_CtrlOutBuf,_CtrlOutBuf,14,2,32
	.sect	 ".text"

	.global	_Ctrl_Output_on
	.sym	_Ctrl_Output_on,_Ctrl_Output_on,32,2,0
	.func	21
;******************************************************************************
;* FUNCTION NAME: _Ctrl_Output_on                                             *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,ar0,fp,ar4,sp                                 *
;*   Regs Saved         : ar4                                                 *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 1 Parm + 0 Auto + 1 SOE = 4 words          *
;******************************************************************************
_Ctrl_Output_on:
	.sym	_chn,-2,14,9,32
;* ar4   assigned to _p
	.sym	_p,12,30,4,32
;* r0    assigned to _old_preempt
	.sym	_old_preempt,0,12,4,32
	.line	1
;----------------------------------------------------------------------
;  21 | VOID Ctrl_Output_on(UNSIGNED chn)                                      
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        push      ar4
	.line	2
	.line	3
;----------------------------------------------------------------------
;  23 | register UNSIGNED *p = &CtrlOutBuf;                                    
;  24 | register OPTION   old_preempt;                                         
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      @CL1,ar4              ; |23| 
	.line	6
;----------------------------------------------------------------------
;  26 | old_preempt = NU_Change_Preemption(NU_NO_PREEMPT);    //不再切换任务,避
;     | 免被其他任务打断,造成误动                                              
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      8,r1                  ; |26| 
        ldiu      @CL2,r0               ; |26| 
        push      r1                    ; |26| 
        callu     r0                    ; far call to _TCSE_Change_Preemption	; |26| 
                                        ; |26| Far Call Occurs
        subi      1,sp                  ; |26| 
	.line	8
;----------------------------------------------------------------------
;  28 | *p &= ~(1 << chn);                                                     
;----------------------------------------------------------------------
        ldiu      1,r1                  ; |28| 
        ash       *-fp(2),r1            ; |28| 
        andn3     r1,*ar4,r1            ; |28| 
        sti       r1,*ar4               ; |28| 
	.line	9
;----------------------------------------------------------------------
;  29 | *pCTRLPORT = *p;                                                       
;----------------------------------------------------------------------
        ldp       @CL3,DP
        ldiu      @CL3,ar0              ; |29| 
        ldiu      *ar0,ar0              ; |29| 
        ldiu      *ar4,r1               ; |29| 
        sti       r1,*ar0               ; |29| 
	.line	11
;----------------------------------------------------------------------
;  31 | NU_Change_Preemption(old_preempt);                    //可以切换任务   
;----------------------------------------------------------------------
        ldp       @CL2,DP
        push      r0                    ; |31| 
        ldiu      @CL2,r1               ; |31| 
        callu     r1                    ; far call to _TCSE_Change_Preemption	; |31| 
                                        ; |31| Far Call Occurs
        subi      1,sp                  ; |31| 
	.line	12
                                        ; Begin Epilog Code
        ldiu      *-fp(1),r1
        ldiu      *fp,fp
                                        ; Restore SOE Registers
        pop       ar4
                                        ; Unallocate the Frame
        subi      2,sp
        bu        r1
;*      Branch Occurs to r1 
	.endfunc	32,000001000h,0


	.sect	 ".text"

	.global	_Ctrl_Output_off
	.sym	_Ctrl_Output_off,_Ctrl_Output_off,32,2,0
	.func	37
;******************************************************************************
;* FUNCTION NAME: _Ctrl_Output_off                                            *
;*                                                                            *
;*   Architecture       : TMS320C32                                           *
;*   Calling Convention : Stack Parameter Convention                          *
;*   Function Uses Regs : r0,r1,ar0,fp,ar4,sp                                 *
;*   Regs Saved         : ar4                                                 *
;*   Stack Frame        : Full (w/ debug)                                     *
;*   Total Frame Size   : 2 Call + 1 Parm + 0 Auto + 1 SOE = 4 words          *
;******************************************************************************
_Ctrl_Output_off:
	.sym	_chn,-2,14,9,32
;* ar4   assigned to _p
	.sym	_p,12,30,4,32
;* r0    assigned to _old_preempt
	.sym	_old_preempt,0,12,4,32
	.line	1
;----------------------------------------------------------------------
;  37 | VOID Ctrl_Output_off(UNSIGNED chn)                                     
;----------------------------------------------------------------------
        push      fp
        ldiu      sp,fp
        push      ar4
	.line	2
	.line	3
;----------------------------------------------------------------------
;  39 | register UNSIGNED *p = &CtrlOutBuf;                                    
;  40 | register OPTION   old_preempt;                                         
;----------------------------------------------------------------------
        ldp       @CL1,DP
        ldiu      @CL1,ar4              ; |39| 
	.line	6
;----------------------------------------------------------------------
;  42 | old_preempt = NU_Change_Preemption(NU_NO_PREEMPT);    //不再切换任务,避
;     | 免被其他任务打断,造成误动                                              
;----------------------------------------------------------------------
        ldp       @CL2,DP
        ldiu      8,r1                  ; |42| 
        ldiu      @CL2,r0               ; |42| 
        push      r1                    ; |42| 
        callu     r0                    ; far call to _TCSE_Change_Preemption	; |42| 
                                        ; |42| Far Call Occurs
        subi      1,sp                  ; |42| 
	.line	8
;----------------------------------------------------------------------
;  44 | *p |= (1 << chn);                                                      
;----------------------------------------------------------------------
        ldiu      1,r1                  ; |44| 
        ash       *-fp(2),r1            ; |44| 
        or3       r1,*ar4,r1            ; |44| 
        sti       r1,*ar4               ; |44| 
	.line	9
;----------------------------------------------------------------------
;  45 | *pCTRLPORT = *p;                                                       
;----------------------------------------------------------------------
        ldp       @CL3,DP
        ldiu      @CL3,ar0              ; |45| 
        ldiu      *ar0,ar0              ; |45| 
        ldiu      *ar4,r1               ; |45| 
        sti       r1,*ar0               ; |45| 
	.line	11

⌨️ 快捷键说明

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