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

📄 trap_gen.lst

📁 TI的digital motor control lib的源代码。了解TI的编程规范
💻 LST
📖 第 1 页 / 共 3 页
字号:
     110 001c 7801                  ADRK    #1              ; ARP=AR2, AR0->FR1, AR2->trap_max
     111            ;----------------------------------------------------------------------------------
     112 001d 10a0          LACC    *+              ; ACC = trap_max   (Q15)
     113                                                    ; ARP=AR2, AR0->FR1, AR2->trap_max_tmp 
     114            ;----------------------------------------------------------------------------------
     115 001e 90a0          SACL    *+              ; trap_max_tmp = trap_max   (Q15)
     116                                                    ; ARP=AR2, AR0->FR1, AR2->trap_dly_max
     117            ;----------------------------------------------------------------------------------
     118 001f 1080                  LACC    *               ; ACC = trap_dly_max  (Q0)
     119                                                            ; ARP=AR2, AR0->FR1, AR2->trap_dly_max
     120            ;----------------------------------------------------------------------------------
     121 0020 7c04          SBRK    #4              ; ARP=AR2, AR0->FR1, AR2->trap_dly_max_tmp
     122            ;----------------------------------------------------------------------------------
     123 0021 90a0          SACL    *+              ; trap_dly_max_tmp = trap_dly_max  (Q0)
     124                                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     125            ;----------------------------------------------------------------------------------
     126 0022       SKIP_UPDATE_MAX         ; ARP=AR2, AR0->FR1, AR2->trap_timer
     127            ;----------------------------------------------------------------------------------
     128 0022 1080                  LACC    *               ; ACC = trap_timer  (Q15)
     129                                                            ; ARP=AR2, AR0->FR1, AR2->trap_timer
     130            ;----------------------------------------------------------------------------------
     131 0023 bfa0                  SUB             #4000h  ; ACC = trap_timer - 4000h (Q15)
         0024 4000  
     132                                                            ; ARP=AR2, AR0->FR1, AR2->trap_timer
     133            ;----------------------------------------------------------------------------------
     134 0025 e308                  BCND    SKIP_UPDATE_MIN, NEQ ; Branch to SKIP_UPDATE_MIN if trap_timer != 0.50
         0026 002b' 
     135                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     136            ;----------------------------------------------------------------------------------
     137 0027 7804          ADRK    #4              ; ARP=AR2, AR0->FR1, AR2->trap_min
     138            ;----------------------------------------------------------------------------------
     139 0028 10a0                  LACC    *+              ; ACC = trap_min  (Q15)
     140                                                            ; ARP=AR2, AR0->FR1, AR2->trap_min_tmp  
     141            ;----------------------------------------------------------------------------------
     142 0029 9080          SACL    *               ; trap_min_tmp = trap_min  (Q15)
     143                                                            ; ARP=AR2, AR0->FR1, AR2->trap_min_tmp
     144            ;----------------------------------------------------------------------------------
     145 002a 7c05          SBRK    #5              ; ARP=AR2, AR0->FR1, AR2->trap_timer
     146            ;----------------------------------------------------------------------------------
     147 002b       SKIP_UPDATE_MIN         ; ARP=AR2, AR0->FR1, AR2->trap_timer
     148            ;----------------------------------------------------------------------------------
     149 002b 1080          LACC    *               ; ACC = trap_timer  (Q15)
     150                                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     151            ;----------------------------------------------------------------------------------
     152 002c bfa0          SUB             #2000h  ; ACC = trap_timer - 2000h (Q15)
         002d 2000  
     153                                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     154            ;----------------------------------------------------------------------------------
     155 002e e344                  BCND    INCREASE_TRAP,LT    ; Branch to INCREASE_TRAP if 0 < trap_timer < 0.25
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:22 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
trap_gen.asm                                                         PAGE    4

         002f 003c' 
     156                                            ; ARP=AR2, AR0->FR1, AR2->trap_timer
     157            ;----------------------------------------------------------------------------------
     158 0030 1080          LACC    *               ; ACC = trap_timer  (Q15)
     159                                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     160            ;----------------------------------------------------------------------------------
     161 0031 bfa0          SUB             #4000h  ; ACC = trap_timer - 4000h  (Q15)
         0032 4000  
     162                                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer 
     163            ;----------------------------------------------------------------------------------
     164 0033 e344                  BCND    MAX_TRAP,LT                     ; Branch to MAX_TRAP if 0.25 < trap_timer < 0.5
         0034 004d' 
     165                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     166            ;----------------------------------------------------------------------------------
     167 0035 1080          LACC    *               ; ACC = trap_timer  (Q15)
     168                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     169            ;----------------------------------------------------------------------------------
     170 0036 bfa0                  SUB             #6000h  ; ACC = trap_timer - 6000h (Q15)
         0037 6000  
     171                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer    
     172            ;----------------------------------------------------------------------------------
     173 0038 e344                  BCND    DECREASE_TRAP,LT    ; Branch to DECREASE_TRAP if 0.5 < trap_timer < 0.75
         0039 0055' 
     174                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     175            ;----------------------------------------------------------------------------------
     176 003a 7980                  B               MIN_TRAP                    ; Branch to MIN_TRAP if 0.75 < trap_timer < 1
         003b 0067' 
     177                                    ; ARP=AR2, AR0->FR1, AR2->trap_timer
     178            ;----------------------------------------------------------------------------------
     179 003c       INCREASE_TRAP           ; ARP=AR2, AR0->FR1, AR2->trap_timer
     180            ;----------------------------------------------------------------------------------
     181 003c 7802          ADRK    #2              ; ARP=AR2, AR0->FR1, AR2->trap_max_tmp  
     182            ;----------------------------------------------------------------------------------
     183 003d 1f80          LACC    *,15    ; ACC = trap_max_tmp (Q14)
     184                                                    ; ARP=AR2, AR0->FR1, AR2->trap_max_tmp  
     185            ;----------------------------------------------------------------------------------
     186 003e 7803          ADRK    #3              ; ARP=AR2, AR0->FR1, AR2->trap_min_tmp 
     187            ;----------------------------------------------------------------------------------
     188 003f 3fa8                  SUB             *+,15,AR0       ; ACC = trap_max_tmp - trap_min_tmp (Q14)
     189                                                            ; ARP=AR2, AR0->FR1, AR2->trap_out_lo, ARP=AR0  
     190            ;----------------------------------------------------------------------------------
     191 0040 9890          SACH    *-              ; FR1 = trap_tmp1 = trap_max_tmp - trap_min_tmp (Q14)
     192                                                    ; ARP=AR0, AR0->FR0, AR2->trap_out_lo  
     193            ;----------------------------------------------------------------------------------
     194 0041 73a0                  LT              *+              ; TREG = FR0 = trap_8192inv = 1/8192   (Q15)
     195                                                            ; ARP=AR0, AR0->FR1, AR2->trap_out_lo  
     196            ;----------------------------------------------------------------------------------
     197 0042 548a                  MPY             *,AR2   ; PREG = (1/8192)*(trap_max_tmp-trap_min_tmp)  (Q29)
     198                                                            ; ARP=AR0, AR0->FR1, AR2->trap_out_lo, ARP=AR2
     199            ;----------------------------------------------------------------------------------
     200 0043 be03          PAC                             ; ACC = (1/8192)*(trap_max_tmp-trap_min_tmp)  (Q29)
     201                                                            ; ARP=AR2, AR0->FR1, AR2->trap_out_lo
     202            ;----------------------------------------------------------------------------------
     203 0044 be09                  SFL                             ; ACC = (1/8192)*(trap_max_tmp-trap_min_tmp)  (Q30)
