📄 basedo.asm
字号:
.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 + -