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

📄 protectoc2_current.asm

📁 电力系统中的保护装置全部代码
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        ldiu      @CL6,r0               ; |40| 
        sti       r0,*+ar0(15)          ; |40| 
	.line	25
;----------------------------------------------------------------------
;  42 | pProtect->pro_trip = 0x1;                                              
;  44 | //////模拟通道                                                         
;  45 | // ----------------------------------------------------- //            
;  46 | //相电流                                                               
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |42| 
        ldiu      1,r0                  ; |42| 
        sti       r0,*+ar0(70)          ; |42| 
	.line	30
;----------------------------------------------------------------------
;  47 | pProtect->pro_analog_channel[0]    =    PIa_Chn;                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |47| 
        ldiu      4,r0                  ; |47| 
        sti       r0,*+ar0(37)          ; |47| 
	.line	31
;----------------------------------------------------------------------
;  48 | pProtect->pro_analog_channel[1]    =    PIb_Chn;                       
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |48| 
        ldiu      14,r0                 ; |48| 
        sti       r0,*+ar0(38)          ; |48| 
	.line	32
;----------------------------------------------------------------------
;  49 | pProtect->pro_analog_channel[2]    =    PIc_Chn;                       
;  51 | //////压板                                                             
;  52 | // ----------------------------------------------------- //            
;  53 | //压板个数                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |49| 
        ldiu      9,r0                  ; |49| 
        sti       r0,*+ar0(39)          ; |49| 
	.line	37
;----------------------------------------------------------------------
;  54 | pProtect->pro_jumper_number    =    0;                                 
;  55 | //指针赋值                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |54| 
        ldiu      0,r0                  ; |54| 
        sti       r0,*+ar0(73)          ; |54| 
	.line	39
;----------------------------------------------------------------------
;  56 | pJumper = pProtect->pro_jumper;                                        
;  57 | //ID号                                                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |56| 
        ldiu      *+ar0(74),r0          ; |56| 
        sti       r0,*+fp(5)            ; |56| 
	.line	41
;----------------------------------------------------------------------
;  58 | pJumper->pro_id     =    pProtect->pro_id;                             
;  59 | //序号                                                                 
;----------------------------------------------------------------------
        ldiu      ar0,ar1
        ldiu      r0,ar0
        ldiu      *+ar1(3),r0           ; |58| 
        sti       r0,*ar0               ; |58| 
	.line	43
;----------------------------------------------------------------------
;  60 | pJumper->jum_id     =    pProtect->pro_jumper_number;
;     |                                                                        
;  61 | //INF                                                                  
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar1           ; |60| 
        ldiu      *+fp(5),ar0           ; |60| 
        ldiu      *+ar1(73),r0          ; |60| 
        sti       r0,*+ar0(1)           ; |60| 
	.line	45
;----------------------------------------------------------------------
;  62 | pJumper->jum_inf    =    187;                                          
;  63 | //CONTROLINF                                                           
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |62| 
        ldiu      187,r0                ; |62| 
        sti       r0,*+ar0(2)           ; |62| 
	.line	47
;----------------------------------------------------------------------
;  64 | pJumper->jum_ctrl   =    51;
;     |                                                                        
;  65 | //压板名称                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |64| 
        ldiu      51,r0                 ; |64| 
        sti       r0,*+ar0(3)           ; |64| 
	.line	49
;----------------------------------------------------------------------
;  66 | pJumper->pjum_name     =    "过流Ⅱ段投退";                            
;----------------------------------------------------------------------
        ldp       @CL7,DP
        ldiu      *+fp(5),ar0           ; |66| 
        ldiu      @CL7,r0               ; |66| 
        sti       r0,*+ar0(4)           ; |66| 
	.line	50
;----------------------------------------------------------------------
;  67 | pJumper->pjum_alias    =    "GL2";                                     
;  68 | //压板状态                                                             
;----------------------------------------------------------------------
        ldp       @CL8,DP
        ldiu      *+fp(5),ar0           ; |67| 
        ldiu      @CL8,r0               ; |67| 
        sti       r0,*+ar0(25)          ; |67| 
	.line	52
;----------------------------------------------------------------------
;  69 | pJumper->jum_status    =    1;                                         
;  70 | //赋值增量                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(5),ar0           ; |69| 
        ldiu      1,r0                  ; |69| 
        sti       r0,*+ar0(26)          ; |69| 
	.line	54
;----------------------------------------------------------------------
;  71 | pJumper++;                                                             
;----------------------------------------------------------------------
        ldiu      27,r0                 ; |71| 
        addi      *+fp(5),r0            ; |71| Unsigned
        sti       r0,*+fp(5)            ; |71| 
	.line	55
;----------------------------------------------------------------------
;  72 | pProtect->pro_jumper_number++;                                         
;  74 | //////定值                                                             
;  75 | // ----------------------------------------------------- //            
;  76 | //定值个数                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |72| 
        ldiu      1,r0                  ; |72| 
        addi      *+ar0(73),r0          ; |72| Unsigned
        sti       r0,*+ar0(73)          ; |72| 
	.line	60
;----------------------------------------------------------------------
;  77 | pProtect->pro_setting_number    =    0;                                
;  78 | //指针赋值                                                             
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |77| 
        ldiu      0,r0                  ; |77| 
        sti       r0,*+ar0(71)          ; |77| 
	.line	62
;----------------------------------------------------------------------
;  79 | pSets = pProtect->pro_setting;                                         
;  80 | //电流                                                                 
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |79| 
        ldiu      *+ar0(72),r0          ; |79| 
        sti       r0,*+fp(2)            ; |79| 
	.line	64
