📄 function.lst
字号:
188 002D 00A2 MOV UCC,A
189 002E
190 002E 0F02 MOV A,00000010b
191 002F 2800 R JMP FIFO_CHECK
192 0030 FIFO2_WR_CHECK:
193 0030 0722 MOV A,UCC
194 0031 0D07 OR A,00000111b
195 0032 0EFA AND A,11111010b
196 0033 00A2 MOV UCC,A
197 0034
198 0034 0F02 MOV A,00000010b
199 0035 2800 R JMP FIFO_CHECK
200 0036 FIFO3_WR_CHECK:
201 0036 0722 MOV A,UCC
202 0037 0D07 OR A,00000111b
203 0038 0EFB AND A,11111011b
204 0039 00A2 MOV UCC,A
205 003A
206 003A 0F02 MOV A,00000010b
207 003B 2800 R JMP FIFO_CHECK
208 003C FIFO4_WR_CHECK:
209 003C 0722 MOV A,UCC
210 003D 0D07 OR A,00000111b
211 003E 0EFC AND A,11111100b
212 003F 00A2 MOV UCC,A
213 0040
214 0040 0F02 MOV A,00000010b
215 0041 2800 R JMP FIFO_CHECK
216 0042
217 0042 FIFO5_WR_CHECK:
218 0042 0722 MOV A,UCC
219 0043 0D07 OR A,00000111b
220 0044 0EFD AND A,11111101b
221 0045 00A2 MOV UCC,A
222 0046
223 0046 0F02 MOV A,00000010b
224 0047 2800 R JMP FIFO_CHECK
225 0048
226 0048 FIFO_CHECK:
227 0048 0001 clr wdt
228 0049 0080 E MOV FIFO_TEMP,A
229 004A 0F26 MOV A,USB_MISC
230 004B 0083 MOV MP1,A
231 004C 0702 MOV A,R1
232 004D 0EF8 AND A,11111000b
233 004E 0500 E OR A,FIFO_TEMP
234 004F 0082 MOV R1,A
235 0050 2000 R CALL Delay_3us
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 5
236 0051 3002 SET R1.@MISC_REQ ;set request
237 0052 2000 R CALL Delay_28us
238 0053 3000 E SET bFlag_FIFO_Ready
239 0054 3B02 SNZ R1.@MISC_Ready
240 0055 3400 E CLR bFlag_FIFO_Ready ;if MISC.Ready = 1 -> bFlag_FIFO_Ready = 1
241 0056 3000 E SET bFlag_FIFO_LEN0
242 0057 3B82 SNZ R1.@MISC_LEN0
243 0058 3400 E CLR bFlag_FIFO_LEN0
244 0059
245 0059 ;;SZ bFlag_FIFO_Ready
246 0059 3426 clr MISC.@MISC_REQ
247 005A 0001 clr wdt
248 005B 0003 RET
249 005C
250 005C ;modify 2006-09-22
251 005C ReadLen0:
252 005C 0F28 MOV A,USB_FIFO0
253 005D 0083 MOV MP1,A
254 005E 0702 MOV A,R1
255 005F 0000 NOP
256 0060 2800 R JMP Read_FIFO_END
257 0061 Read_FIFO0:
258 0061 0F08 MOV A,USB_FIFO0_SIZE
259 0062 0080 E MOV FIFO_SIZE,A
260 0063 0F28 MOV A,USB_FIFO0
261 0064 2800 R JMP Read_FIFO
262 0065 Read_FIFO1:
263 0065 0F08 MOV A,USB_FIFO1_SIZE
264 0066 0080 E MOV FIFO_SIZE,A
265 0067 0F29 MOV A,USB_FIFO1
266 0068 2800 R JMP Read_FIFO
267 0069 Read_FIFO2:
268 0069 0F08 MOV A,USB_FIFO2_SIZE
269 006A 0080 E MOV FIFO_SIZE,A
270 006B 0F2A MOV A,USB_FIFO2
271 006C 2800 R JMP Read_FIFO
272 006D Read_FIFO3:
273 006D 0F08 MOV A,USB_FIFO3_SIZE
274 006E 0080 E MOV FIFO_SIZE,A
275 006F 0F2B MOV A,USB_FIFO3
276 0070 2800 R JMP Read_FIFO
277 0071 Read_FIFO4:
278 0071 0F08 MOV A,USB_FIFO4_SIZE
279 0072 0080 E MOV FIFO_SIZE,A
280 0073 0F2C MOV A,USB_FIFO4
281 0074 2800 R JMP Read_FIFO
282 0075 Read_FIFO5:
283 0075 0F08 MOV A,USB_FIFO5_SIZE
284 0076 0080 E MOV FIFO_SIZE,A
285 0077 0F2D MOV A,USB_FIFO5
286 0078 2800 R JMP Read_FIFO
287 0079
288 0079 Read_FIFO:
289 0079 3026 SET MISC.@MISC_REQ
290 007A
291 007A 0080 E MOV FIFO_TEMP,A ;FIFO_TEMP SAVE FIFOX ADDRESS
292 007B 1F00 E CLR FIFO_SendLen
293 007C 0F00 E MOV A,OFFSET FIFO_Type
294 007D 0081 MOV MP0,A
295 007E Read_FIFO_Loop:
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 6
296 007E 0700 E MOV A,FIFO_TEMP
297 007F 0083 MOV MP1,A
298 0080 0702 MOV A,R1
299 0081 0080 MOV R0,A
300 0082 1480 E INC FIFO_SendLen
301 0083 1481 INC MP0
302 0084 0700 E MOV A,FIFO_SIZE
303 0085 0400 E XOR A,FIFO_SendLen
304 0086 3D0A SZ Z ;1=FIFO_SIZE=FIFO_SendLen
305 0087 2800 R JMP Read_FIFO_End
306 0088 0F26 MOV A,USB_MISC
307 0089 0083 MOV MP1,A
308 008A 2000 R CALL Delay_28us
309 008B 3F02 SZ R1.@MISC_Ready
310 008C 2800 R JMP Read_FIFO_LOOP
311 008D 2800 R JMP Read_FIFO_End
312 008E
313 008E Send_Hand_Shake:
314 008E Send_Hand_Shake_wait:
315 008E ; protect die loop
316 008E 2000 R call Check_Real_Cmd
317 008F 3C00 E sz bFlag_Real_Cmd
318 0090 ;jmp USB_EP0_ISR_END
319 0090 0003 ret ;modify by 2006-02-16
320 0091
321 0091 2000 R CALL FIFO0_WR_CHECK
322 0092 3800 E SNZ bFlag_FIFO_Ready
323 0093 2800 R JMP Send_Hand_Shake_wait
324 0094
325 0094 3026 set MISC.@MISC_REQ
326 0095 WriteLen0:
327 0095 Write_FIFO_OK:
328 0095 Read_FIFO_End:
329 0095 0F26 MOV A,USB_MISC
330 0096 0083 MOV MP1,A
331 0097 0F02 MOV A,(01H SHL @MISC_TX) ;Change TX State
332 0098 ;CLR INTC0.0
333 0098 0482 XORM A,R1
334 0099 2000 R CALL Delay_3us
335 009A 3402 CLR R1.@MISC_REQ
336 009B ;SET INTC0.0
337 009B 0003 RET
338 009C ;============================================================
339 009C ;Function:Write FIFOx from FIFO_OUTx
340 009C ;============================================================
341 009C Write_FIFO0:
342 009C 0F28 MOV A,USB_FIFO0
343 009D 2800 R JMP Write_FIFO
344 009E Write_FIFO1:
345 009E 0F29 MOV A,USB_FIFO1
346 009F 2800 R JMP Write_FIFO
347 00A0 Write_FIFO2:
348 00A0 0F2A MOV A,USB_FIFO2
349 00A1 2800 R JMP Write_FIFO
350 00A2 Write_FIFO3:
351 00A2 0F2B MOV A,USB_FIFO3
352 00A3 2800 R JMP Write_FIFO
353 00A4 Write_FIFO4:
354 00A4 0F2C MOV A,USB_FIFO4
355 00A5 2800 R JMP Write_FIFO
"File: FUNCTION.ASM Holtek Cross-Assembler Version 2.86 Page 7
356 00A6 Write_FIFO5:
357 00A6 0F2D MOV A,USB_FIFO5
358 00A7 2800 R JMP Write_FIFO
359 00A8
360 00A8 Write_FIFO:
361 00A8 0001 clr wdt
362 00A9 3026 SET MISC.@MISC_REQ
363 00AA 0080 E MOV FIFO_TEMP,A ;FIFO NO Address
364 00AB 0F00 E MOV A,OFFSET FIFO_OUT1
365 00AC 0081 MOV MP0,A
366 00AD Write_FIFO_Loop:
367 00AD 0001 clr wdt
368 00AE 0700 E MOV A,FIFO_SendLen
369 00AF 0C00 XOR A,00H
370 00B0 3D0A SZ Z
371 00B1 2800 R JMP Write_FIFO_End
372 00B2
373 00B2 0700 E MOV A,FIFO_TEMP
374 00B3 0083 MOV MP1,A
375 00B4 0700 MOV A,R0
376 00B5 0082 MOV R1,A
377 00B6 1580 E DEC FIFO_SendLen
378 00B7 0700 E MOV A,FIFO_SendLen
379 00B8 0C00 XOR A,00H
380 00B9 3D0A SZ Z
381 00BA 2800 R JMP Write_FIFO_End ;FIFO_SendLen=0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -