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

📄 isd51.lst

📁 让Keil 的 RTX51 运行在 P89C669 让Keil 的 RTX51 运行在 P89C669
💻 LST
📖 第 1 页 / 共 5 页
字号:
                                                
                                                
                                                
                                
                        459     
000000                  460     SerialInterrupt:
000000 C0D0             461                     PUSH    PSW
000002 C0E0             462                     PUSH    ACC
                        463+1                   JNB_RI  NoSerBreak
                        465+1                   RBYTE                        ; Check for 0A5H Break Code
                        470     
00000B F500       F     471                     MOV     _ISD_CHAR,A
                        472     
00000D B4A55E           473                     CJNE    A,#0A5H,ReturnI
                        474     
                        475+1                   SET_TI
000012 75D000           477                     MOV     PSW,#0          ; Select Register Bank 0
000015 C000             478                     PUSH    AR0
000017 C001             479                     PUSH    AR1
000019 8010             480                     SJMP    SoftBreak
                        481     
00001B 74FF             482     NoSerBreak:     MOV     A,#0FFH
00001D 75D000           483     CallBreak:      MOV     PSW,#0          ; Select Register Bank 0
000020 C000             484                     PUSH    AR0
000022 C001             485                     PUSH    AR1
000024 78FF             486                     MOV     R0,#?ISD?RAMTOP
                        487     
000026 8600             488                     MOV     AR0,@R0         ; Load Start Address of Break Table
000028 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     
00002B 74F7             508     SoftBreak:      MOV     A,#0F7H         ; Send Idenifier
                        509     
00002D                  510+1   Send7Bytes:     SBYTE                   ; Send Byte
000034 D001             517                     POP     AR1
000036 7805             518                     MOV     R0,#5
000038 D0E0             519     SendStackFrame: POP     ACC
00003A 1100       F     520                     ACALL   ?ISD?SENDBYTE
00003C D8FA             521                     DJNZ    R0,SendStackFrame
00003E E9               522                     MOV     A,R1
00003F 1100       F     523     ?ISD?CMDLOOP2:  ACALL   ?ISD?SENDBYTE
                        524     
                        525     ; Wait for Command
                        526     ;  CmdAddrL, CmdAddrH, R0, ACC
                        527     
000041 1100       F     528     ?ISD?CMDLOOP:   ACALL   ?ISD?GETBYTE            ; Command Address
000043 C0E0             529                     PUSH    ACC
000045 1100       F     530                     ACALL   ?ISD?GETBYTE
000047 C0E0             531                     PUSH    ACC
AX51 MACRO ASSEMBLER  ISD51                                                                 11/23/05 16:37:35 PAGE     9

000049 1100       F     532                     ACALL   ?ISD?GETBYTE
00004B F8               533                     MOV     R0,A
                        534     ;;;             ACALL   ?ISD?GETBYTE
                        535     ;;;             RET
                        536     
00004C                  537+1   ?ISD?GETBYTE:   GBYTE
000053 22               545                     RET
                        546     
                        547     
                        548     ; Check Soft Breaks in Memory
000054 E581             549     CheckBreaks:    MOV     A,SP
000056 24FC             550                     ADD     A,#-4
000058 F9               551                     MOV     R1,A            ; Address to PCH/PCL
000059 800C             552                     SJMP    CheckBreak1
00005B 08               553     CheckBreak:     INC     R0
00005C 19               554                     DEC     R1
00005D E6               555                     MOV     A,@R0           ; Compare Low Part
00005E 67               556                     XRL     A,@R1
00005F 08               557                     INC     R0
000060 09               558                     INC     R1
000061 7004             559                     JNZ     CheckBreak1
000063 E6               560                     MOV     A,@R0           ; Compare High Part
000064 67               561                     XRL     A,@R1
000065 60C4             562                     JZ      SoftBreak
000067 B8FEF1           563     CheckBreak1:    CJNE    R0,#?ISD?RAMTOP-1,CheckBreak
                        564     
00006A D001             565                     POP     AR1
00006C D000             566     RestartUser:    POP     AR0
                        567     
                        568     
00006E D0E0             569     ReturnI:        POP     ACC
000070 D0D0             570                     POP     PSW
000072 32               571                     RETI
                        572     
                        573     
                        574     
000073                  575+1   ?ISD?SENDBYTE:  SBYTE
00007A 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     ;
00007B C0E0             589     ?ISD?RESTART:   PUSH    ACC          ; PCL Content of User Program
00007D 1100       F     590                     ACALL   ?ISD?GETBYTE
00007F C0E0             591                     PUSH    ACC          ; PCH Content of User Program
000081 1100       F     592                     ACALL   ?ISD?GETBYTE
000083 C0E0             593                     PUSH    ACC          ; PSW Content of User Program
000085 1100       F     594                     ACALL   ?ISD?GETBYTE
000087 F9               595                     MOV     R1,A         ; R1  Content of User Program
000088 1100       F     596                     ACALL   ?ISD?GETBYTE ; ACC Content of User Program
00008A C0E0             597                     PUSH    ACC
00008C C000             598                     PUSH    AR0
00008E 78FF             599                     MOV     R0,#?ISD?RAMTOP
000090 E6               600                     MOV     A,@R0
                        601     
                                                
                                                
                                                
                                                
                                                
                                
                                
                                                
                                                
AX51 MACRO ASSEMBLER  ISD51                                                                 11/23/05 16:37:35 PAGE    10

                                                
                                                
                                                
                                                
                                                
                                                
                                
                                                
                                                
                                                
                                                
                                                
                                                
                                                
                                
                                
                                                
                                                
                                                
                                                
                                                
                                
                                
                                                
                                                
                                                
                                                
                                                
                                
                                
                                
                                                
                                                
                                                
                                                
                                                
                                
                                
                                                
                                
000091 7002             651                     JNZ     RestartSS
                        652+1                   CLR_TI
000095 0100       F     654     RestartSS:      AJMP    RestartUser
                        655     
                        656     
                        657     ;--------------------------------------------------------------------------;
                        658     ; Insert HW Breakpoints
                        659     
                                
                                
                                
                                
                                
                                
                                                
                                                
                                                
                                                
                                
                                
                                
                                
                                
                                
                                
                                                
AX51 MACRO ASSEMBLER  ISD51                                                                 11/23/05 16:37:35 PAGE    11

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

⌨️ 快捷键说明

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