;----------------------------------------------------------------------
;  81 | pSets->pro_id    =    pProtect->pro_id;                                
;----------------------------------------------------------------------
        ldiu      ar0,ar1
        ldiu      r0,ar0
        ldiu      *+ar1(3),r0           ; |81| 
        sti       r0,*ar0               ; |81| 
	.line	65
;----------------------------------------------------------------------
;  82 | pSets->set_id    =    ++(pProtect->pro_setting_number);                
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar0           ; |82| 
        ldiu      1,r0                  ; |82| 
        addi      *+ar0(71),r0          ; |82| Unsigned
        sti       r0,*+ar0(71)          ; |82| 
        ldiu      *+fp(2),ar0           ; |82| 
        sti       r0,*+ar0(1)           ; |82| 
	.line	66
;----------------------------------------------------------------------
;  83 | pSets->pset_name     =    (CHAR*)strcpy(pSets->set_name,"Ⅱ段电流值"); 
;----------------------------------------------------------------------
        ldp       @CL9,DP
        ldiu      @CL9,r1               ; |83| 
        ldiu      3,r0                  ; |83| 
        addi      *+fp(2),r0            ; |83| Unsigned
        push      r1                    ; |83| 
        push      r0                    ; |83| 
        call      _strcpy               ; |83| 
                                        ; |83| Call Occurs
        subi      2,sp                  ; |83| 
        ldiu      *+fp(2),ar0           ; |83| 
        sti       r0,*+ar0(2)           ; |83| 
	.line	67
;----------------------------------------------------------------------
;  84 | pSets->pset_alias    =    "I2zd";
;     |                                                                        
;----------------------------------------------------------------------
        ldp       @CL10,DP
        ldiu      *+fp(2),ar0           ; |84| 
        ldiu      @CL10,r0              ; |84| 
        sti       r0,*+ar0(25)          ; |84| 
	.line	68
;----------------------------------------------------------------------
;  85 | pSets->pset_dimension     =    "A";                                    
;----------------------------------------------------------------------
        ldp       @CL11,DP
        ldiu      *+fp(2),ar0           ; |85| 
        ldiu      @CL11,r0              ; |85| 
        sti       r0,*+ar0(24)          ; |85| 
	.line	69
;----------------------------------------------------------------------
;  86 | pSets->set_lower_limit    =    0.5;                                    
;----------------------------------------------------------------------
        ldp       @CL12,DP
        ldiu      *+fp(2),ar0           ; |86| 
        ldfu      @CL12,f0              ; |86| 
        stf       f0,*+ar0(28)          ; |86| 
	.line	70
;----------------------------------------------------------------------
;  87 | pSets->set_high_limit     =    100.0;                                  
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |87| 
        ldfu      1.0000000000e+02,f0   ; |87| 
        stf       f0,*+ar0(29)          ; |87| 
	.line	71
;----------------------------------------------------------------------
;  88 | pSets->set_calculate_style    =    CHL_FOURIER1_;                      
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |88| 
        ldiu      0,r0                  ; |88| 
        sti       r0,*+ar0(23)          ; |88| 
	.line	72
;----------------------------------------------------------------------
;  89 | pSets->set_calculate_coefficient    =    CHL_CONSTANT_1;               
;----------------------------------------------------------------------
        ldiu      *+fp(2),ar0           ; |89| 
        ldfu      1.0000000000e+00,f0   ; |89| 
        stf       f0,*+ar0(27)          ; |89| 
	.line	73
;----------------------------------------------------------------------
;  90 | for(i=0;i<SET_ZONE;i++)                                                
;----------------------------------------------------------------------
        ldiu      0,r0                  ; |90| 
        sti       r0,*+fp(7)            ; |90| 
        ldfu      1.0000000000e+02,f1   ; |91| 
        cmpi      8,r0                  ; |90| 
        bge       L3                    ; |90| 
;*      Branch Occurs to L3             ; |90| 
L2:        
	.line	74
;----------------------------------------------------------------------
;  91 | pSets->set_value_zone[i]      =    100.0*CHL_CONSTANT_1;               
;----------------------------------------------------------------------
        ldiu      *+fp(7),ar0           ; |91| 
        addi      *+fp(2),ar0           ; |91| Unsigned
        stf       f1,*+ar0(30)          ; |91| 
	.line	73
        ldiu      1,r0                  ; |90| 
        addi      *+fp(7),r0            ; |90| 
        sti       r0,*+fp(7)            ; |90| 
        cmpi      8,r0                  ; |90| 
        blt       L2                    ; |90| 
;*      Branch Occurs to L2             ; |90| 
L3:        
	.line	75
;----------------------------------------------------------------------
;  92 | pSets++;                                                               
;  93 | //------------------------------------------------//                   
;  94 | //时限                                                                 
;----------------------------------------------------------------------
        ldiu      38,r0                 ; |92| 
        addi      *+fp(2),r0            ; |92| Unsigned
        sti       r0,*+fp(2)            ; |92| 
	.line	78
;----------------------------------------------------------------------
;  95 | pSets->pro_id    =    pProtect->pro_id;                                
;----------------------------------------------------------------------
        ldiu      *+fp(1),ar1           ; |95| 
        ldiu      r0,ar0                ; |95| 
        ldiu      *+ar1(3),r0           ; |95| 
        sti       r0,*ar0               ; |95| 
	.line	79
;----------------------------------------------------------------------
;  96 | pSets->set_id    =    ++(pProtect->pro_setting_number);

⌨️ 快捷键说明

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