📄 f34x_msd_usb_procedure.lst
字号:
382 ;////////////////////////////////
383
0046 384 COPY_CODE:
385
0046 8A83 386 MOV DPH,R2
0048 8982 387 MOV DPL,R1
388
A51 MACRO ASSEMBLER F34X_MSD_USB_PROCEDURE 11/28/2006 10:54:46 PAGE 7
004A 389 CODE_WRITE_COPY_LABEL:
390
004A ED 391 MOV A,R5
004B 1D 392 DEC R5
004C 7006 393 JNZ CODE_WRITE_DATA
004E 7DFF 394 MOV r5,#0xff
0050 EC 395 MOV A,R4
0051 6014 396 JZ CODE_FINISH_COPY
0053 1C 397 DEC R4
398
0054 399 CODE_WRITE_DATA:
400
0054 E596 401 MOV A,USB0ADR
0056 20E7FB 402 JB ACC.7,CODE_WRITE_DATA
403
0059 E4 404 CLR A
005A 93 405 MOVC A,@A + DPTR
005B F597 406 MOV USB0DAT,A
407
005D 0582 408 INC DPL
005F E582 409 MOV A,DPL
0061 7002 410 JNZ CODE_NO_DPH
0063 0583 411 INC DPH
412
0065 413 CODE_NO_DPH:
414
0065 80E3 415 SJMP CODE_WRITE_COPY_LABEL
416
417
0067 418 CODE_FINISH_COPY:
419
0067 22 420 RET
421
422 ;/////////////////////////////////////////
423 ;/////////////////////////////////////////
424 ;/////////////////////////////////////////
425
426 ;/////////////////////////////////////////
427 ;//// FIFO READ PROCEDURE
428 ;/////////////////////////////////////////
429
0068 430 _Fifo_Read:
431 ;R1,R2,R3 - buffer address
432 ;R7 - endpoint address
433 ;R4,R5 - LENGTH OF BUFFER
434
0068 EB 435 MOV A,R3
0069 602E 436 JZ READ_COPY_IDATA
437
006B 8A83 438 MOV DPH,R2
006D 8982 439 MOV DPL,R1
440
006F ED 441 MOV A,R5
0070 7004 442 JNZ READ_BEGIN_XDATA_WAIT_ON_USB
0072 EC 443 MOV A,R4
0073 6023 444 JZ READ_XDATA_FINISH_COPY
0075 1C 445 DEC R4
446
0076 447 READ_BEGIN_XDATA_WAIT_ON_USB:
448
0076 E596 449 MOV A,USB0ADR
0078 20E7FB 450 JB ACC.7,READ_BEGIN_XDATA_WAIT_ON_USB
007B 8F96 451 MOV USB0ADR,R7
007D 4396C0 452 ORL USB0ADR,#0xC0
453
0080 454 READ_XDATA_COPY_LABEL:
A51 MACRO ASSEMBLER F34X_MSD_USB_PROCEDURE 11/28/2006 10:54:46 PAGE 8
455
0080 E596 456 MOV A,USB0ADR
0082 20E7FB 457 JB ACC.7,READ_XDATA_COPY_LABEL
458
0085 E597 459 MOV A,USB0DAT
0087 F0 460 MOVX @DPTR,A
461
462
0088 DD04 463 DJNZ R5,XDATA_READ_NO_DEC_HI_COUNTER
464
008A EC 465 MOV A,R4
008B 600B 466 JZ READ_XDATA_FINISH_COPY
008D 1C 467 DEC R4
468
008E 469 XDATA_READ_NO_DEC_HI_COUNTER:
470
008E 0582 471 INC DPL
0090 E582 472 MOV A,DPL
0092 70EC 473 JNZ READ_XDATA_COPY_LABEL
0094 0583 474 INC DPH
0096 80E8 475 SJMP READ_XDATA_COPY_LABEL
476
0098 477 READ_XDATA_FINISH_COPY:
478
479 ; CLR A
480 ; MOV USB0ADR,A
0098 22 481 RET
482
0099 483 READ_COPY_IDATA:
484
0099 E9 485 MOV A,R1
009A F8 486 MOV R0,A ; R0 - POINTER TO DATA DDDRESS
487
009B ED 488 MOV A,R5
009C 7004 489 JNZ READ_BEGIN_IDATA_WAIT_ON_USB
009E EC 490 MOV A,R4
009F 601C 491 JZ READ_IDATA_FINISH_COPY
00A1 1C 492 DEC R4
493
00A2 494 READ_BEGIN_IDATA_WAIT_ON_USB:
495
00A2 E596 496 MOV A,USB0ADR
00A4 20E7FB 497 JB ACC.7,READ_BEGIN_IDATA_WAIT_ON_USB
00A7 8F96 498 MOV USB0ADR,R7
00A9 4396C0 499 ORL USB0ADR,#0xC0
500
00AC 501 READ_IDATA_COPY_LABEL:
502
00AC E596 503 MOV A,USB0ADR
00AE 20E7FB 504 JB ACC.7,READ_IDATA_COPY_LABEL
505
00B1 E597 506 MOV A,USB0DAT
00B3 F2 507 MOVX @R0,A
508
509
00B4 DD04 510 DJNZ R5,IDATA_READ_NO_DEC_HI_COUNTER
511
00B6 EC 512 MOV A,R4
00B7 6004 513 JZ READ_IDATA_FINISH_COPY
00B9 1C 514 DEC R4
515
00BA 516 IDATA_READ_NO_DEC_HI_COUNTER:
517
00BA 08 518 INC R0
00BB 80EF 519 SJMP READ_IDATA_COPY_LABEL
520
A51 MACRO ASSEMBLER F34X_MSD_USB_PROCEDURE 11/28/2006 10:54:46 PAGE 9
00BD 521 READ_IDATA_FINISH_COPY:
522
523 ; CLR A
524 ; MOV USB0ADR,A
525
00BD 22 526 RET
527 END
A51 MACRO ASSEMBLER F34X_MSD_USB_PROCEDURE 11/28/2006 10:54:46 PAGE 10
XREF SYMBOL TABLE LISTING
---- ------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES / REFERENCES
AC . . . . . . . . . . . . . B ADDR 00D0H.6 A 247#
ACC. . . . . . . . . . . . . D ADDR 00E0H A 148# 303 326 367 402 450 457 497 504
ACK. . . . . . . . . . . . . B ADDR 00C0H.1 A 232#
ACKRQ. . . . . . . . . . . . B ADDR 00C0H.3 A 230#
AD0BUSY. . . . . . . . . . . B ADDR 00E8H.4 A 269#
AD0CM0 . . . . . . . . . . . B ADDR 00E8H.0 A 273#
AD0CM1 . . . . . . . . . . . B ADDR 00E8H.1 A 272#
AD0CM2 . . . . . . . . . . . B ADDR 00E8H.2 A 271#
AD0EN. . . . . . . . . . . . B ADDR 00E8H.7 A 266#
AD0INT . . . . . . . . . . . B ADDR 00E8H.5 A 268#
AD0TM. . . . . . . . . . . . B ADDR 00E8H.6 A 267#
AD0WINT. . . . . . . . . . . B ADDR 00E8H.3 A 270#
ADC0CF . . . . . . . . . . . D ADDR 00BCH A 115#
ADC0CN . . . . . . . . . . . D ADDR 00E8H A 156# 266 267 268 269 270 271 272 273
ADC0GTH. . . . . . . . . . . D ADDR 00C4H A 122#
ADC0GTL. . . . . . . . . . . D ADDR 00C3H A 121#
ADC0H. . . . . . . . . . . . D ADDR 00BEH A 117#
ADC0L. . . . . . . . . . . . D ADDR 00BDH A 116#
ADC0LTH. . . . . . . . . . . D ADDR 00C6H A 124#
ADC0LTL. . . . . . . . . . . D ADDR 00C5H A 123#
AMX0N. . . . . . . . . . . . D ADDR 00BAH A 113#
AMX0P. . . . . . . . . . . . D ADDR 00BBH A 114#
ARBLOST. . . . . . . . . . . B ADDR 00C0H.2 A 231#
B. . . . . . . . . . . . . . D ADDR 00F0H A 164#
BEGIN_WAIT_ON_USB. . . . . . C ADDR 0000H R SEG=USB_PROCEDURE 300# 303
CCF0 . . . . . . . . . . . . B ADDR 00D8H.0 A 263#
CCF1 . . . . . . . . . . . . B ADDR 00D8H.1 A 262#
CCF2 . . . . . . . . . . . . B ADDR 00D8H.2 A 261#
CCF3 . . . . . . . . . . . . B ADDR 00D8H.3 A 260#
CCF4 . . . . . . . . . . . . B ADDR 00D8H.4 A 259#
CF . . . . . . . . . . . . . B ADDR 00D8H.7 A 256#
CKCON. . . . . . . . . . . . D ADDR 008EH A 71#
CLKMUL . . . . . . . . . . . D ADDR 00B9H A 112#
CLKSEL . . . . . . . . . . . D ADDR 00A9H A 98#
CODE_FINISH_COPY . . . . . . C ADDR 0067H R SEG=USB_PROCEDURE 396 418#
CODE_NO_DPH. . . . . . . . . C ADDR 0065H R SEG=USB_PROCEDURE 410 413#
CODE_WRITE_COPY_LABEL. . . . C ADDR 004AH R SEG=USB_PROCEDURE 389# 415
CODE_WRITE_DATA. . . . . . . C ADDR 0054H R SEG=USB_PROCEDURE 393 399# 402
COPY_CODE. . . . . . . . . . C ADDR 0046H R SEG=USB_PROCEDURE 308 384#
COPY_IDATA . . . . . . . . . C ADDR 002EH R SEG=USB_PROCEDURE 307 349#
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -