📄 access.ls1
字号:
0076 750080 F 440 MOV ucCnt,#080H
0079 0500 F 441 INC uiCount+01H
007B E500 F 442 MOV A,uiCount+01H
007D 22 443 RET
007E 444 L?0162:
A51 MACRO ASSEMBLER ACCESS 04/11/2004 15:34:13 PAGE 8
445 USING 0
007E E500 F 446 MOV A,ucByte_Temp
0080 5500 F 447 ANL A,ucCnt
0082 24FF 448 ADD A,#0FFH
0084 9200 F 449 MOV bBit,C
0086 E500 F 450 MOV A,ucCnt
0088 C3 451 CLR C
0089 13 452 RRC A
008A F500 F 453 MOV ucCnt,A
008C 22 454 RET
008D 455 L?0163:
456 USING 0
008D 120000 F 457 LCALL RTDSendStop
0090 C297 458 CLR bRTD_SCSB
0092 0B 459 INC R3
0093 7F92 460 MOV R7,#092H
0095 020000 F 461 LJMP _RTDSendAddr
0098 462 L?0165:
463 USING 0
0098 C297 464 CLR bRTD_SCSB
009A E4 465 CLR A
009B FB 466 MOV R3,A
009C FD 467 MOV R5,A
009D 7F90 468 MOV R7,#090H
009F 020000 F 469 LJMP _RTDSendAddr
00A2 470 L?0166:
471 USING 0
00A2 472 L?0167:
00A2 0500 F 473 INC array?1468+01H
00A4 E500 F 474 MOV A,array?1468+01H
00A6 AE00 F 475 MOV R6,array?1468
00A8 22 476 RET
00A9 477 L?0168:
478 USING 0
00A9 7401 479 MOV A,#01H
00AB 93 480 MOVC A,@A+DPTR
00AC 24FC 481 ADD A,#0FCH
00AE FF 482 MOV R7,A
00AF 020000 F 483 LJMP _RTDSendByte
484 ; END OF Com008D
485
486 ; void BitDly(void)
487
---- 488 RSEG ?PR?BitDly?ACCESS
0000 489 BitDly:
490 ; SOURCE LINE # 115
491 ; {
492 ; SOURCE LINE # 116
493 ; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
494 ; SOURCE LINE # 117
0000 00 495 NOP
0001 00 496 NOP
0002 00 497 NOP
0003 00 498 NOP
0004 00 499 NOP
0005 00 500 NOP
0006 00 501 NOP
0007 00 502 NOP
503 ; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
504 ; SOURCE LINE # 118
0008 00 505 NOP
0009 00 506 NOP
000A 00 507 NOP
000B 00 508 NOP
000C 00 509 NOP
000D 00 510 NOP
A51 MACRO ASSEMBLER ACCESS 04/11/2004 15:34:13 PAGE 9
000E 00 511 NOP
000F 00 512 NOP
513 ; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
514 ; SOURCE LINE # 119
0010 00 515 NOP
0011 00 516 NOP
0012 00 517 NOP
0013 00 518 NOP
0014 00 519 NOP
0015 00 520 NOP
0016 00 521 NOP
0017 00 522 NOP
523 ; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
524 ; SOURCE LINE # 120
0018 00 525 NOP
0019 00 526 NOP
001A 00 527 NOP
001B 00 528 NOP
001C 00 529 NOP
001D 00 530 NOP
001E 00 531 NOP
001F 00 532 NOP
533 ; }
534 ; SOURCE LINE # 121
0020 22 535 RET
536 ; END OF BitDly
537
538 ;
539 ; void I2CRead(unsigned char addr, unsigned char index, unsigned char count)
540
---- 541 RSEG ?PR?_I2CRead?ACCESS
0000 542 _I2CRead:
543 USING 0
544 ; SOURCE LINE # 123
0000 8F00 F 545 MOV addr?140,R7
0002 8B00 F 546 MOV count?142,R3
547 ;---- Variable 'index?141' assigned to Register 'R5' ----
548 ; {
549 ; SOURCE LINE # 124
550 ; unsigned char n;
551 ;
552 ; if (count)
553 ; SOURCE LINE # 127
0004 E500 F 554 MOV A,count?142
0006 6039 555 JZ ?C0006
556 ; {
557 ; SOURCE LINE # 128
558 ; I2CSendAddr(addr, index, 0);
559 ; SOURCE LINE # 129
0008 E4 560 CLR A
0009 FB 561 MOV R3,A
000A 120000 F 562 LCALL _I2CSendAddr
563 ;
564 ; I2CSendAddr(addr, 0, 1);
565 ; SOURCE LINE # 131
000D 7B01 566 MOV R3,#01H
000F E4 567 CLR A
0010 FD 568 MOV R5,A
0011 AF00 F 569 MOV R7,addr?140
0013 120000 F 570 LCALL _I2CSendAddr
571 ;
572 ; count = count - 1;
573 ; SOURCE LINE # 133
0016 1500 F 574 DEC count?142
575 ;
576 ; for (n = 0; n < count; n++) Data[n] = I2CGetByte(0);
A51 MACRO ASSEMBLER ACCESS 04/11/2004 15:34:13 PAGE 10
577 ; SOURCE LINE # 135
0018 E4 578 CLR A
0019 F500 F 579 MOV n?143,A
001B 580 ?C0003:
001B E500 F 581 MOV A,n?143
001D C3 582 CLR C
001E 9500 F 583 SUBB A,count?142
0020 5010 584 JNC ?C0004
0022 E4 585 CLR A
0023 FF 586 MOV R7,A
0024 120000 F 587 LCALL _I2CGetByte
0027 7400 F 588 MOV A,#LOW (Data?)
0029 2500 F 589 ADD A,n?143
002B F8 590 MOV R0,A
002C A607 591 MOV @R0,AR7
002E 0500 F 592 INC n?143
0030 80E9 593 SJMP ?C0003
0032 594 ?C0004:
595 ;
596 ; Data[count] = I2CGetByte(1);
597 ; SOURCE LINE # 137
0032 7F01 598 MOV R7,#01H
0034 120000 F 599 LCALL _I2CGetByte
0037 7400 F 600 MOV A,#LOW (Data?)
0039 2500 F 601 ADD A,count?142
003B F8 602 MOV R0,A
003C A607 603 MOV @R0,AR7
604 ;
605 ; I2CSendStop();
606 ; SOURCE LINE # 139
003E 120000 F 607 LCALL I2CSendStop
608 ; }
609 ; SOURCE LINE # 140
610 ; }
611 ; SOURCE LINE # 141
0041 612 ?C0006:
0041 22 613 RET
614 ; END OF _I2CRead
615
616 ;
617 ; void I2CWrite(unsigned char *array)
618
---- 619 RSEG ?PR?_I2CWrite?ACCESS
0000 620 _I2CWrite:
621 USING 0
622 ; SOURCE LINE # 143
0000 8B00 F 623 MOV array?244,R3
0002 8A00 F 624 MOV array?244+01H,R2
0004 8900 F 625 MOV array?244+02H,R1
626 ; {
627 ; SOURCE LINE # 144
628 ; unsigned char n, len;
629 ;
630 ; if (3 <= array[0])
631 ; SOURCE LINE # 147
0006 120000 F 632 LCALL ?C?CLDPTR
0009 FF 633 MOV R7,A
000A 7403 634 MOV A,#03H
000C D3 635 SETB C
000D 9F 636 SUBB A,R7
000E 5039 637 JNC ?C0011
638 ; {
639 ; SOURCE LINE # 148
640 ; len = array[0];
641 ; SOURCE LINE # 149
0010 8F00 F 642 MOV len?246,R7
A51 MACRO ASSEMBLER ACCESS 04/11/2004 15:34:13 PAGE 11
643 ; I2CSendAddr(array[1], array[2], 0);
644 ; SOURCE LINE # 150
0012 900001 645 MOV DPTR,#01H
0015 120000 F 646 LCALL ?C?CLDOPTR
0018 FF 647 MOV R7,A
0019 900002 648 MOV DPTR,#02H
001C 120000 F 649 LCALL ?C?CLDOPTR
001F FD 650 MOV R5,A
0020 E4 651 CLR A
0021 FB 652 MOV R3,A
0022 120000 F 653 LCALL _I2CSendAddr
654 ;
655 ; for (n = 3; n < len; n++) I2CSendByte(array[n]);
656 ; SOURCE LINE # 152
0025 750003 F 657 MOV n?245,#03H
0028 658 ?C0008:
0028 E500 F 659 MOV A,n?245
002A C3 660 CLR C
002B 9500 F 661 SUBB A,len?246
002D 5017 662 JNC ?C0009
002F AB00 F 663 MOV R3,array?244
0031 AA00 F 664 MOV R2,array?244+01H
0033 A900 F 665 MOV R1,array?244+02H
0035 850082 F 666 MOV DPL,n?245
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -