📄 f34x_msd_cmd.ls1
字号:
0141 2066696C
0145 6520
0147 6E616D65 406 DB 'n' ,'a' ,'m' ,'e' ,'.' ,00DH,00AH,000H
014B 2E0D0A00
407
408
---- 409 RSEG ?C_INITSEG
0000 41 410 DB 041H
0001 0000 F 411 DW format_flag
0003 00 412 DB 000H
413
0004 43 414 DB 043H
0005 0000 F 415 DW bootrecord
0007 01 416 DB 001H
0008 0000 F 417 DW Scratch + 0
418
000A 44 419 DB 044H
000B 0000 F 420 DW n_of_sect
000D 00000000 421 DB 000H,000H,000H,000H ; long
422
423 ; //-----------------------------------------------------------------------------
424 ; // F34x_MSD_Cmd.c
425 ; //-----------------------------------------------------------------------------
426 ; // Copyright 2006 Silicon Laboratories, Inc.
427 ; // http://www.silabs.com
428 ; //
429 ; // Program Description:
430 ; //
431 ; // Module contains a functions for communication via UART. These functions are
432 ; // mainly used to initializing, communicating, executing commands used by
433 ; // UART interface.
434 ; //
435 ; //
436 ; //
437 ; // How To Test: See Readme.txt
438 ; //
439 ; //
440 ; // FID: 34X000030
441 ; // Target: C8051F34x
442 ; // Tool chain: Keil
443 ; // Command Line: See Readme.txt
444 ; // Project Name: F34x_USB_MSD
445 ; //
446 ; // Release 1.1
447 ; // -All changes by PKC
448 ; // -09 JUN 2006
449 ; // -Replaced SFR definitions file "c8051f320.h" with "c8051f340.h"
450 ; //
451 ; // Release 1.0
452 ; // -Initial Release
453 ; //
454 ;
455 ; //-----------------------------------------------------------------------------
456 ; // Includes
457 ; //-----------------------------------------------------------------------------
458 ;
459 ; #include "F34x_MSD_Definitions.h"
460 ; #include "c8051f340.h"
461 ; #include "F34x_MSD_Util.h"
462 ; #include "F34x_MSD_UART.h"
463 ; #include "F34x_MSD_Cmd.h"
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 9
464 ; #include "F34x_MSD_Sect_Serv.h"
465 ; #include "F34x_MSD_File_System.h"
466 ; #include <string.h>
467 ; #include <stdio.h>
468 ; #include <ctype.h>
469 ; #include <stdlib.h>
470 ; #include "F34x_MSD_Log.h"
471 ; #include "F34x_MSD_Temp_Sensor.h"
472 ; #include "F34x_MSD_Dir_Commands.h"
473 ; #include "F34x_MSD_Format_Disk.h"
474 ;
475 ; #define MAX_LEN 32
476 ; static char xdata Cmd[MAX_LEN];
477 ; static char* xdata Token;
478 ; static BYTE xdata Cmd_Ptr;
479 ;
480 ; unsigned char format_flag = 0;
481 ; bootrecord_large* xdata bootrecord=Scratch;
482 ; long xdata n_of_sect = 0;
483 ;
484 ; #ifdef __F340_VER__
485 ; extern void Get_Status_MMC();
486 ; extern bdata bit Is_Initialized;
487 ; #endif
488 ;
489 ; //----------------------------------------------------------------------------
490 ; // Cmd_Init
491 ; //----------------------------------------------------------------------------
492 ; //
493 ; // Initialization of communication via UART interface. This function ends on
494 ; // prompt sign.
495 ; //
496 ; // Parameters :
497 ; // Return Value :
498 ; //----------------------------------------------------------------------------
499 ;
500
---- 501 RSEG ?PR?F34X_MSD_CMD
0000 502 Com004F:
0000 503 L?0080:
504 USING 0
0000 505 L?0081:
0000 900000 F 506 MOV DPTR,#findinfo?243+07H
0003 507 L?0082:
0003 E0 508 MOVX A,@DPTR
0004 FB 509 MOV R3,A
0005 A3 510 INC DPTR
0006 E0 511 MOVX A,@DPTR
0007 FA 512 MOV R2,A
0008 A3 513 INC DPTR
0009 E0 514 MOVX A,@DPTR
000A F9 515 MOV R1,A
000B 22 516 RET
000C 517 L?0084:
518 USING 0
000C 519 L?0085:
000C 900000 F 520 MOV DPTR,#Token
000F 521 L?0086:
000F EB 522 MOV A,R3
0010 523 L?0087:
0010 F0 524 MOVX @DPTR,A
0011 A3 525 INC DPTR
0012 EA 526 MOV A,R2
0013 F0 527 MOVX @DPTR,A
0014 A3 528 INC DPTR
0015 E9 529 MOV A,R1
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 10
0016 F0 530 MOVX @DPTR,A
0017 22 531 RET
0018 532 L?0088:
533 USING 0
0018 900000 F 534 MOV DPTR,#i?548+01H
001B E0 535 MOVX A,@DPTR
001C C4 536 SWAP A
001D F8 537 MOV R0,A
001E 540F 538 ANL A,#0FH
0020 C8 539 XCH A,R0
0021 68 540 XRL A,R0
0022 FF 541 MOV R7,A
0023 900000 F 542 MOV DPTR,#i?548
0026 E0 543 MOVX A,@DPTR
0027 C4 544 SWAP A
0028 54F0 545 ANL A,#0F0H
002A 48 546 ORL A,R0
002B FE 547 MOV R6,A
002C 7C00 548 MOV R4,#00H
002E EF 549 MOV A,R7
002F 2D 550 ADD A,R5
0030 FF 551 MOV R7,A
0031 EC 552 MOV A,R4
0032 3E 553 ADDC A,R6
0033 FE 554 MOV R6,A
0034 7400 F 555 MOV A,#LOW (Scratch)
0036 2F 556 ADD A,R7
0037 F582 557 MOV DPL,A
0039 7400 F 558 MOV A,#HIGH (Scratch)
003B 3E 559 ADDC A,R6
003C F583 560 MOV DPH,A
003E E0 561 MOVX A,@DPTR
003F 22 562 RET
0040 563 L?0089:
564 USING 0
0040 900000 F 565 MOV DPTR,#dw?551
0043 566 L?0090:
0043 E0 567 MOVX A,@DPTR
0044 FC 568 MOV R4,A
0045 A3 569 INC DPTR
0046 E0 570 MOVX A,@DPTR
0047 FD 571 MOV R5,A
0048 A3 572 INC DPTR
0049 E0 573 MOVX A,@DPTR
004A FE 574 MOV R6,A
004B A3 575 INC DPTR
004C E0 576 MOVX A,@DPTR
004D FF 577 MOV R7,A
004E 22 578 RET
004F 579 L?0094:
580 USING 0
004F 581 L?0095:
004F 7BFF 582 MOV R3,#0FFH
0051 7A00 F 583 MOV R2,#HIGH (?SC_55)
0053 7900 F 584 MOV R1,#LOW (?SC_55)
0055 22 585 RET
0056 586 L?0097:
587 USING 0
0056 588 L?0098:
0056 E0 589 MOVX A,@DPTR
0057 F9 590 MOV R1,A
0058 A3 591 INC DPTR
0059 E0 592 MOVX A,@DPTR
005A FA 593 MOV R2,A
005B A3 594 INC DPTR
005C E0 595 MOVX A,@DPTR
A51 MACRO ASSEMBLER F34X_MSD_CMD 11/16/2006 13:16:27 PAGE 11
005D 22 596 RET
005E 597 L?0099:
598 USING 0
005E F0 599 MOVX @DPTR,A
005F 600 L?0100:
005F 7B01 601 MOV R3,#01H
0061 7A00 F 602 MOV R2,#HIGH (f?345)
0063 7900 F 603 MOV R1,#LOW (f?345)
0065 22 604 RET
0066 605 L?0101:
606 USING 0
0066 607 L?0102:
0066 90000B 608 MOV DPTR,#0BH
0069 020000 F 609 LJMP ?C?CLDOPTR
006C 610 L?0103:
611 USING 0
006C 612 L?0104:
006C 900000 F 613 MOV DPTR,#?_printf?BYTE+03H
006F 020000 F 614 LJMP ?C?LSTXDATA
615 ; END OF Com004F
616
617 ; void Cmd_Init()
618
---- 619 RSEG ?PR?Cmd_Init?F34X_MSD_CMD
0000 620 Cmd_Init:
621 USING 0
622 ; SOURCE LINE # 78
623 ; {
624 ; SOURCE LINE # 79
625 ; putchar(CLS);
626 ; SOURCE LINE # 80
0000 7F0C 627 MOV R7,#0CH
0002 120000 F 628 LCALL _putchar
629 ; Cmd_Ptr=0;
630 ; SOURCE LINE # 81
0005 E4 631 CLR A
0006 900000 F 632 MOV DPTR,#Cmd_Ptr
0009 F0 633 MOVX @DPTR,A
634 ; Cmd[0]=Cmd[1]='\0';
635 ; SOURCE LINE # 82
000A 900000 F 636 MOV DPTR,#Cmd+01H
000D F0 637 MOVX @DPTR,A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -