⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isd51.lst

📁 《增强型8051单片机实用开发技术》例程代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
0015 C000            478                     PUSH    AR0
0017 C001            479                     PUSH    AR1
0019 8010            480                     SJMP    SoftBreak
                     481     
001B 74FF            482     NoSerBreak:     MOV     A,#0FFH
001D 75D000          483     CallBreak:      MOV     PSW,#0          ; Select Register Bank 0
0020 C000            484                     PUSH    AR0
0022 C001            485                     PUSH    AR1
0024 78FF            486                     MOV     R0,#?ISD?RAMTOP
                     487     
0026 8600            488                     MOV     AR0,@R0         ; Load Start Address of Break Table
0028 B8FF29          489                     CJNE    R0,#0xFF,CheckBreaks
                             
                                             
                                             
                             
                             
                             
                                             
                                             
                                             
                             
                             
                                             
                                             
                             
                     504     ; Called when a Breakpoint is reached or in Single Stepping Mode
                     505     
                     506     ; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
                     507     
002B 74F7            508     SoftBreak:      MOV     A,#0F7H         ; Send Idenifier
                     509     
002D                 510     Send7Bytes:     SBYTE                   ; Send Byte
                     511+1            JNB_TI $
                     513+1            CLR_TI
                     515+1            WR_SBUF           ; MOV SBUF,A
0034 D001            517                     POP     AR1
0036 7805            518                     MOV     R0,#5
0038 D0E0            519     SendStackFrame: POP     ACC
003A 1100     F      520                     ACALL   ?ISD?SENDBYTE
003C D8FA            521                     DJNZ    R0,SendStackFrame
003E E9              522                     MOV     A,R1
003F 1100     F      523     ?ISD?CMDLOOP2:  ACALL   ?ISD?SENDBYTE
                     524     
                     525     ; Wait for Command
                     526     ;  CmdAddrL, CmdAddrH, R0, ACC
                     527     
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE     9

0041 1100     F      528     ?ISD?CMDLOOP:   ACALL   ?ISD?GETBYTE            ; Command Address
0043 C0E0            529                     PUSH    ACC
0045 1100     F      530                     ACALL   ?ISD?GETBYTE
0047 C0E0            531                     PUSH    ACC
0049 1100     F      532                     ACALL   ?ISD?GETBYTE
004B F8              533                     MOV     R0,A
                     534     ;;;             ACALL   ?ISD?GETBYTE
                     535     ;;;             RET
                     536     
004C                 537     ?ISD?GETBYTE:   GBYTE
                     538+1            JNB_RI $
                     540+1            RBYTE
0053 22              545                     RET
                     546     
                     547     
                     548     ; Check Soft Breaks in Memory
0054 E581            549     CheckBreaks:    MOV     A,SP
0056 24FC            550                     ADD     A,#-4
0058 F9              551                     MOV     R1,A            ; Address to PCH/PCL
0059 800C            552                     SJMP    CheckBreak1
005B 08              553     CheckBreak:     INC     R0
005C 19              554                     DEC     R1
005D E6              555                     MOV     A,@R0           ; Compare Low Part
005E 67              556                     XRL     A,@R1
005F 08              557                     INC     R0
0060 09              558                     INC     R1
0061 7004            559                     JNZ     CheckBreak1
0063 E6              560                     MOV     A,@R0           ; Compare High Part
0064 67              561                     XRL     A,@R1
0065 60C4            562                     JZ      SoftBreak
0067 B8FEF1          563     CheckBreak1:    CJNE    R0,#?ISD?RAMTOP-1,CheckBreak
                     564     
006A D001            565                     POP     AR1
006C D000            566     RestartUser:    POP     AR0
                     567     
                     568     
006E D0E0            569     ReturnI:        POP     ACC
0070 D0D0            570                     POP     PSW
0072 32              571                     RETI
                     572     
                     573     
                     574     
0073                 575     ?ISD?SENDBYTE:  SBYTE
                     576+1            JNB_TI $
                     578+1            CLR_TI
                     580+1            WR_SBUF           ; MOV SBUF,A
007A 22              582                     RET
                     583     
                     584     ;--------------------------------------------------------------------------
                     585     ; Command: Restart User Program
                     586     ;  LOW (?ISD?RESTART), HIGH (?ISD?RESTART), R0, PCL, PCH, PSW, R1, ACC
                     587     ;
                     588     ;
007B C0E0            589     ?ISD?RESTART:   PUSH    ACC          ; PCL Content of User Program
007D 1100     F      590                     ACALL   ?ISD?GETBYTE
007F C0E0            591                     PUSH    ACC          ; PCH Content of User Program
0081 1100     F      592                     ACALL   ?ISD?GETBYTE
0083 C0E0            593                     PUSH    ACC          ; PSW Content of User Program
0085 1100     F      594                     ACALL   ?ISD?GETBYTE
0087 F9              595                     MOV     R1,A         ; R1  Content of User Program
0088 1100     F      596                     ACALL   ?ISD?GETBYTE ; ACC Content of User Program
008A C0E0            597                     PUSH    ACC
008C C000            598                     PUSH    AR0
008E 78FF            599                     MOV     R0,#?ISD?RAMTOP
0090 E6              600                     MOV     A,@R0
                     601     
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    10

                                             
                                             
                                             
                                             
                                             
                             
                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                                             
                             
0091 7002            651                     JNZ     RestartSS
                     652                     CLR_TI
0095 0100     F      654     RestartSS:      AJMP    RestartUser
                     655     
                     656     
                     657     ;--------------------------------------------------------------------------;
                     658     ; Insert HW Breakpoints
                     659     
                             
                             
                             
                             
                             
                             
                                             
                                             
                                             
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    11

                                             
                             
                             
                             
                             
                             
                             
                             
                                             
                             
                             
                     680     ;--------------------------------------------------------------------------
                     681     ; Command: Write SFR DPL, DPH
                     682     ;  LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
                     683     ;
                     684     ;
0097                 685     ?ISD?WRITESFR00:
0097 8882            686                     MOV     DPL,R0
0099 F583            687                     MOV     DPH,A
009B 0100     F      688                     AJMP    ?ISD?CMDLOOP
                     689     
                     690     ;--------------------------------------------------------------------------
                     691     ; Command: Write SFR SP, B
                     692     ;  LOW (?ISD?WRITESFR01), HIGH (?ISD?WRITESFR01), SP, B
                     693     ;
009D                 694     ?ISD?WRITESFR01:
009D 8881            695                     MOV     SP,R0
009F F5F0            696                     MOV     B,A
00A1 0100     F      697                     AJMP    ?ISD?CMDLOOP
                     698     
                     699     ;--------------------------------------------------------------------------
                     700     ; Command: Write SFR02:  P0
                     701     ;  LOW (?ISD?WRITESFR02), HIGH (?ISD?WRITESFR02), dummy, P0
                     702     ;
00A3                 703     ?ISD?WRITESFR02:
00A3 F580            704                     MOV     P0,A
00A5 0100     F      705                     AJMP    ?ISD?CMDLOOP
                     706     
                     707     ;--------------------------------------------------------------------------
                     708     ; Command: Write SFR03:  P3
                     709     ;  LOW (?ISD?WRITESFR03), HIGH (?ISD?WRITESFR03), dummy, P3
                     710     ;
00A7                 711     ?ISD?WRITESFR03:
00A7 F5B0            712                     MOV     P3,A
00A9 0100     F      713                     AJMP    ?ISD?CMDLOOP
                     714     
                     715     
                             
                             
                             
                             
                             
                                             
                                             
                             
                             
                             
                             
                             
                             
                                             
                                             
                             

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -