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

📄 protectover_load.asm

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

⌨️ 快捷键说明

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