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

📄 pid_reg2.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 2 页
字号:
         001e 002b' 
     152                                            ; If (upi_reg2 + min_reg2) <  0 go to label 
     153                                            ; __PID2_Sat_Minus_Io
     154                                            ; ARP = AR3. AR3 -> min_reg2
     155            ;--------------------------------------------------------------------------------        
     156 001f 7c03                  SBRK  #3        ; AR3 -> upi_reg2
     157                                            ; ARP = AR3. 
     158            ;--------------------------------------------------------------------------------            
     159 0020 1080                  LACC  *         ; ACC[Q15] = upi_reg2[Q15]
     160                                            ; AR3 -> upi_reg2
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:19 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
pid_reg2.asm                                                         PAGE    4

     161                                            ; ARP = AR3. 
     162            ;--------------------------------------------------------------------------------            
     163 0021 7802                  ADRK  #2        ; AR3 -> max_reg2
     164                                            ; ARP = AR3. 
     165            ;--------------------------------------------------------------------------------            
     166 0022 3080                  SUB   *         ; ACC = upi_reg2 - max_reg2
     167                                            ; ARP = AR3
     168                                            ; AR3 -> max_reg2
     169                                            ; ARP = AR3.
     170            ;--------------------------------------------------------------------------------            
     171 0023 e38c                  BCND  __PID2_Sat_Plus_Io, GEQ
         0024 002f' 
     172                                            ; If (upi_reg2 - max_reg2) >= 0 go to 
     173                                            ; label __PID2_Sat_Plus_Io
     174                                            ; AR3 -> max_reg2
     175                                            ; ARP = AR3. 
     176            ;--------------------------------------------------------------------------------                               
     177 0025 7c02                  SBRK  #2        ; AR3 -> upi_reg2
     178                                            ; ARP = AR3. 
     179            ;--------------------------------------------------------------------------------            
     180 0026 1080                  LACC  *         ; ACC = upi_reg2
     181                                            ; ARP = AR3. AR3 -> upi_reg2
     182            ;--------------------------------------------------------------------------------            
     183 0027 7804                  ADRK  #4        ; AR3 -> out_reg2
     184                                            ; ARP = AR3
     185            ;--------------------------------------------------------------------------------            
     186 0028 9080                  SACL  *         ; out_reg2[Q15] = upi_reg2[Q15]
     187                                            ; AR3 -> out_reg2
     188                                            ; ARP = AR3
     189            ;--------------------------------------------------------------------------------            
     190 0029 7980                  B     __PID2_Fwd_Io    
         002a 0032' 
     191                                            ; AR3 -> out_reg2
     192                                            ; ARP = AR3
     193            ;--------------------------------------------------------------------------------            
     194                        ;Saturation control
     195 002b       __PID2_Sat_Minus_Io:
     196                                            ; AR3 -> out_reg2
     197 002b 10a0                  LACC  *+        ; ACC = min_reg2. 
     198                                            ; ARP = AR3. 
     199            ;--------------------------------------------------------------------------------            
     200 002c 9080                  SACL  *         ; out_reg2[Q15] = min_reg2[Q15]
     201                                            ; ARP = AR3. 
     202                                            ; AR3 -> out_reg2
     203            ;--------------------------------------------------------------------------------            
     204 002d 7980                  B     __PID2_Fwd_Io    
         002e 0032' 
     205                                            ; ARP = AR3. 
     206                                            ; AR3 -> out_reg2
     207            ;--------------------------------------------------------------------------------            
     208 002f       __PID2_Sat_Plus_Io:    
     209                                            ; AR3 -> max_reg2
     210 002f 1080                  LACC  *         ; ACC = max_reg2
     211                                            ; ARP = AR3. 
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:19 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
pid_reg2.asm                                                         PAGE    5

     212            ;--------------------------------------------------------------------------------            
     213 0030 7802                  ADRK  #2        ; AR3 -> out_reg2
     214                                            ; ARP = AR3. 
     215            ;--------------------------------------------------------------------------------                        
     216 0031 9080                  SACL  *         ; out_reg2[Q15] = max_reg2[Q15]
     217                                            ; AR3 -> out_reg2
     218                                            ; ARP = AR3. 
     219            ;--------------------------------------------------------------------------------    
     220 0032       __PID2_Fwd_Io:    
     221                                            ; AR3 -> out_reg2
     222 0032 1080                  LACC  *         ; ACC = out_reg2[Q15]
     223                                            ; ARP = AR3. 
     224            ;--------------------------------------------------------------------------------            
     225 0033 7c04                  SBRK  #4        ; AR3 -> upi_reg2
     226                                            ; ARP = AR3. 
     227            ;--------------------------------------------------------------------------------    
     228 0034 30a0                  SUB   *+        ; ACC = out_reg2[Q15] - upi_reg2[Q15]
     229                                            ; ARP = AR3. AR3 -> epi_reg2
     230            ;--------------------------------------------------------------------------------    
     231                                            ; AR3 -> epi_reg2
     232 0035 9080                  SACL  *         ; epi_reg2 = out_reg2 - Upi_reg2
     233                                            ; ARP = AR3
     234            ;--------------------------------------------------------------------------------    
     235 0036 7380                  LT    *         ; TREG = epi_reg2[Q15]
     236                                            ; ARP = AR3. AR3 -> epi_reg2
     237            ;--------------------------------------------------------------------------------    
     238 0037 7c04                  SBRK  #4        ; AR3 -> kc_reg2[Q13]
     239                                            ; ARP = AR3
     240            ;--------------------------------------------------------------------------------    
     241 0038 5480                  MPY   *         ; PREG[Q28] = kc_reg2[Q13] * epi_reg2[Q15]
     242                                            ; ARP = AR3
     243                                            ; AR3 -> kc_reg2[Q13]
     244            ;--------------------------------------------------------------------------------    
     245 0039 be03                  PAC             ; ACC[Q28] = PREG[Q28]
     246                                            ; ARP = AR3
     247                                            ; AR3 -> kc_reg2[Q13]
     248            ;--------------------------------------------------------------------------------    
     249 003a 7802                  ADRK  #2        ; AR3 -> en0_reg2
     250                                            ; ARP = AR3
     251            ;--------------------------------------------------------------------------------    
     252 003b 7380                  LT    *         ; TREG -> en0_reg2[Q15]
     253                                            ; AR3 -> en0_reg2
     254                                            ; ARP = AR3
     255            ;--------------------------------------------------------------------------------    
     256 003c 7c03                  SBRK  #3        ; AR3 -> k1_reg2[Q13]
     257                                            ; ARP = AR3
     258            ;--------------------------------------------------------------------------------    
     259 003d 5480                  MPY   *         ; PREG[Q28] = k1_reg2[Q13] * en0_reg2[Q15]
     260                                            ; AR3 -> k1_reg2[Q13]
     261                                            ; ARP = AR3
     262            ;--------------------------------------------------------------------------------    
     263 003e be04                  APAC            ; ACC[Q28] = K1_reg2[Q13] * En0_reg2[Q15])[Q28]
     264                                            ; + (Kc_reg2[Q13] * epi_reg2[Q15])[Q28]
     265                                            ; AR3 -> k1_reg2[Q13]
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:19 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
pid_reg2.asm                                                         PAGE    6

     266                                            ; ARP = AR3
     267            ;--------------------------------------------------------------------------------    
     268 003f 7802                  ADRK  #2        ; AR3 -> un_reg2
     269                                            ; ARP = AR3
     270            ;--------------------------------------------------------------------------------    
     271 0040 2d80                  ADD   *, 13     ; ACC[Q28] = K1_reg2[Q13] * En0_reg2[Q15])[Q28]
     272                                            ; + (Kc_reg2[Q13] * epi_reg2[Q15])[Q28] + 
     273                                            ; (un_reg2[Q15] << 13)[Q28]
     274                                            ; AR3 -> un_reg2
     275                                            ; ARP = AR3
     276            ;--------------------------------------------------------------------------------    
     277 0041 bb02                  RPT   #2
     278 0042 a080                    NORM *        ; ACC[Q31].  
     279 0043 8b00                  NOP             ; ARP = AR3. AR3 -> un_reg2
     280 0044 8b00                  NOP             ; NOP is used to avoid "pipe line conflict"
     281            ;--------------------------------------------------------------------------------         
     282                    
     283 0045 9889                  SACH  *, AR1    ; un_reg2[Q15] = (Higher order 16 bits of 
     284                                            ; ACC[Q31])[Q15]
     285                                            ; ARP = AR1
     286                                            
     287                            ; Note: ARP = AR1 in preparation for exit.                
     288            ;================================================================================
     289 0046       __pid2_calc_exit:
     290                
     291 0046 7c02      SBRK  #(__PID2_framesize + 1)
     292                                            ; deallocate frame. Point to saved FP
     293                                            ; ARP = AR1
     294 0047 0090      LAR   AR0, *-               ; Restore frame pointer. ARP = AR1
     295 0048 7680      PSHD  *                     ; Push return address on Hardware stack. ARP = AR1
     296 0049 ef00      RET                         ; Return to the parent function. ARP = AR1
     297              
     298                .end    

 No Errors,  No Warnings

⌨️ 快捷键说明

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