TMS320C1x/C2x/C2xx/C5x COFF Assembler Version 7.00  Tue May  6 12:41:22 2003
Copyright (c) 1987-1999  Texas Instruments Incorporated 
trap_gen.asm                                                         PAGE    5

     204                                                            ; ARP=AR2, AR0->FR1, AR2->trap_out_lo
     205            ;----------------------------------------------------------------------------------
     206 0045 be09                  SFL                             ; ACC = (1/8192)*(trap_max_tmp-trap_min_tmp)  (Q31)
     207                                                            ; ARP=AR2, AR0->FR1, AR2->trap_out_lo
     208            ;----------------------------------------------------------------------------------
     209 0046 62a0          ADDS    *+              ; ACC = trap_out+(1/8192)*(trap_max_tmp-trap_min_tmp)  (Q31)
     210                                                    ; ARP=AR2, AR0->FR1, AR2->trap_out
     211            ;----------------------------------------------------------------------------------
     212 0047 6180          ADDH    *               ; ACC = trap_out+(1/8192)*(trap_max_tmp-trap_min_tmp)  (Q31)
     213                                                    ; ARP=AR2, AR0->FR1, AR2->trap_out
     214            ;----------------------------------------------------------------------------------
     215 0048 9890          SACH    *-              ; trap_out = trap_out+(1/8192)*(trap_max_tmp-trap_min_tmp)  (Q31)
     216                                                    ; ARP=AR2, AR0->FR1, AR2->trap_out_lo
     217            ;----------------------------------------------------------------------------------
     218 0049 9080          SACL    *               ; trap_out = trap_out+(1/8192)*(trap_max_tmp-trap_min_tmp)  (Q31)
     219                                                    ; ARP=AR2, AR0->FR1, AR2->trap_out_lo

⌨️ 快捷键说明

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