📄 trap_gen.lst
字号:
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 + -