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