📄 isd51.lst
字号:
479
0018 74FF 486 NoSerBreak: MOV A,#0FFH
001A 75D000 487 CallBreak: MOV PSW,#0 ; Select Register Bank 0
001D C000 488 PUSH AR0
001F C001 489 PUSH AR1
0021 78FF 490 MOV R0,#?ISD?RAMTOP
491
0023 10AF02 495 JBC EA,ChkEA
0026 54FB 496 ANL A,#0FBH
0028 497 ChkEA:
0028 F6 505 MOV @R0,A
506 SET_TI
508
509 ; Called when a Breakpoint is reached or in Single Stepping Mode
510
511 ; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
512
002B 515 Send7Bytes: SBYTE ; Send Byte
516+1 JNB_TI $
518+1 CLR_TI
520+1 WR_SBUF ; MOV SBUF,A
0032 D001 522 POP AR1
0034 7805 523 MOV R0,#5
0036 D0E0 524 SendStackFrame: POP ACC
0038 1100 F 525 ACALL ?ISD?SENDBYTE
003A D8FA 526 DJNZ R0,SendStackFrame
003C E9 527 MOV A,R1
A51 MACRO ASSEMBLER ISD51 11/11/2005 06:13:35 PAGE 9
003D 1100 F 528 ?ISD?CMDLOOP2: ACALL ?ISD?SENDBYTE
529
530 ; Wait for Command
531 ; CmdAddrL, CmdAddrH, R0, ACC
532
003F 1100 F 533 ?ISD?CMDLOOP: ACALL ?ISD?GETBYTE ; Command Address
0041 C0E0 534 PUSH ACC
0043 1100 F 535 ACALL ?ISD?GETBYTE
0045 C0E0 536 PUSH ACC
0047 1100 F 537 ACALL ?ISD?GETBYTE
0049 F8 538 MOV R0,A
539 ;;; ACALL ?ISD?GETBYTE
540 ;;; RET
541
004A 542 ?ISD?GETBYTE: GBYTE
543+1 JNB_RI $
545+1 RBYTE
0051 22 550 RET
551
552
573
0052 D0E0 574 ReturnI: POP ACC
0054 D0D0 575 POP PSW
0056 32 576 RETI
577
578
579
0057 580 ?ISD?SENDBYTE: SBYTE
581+1 JNB_TI $
583+1 CLR_TI
585+1 WR_SBUF ; MOV SBUF,A
005E 22 587 RET
588
589 ;--------------------------------------------------------------------------
590 ; Command: Restart User Program
591 ; LOW (?ISD?RESTART), HIGH (?ISD?RESTART), R0, PCL, PCH, PSW, R1, ACC
592 ;
593 ;
005F C0E0 594 ?ISD?RESTART: PUSH ACC ; PCL Content of User Program
0061 1100 F 595 ACALL ?ISD?GETBYTE
0063 C0E0 596 PUSH ACC ; PCH Content of User Program
0065 1100 F 597 ACALL ?ISD?GETBYTE
0067 C0E0 598 PUSH ACC ; PSW Content of User Program
0069 1100 F 599 ACALL ?ISD?GETBYTE
006B F9 600 MOV R1,A ; R1 Content of User Program
006C 1100 F 601 ACALL ?ISD?GETBYTE ; ACC Content of User Program
A51 MACRO ASSEMBLER ISD51 11/11/2005 06:13:35 PAGE 10
006E C0E0 602 PUSH ACC
0070 C000 603 PUSH AR0
0072 78FF 604 MOV R0,#?ISD?RAMTOP
0074 E6 605 MOV A,@R0
606
607 SET_ES
0077 D000 609 POP AR0
0079 13 610 RRC A
007A 5002 611 JNC StepMode
612 CLR_TI ; Go Mode
614
007E 13 640 StepMode: RRC A
007F 5007 641 JNC RetMode
0081 D0E0 642 POP ACC
0083 D0D0 643 POP PSW
0085 D2AF 644 SETB EA
0087 32 645 RETI
646
647
0088 13 648 RetMode: RRC A
0089 D0E0 649 POP ACC
008B 5005 650 JNC EAClr
008D D0D0 651 POP PSW
008F D2AF 652 SETB EA
0091 22 653 RET
654
0092 D0D0 655 EAClr: POP PSW
0094 22 656 RET
662
663 ;--------------------------------------------------------------------------;
664 ; Insert HW Breakpoints
665
666
667 ; Command: Write IData Memory Bytes
668 ; LOW (?ISD?WR_IMEMN), HIGH (?ISD?WR_IMEMN), Adr, Cnt, ContBytes [...]
669 PUBLIC ?ISD?WR_IMEMN
A51 MACRO ASSEMBLER ISD51 11/11/2005 06:13:35 PAGE 11
0095 F9 670 ?ISD?WR_IMEMN: MOV R1,A
0096 1100 F 671 IMEM2LOOP: ACALL ?ISD?GETBYTE
0098 F6 672 MOV @R0,A
0099 08 673 INC R0
009A D9FA 674 DJNZ R1,IMEM2LOOP
009C 0100 F 675 AJMP ?ISD?CMDLOOP
676
677
678 ;--------------------------------------------------------------------------
679 ; Command: Write Code Flash
680 ; LOW (?ISD?WR_FLASH), HIGH (?ISD?WR_FLASH), FlashAdrL, FlashAdrH
681 PUBLIC ?ISD?WR_FLASH
009E 682 ?ISD?WR_FLASH: CWRITE
00A6 0100 F 688 AJMP ?ISD?CMDLOOP2
689
690
691 ;--------------------------------------------------------------------------
692 ; Command: Write SFR DPL, DPH
693 ; LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
694 ;
695 ;
00A8 696 ?ISD?WRITESFR00:
00A8 8882 697 MOV DPL,R0
00AA F583 698 MOV DPH,A
00AC 0100 F 699 AJMP ?ISD?CMDLOOP
700
701 ;--------------------------------------------------------------------------
702 ; Command: Write SFR SP, B
703 ; LOW (?ISD?WRITESFR01), HIGH (?ISD?WRITESFR01), SP, B
704 ;
00AE 705 ?ISD?WRITESFR01:
00AE 8881 706 MOV SP,R0
00B0 F5F0 707 MOV B,A
00B2 0100 F 708 AJMP ?ISD?CMDLOOP
709
710 ;--------------------------------------------------------------------------
711 ; Command: Write SFR02: P0
712 ; LOW (?ISD?WRITESFR02), HIGH (?ISD?WRITESFR02), dummy, P0
713 ;
00B4 714 ?ISD?WRITESFR02:
00B4 F580 715 MOV P0,A
00B6 0100 F 716 AJMP ?ISD?CMDLOOP
717
718 ;--------------------------------------------------------------------------
719 ; Command: Write SFR03: P3
720 ; LOW (?ISD?WRITESFR03), HIGH (?ISD?WRITESFR03), dummy, P3
721 ;
00B8 722 ?ISD?WRITESFR03:
00B8 F5B0 723 MOV P3,A
00BA 0100 F 724 AJMP ?ISD?CMDLOOP
725
726
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -