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

📄 isd51.lst

📁 单片机程序代码,经过很详细的测试.呵呵,硬件相关.
💻 LST
📖 第 1 页 / 共 3 页
字号:
                                             
                             
                             
                             
                                             
                                             
                             
                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                             
                                           
                             
                                             
                                             
                                             
                                             
                                             
                             
                                             
                                             
                                             
                                             
                                             
                                             
                             
                             
                     303     
                     304     
----                 305                     RSEG    ?PR?ISD51
                     306                     USING   0               ; Assume Registerbank 0 for ARx symbols
                     307             
0000                 308     SerialInterrupt:
0000 C0D0            309                     PUSH    PSW
0002 C0E0            310                     PUSH    ACC
0004 75D000          311                     MOV     PSW,#0          ; Select Register Bank 0
0007 C000            312                     PUSH    AR0
0009 C001            313                     PUSH    AR1
                     314                     JB_RI   BreakSerial
000E 78FF            316                     MOV     R0,#?ISD?RAMTOP
0010 8600            317                     MOV     AR0,@R0         ; Load Start Address of Break Table
0012 B8FF29          318                     CJNE    R0,#0xFF,CheckBreaks
                     319     ; Called when a Breakpoint is reached or in Single Stepping Mode
                     320     
                     321     ; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
0015 74F7            322     SoftBreak:      MOV     A,#0F7H         ; Send Idenifier
0017                 323     Send7Bytes:     SBYTE                   ; Send Byte
A51 MACRO ASSEMBLER  ISD51                                                                04/09/2003 15:52:10 PAGE     6

001E D001            327                     POP     AR1
0020 7805            328                     MOV     R0,#5
0022 D0E0            329     SendStackFrame: POP     ACC
0024 1100     F      330                     ACALL   ?ISD?SENDBYTE
0026 D8FA            331                     DJNZ    R0,SendStackFrame
0028 E9              332                     MOV     A,R1
0029 1100     F      333                     ACALL   ?ISD?SENDBYTE
                     334     
                     335     ; Wait for Command
                     336     ;  CmdAddrL, CmdAddrH, R0, ACC
                     337     
002B 1100     F      338     ?ISD?CMDLOOP:   ACALL   ?ISD?GETBYTE            ; Command Address
002D C0E0            339                     PUSH    ACC
002F 1100     F      340                     ACALL   ?ISD?GETBYTE
0031 C0E0            341                     PUSH    ACC
0033 1100     F      342                     ACALL   ?ISD?GETBYTE
0035 F8              343                     MOV     R0,A
                     344     ;;;             ACALL   ?ISD?GETBYTE
                     345     ;;;             RET
                     346     
0036                 347     ?ISD?GETBYTE:   GBYTE
                     348+1            JNB_RI $
                     350+1            RBYTE
003D 22              353                     RET
                     354     
                     355     ; Check Soft Breaks in Memory
003E E581            356     CheckBreaks:    MOV     A,SP
0040 24FC            357                     ADD     A,#-4
0042 F9              358                     MOV     R1,A            ; Address to PCH/PCL
0043 800C            359                     SJMP    CheckBreak1
0045 08              360     CheckBreak:     INC     R0
0046 19              361                     DEC     R1
0047 E6              362                     MOV     A,@R0           ; Compare Low Part
0048 67              363                     XRL     A,@R1
0049 08              364                     INC     R0
004A 09              365                     INC     R1
004B 7004            366                     JNZ     CheckBreak1
004D E6              367                     MOV     A,@R0           ; Compare High Part
004E 67              368                     XRL     A,@R1
004F 60C4            369                     JZ      SoftBreak
0051 B8FEF1          370     CheckBreak1:    CJNE    R0,#?ISD?RAMTOP-1,CheckBreak
0054 D001            371     ReturnI:        POP     AR1
0056 D000            372     RestartUser:    POP     AR0
0058 D0E0            373                     POP     ACC
005A D0D0            374                     POP     PSW
005C 32              375                     RETI
                     376     
005D                 377     BreakSerial:    RBYTE
0061 B4A5F0          380                     CJNE    A,#0A5H,ReturnI
                     381                     SET_TI
0066 80AD            383                     SJMP    SoftBreak
                     384     
0068                 385     ?ISD?SENDBYTE:  SBYTE
006F 22              389                     RET
                     390     
                     391     ;--------------------------------------------------------------------------
                     392     ; Command: Write SFR DPL, DPH
                     393     ;  LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
                     394     ;
                     395     ;
0070                 396     ?ISD?WRITESFR00:
0070 8882            397                     MOV     DPL,R0
0072 F583            398                     MOV     DPH,A
0074 0100     F      399                     AJMP    ?ISD?CMDLOOP
                     400     
                     401     ;--------------------------------------------------------------------------
A51 MACRO ASSEMBLER  ISD51                                                                04/09/2003 15:52:10 PAGE     7

                     402     ; Command: Write SFR SP, B
                     403     ;  LOW (?ISD?WRITESFR01), HIGH (?ISD?WRITESFR01), SP, B
                     404     ;
0076                 405     ?ISD?WRITESFR01:
0076 8881            406                     MOV     SP,R0
0078 F5F0            407                     MOV     B,A
007A 0100     F      408                     AJMP    ?ISD?CMDLOOP
                     409     
                     410     ;--------------------------------------------------------------------------
                     411     ; Command: Write SFR02:  P0
                     412     ;  LOW (?ISD?WRITESFR02), HIGH (?ISD?WRITESFR02), dummy, P0
                     413     ;
007C                 414     ?ISD?WRITESFR02:
007C F580            415                     MOV     P0,A
007E 0100     F      416                     AJMP    ?ISD?CMDLOOP
                     417     
                     418     ;--------------------------------------------------------------------------
                     419     ; Command: Write SFR03:  P3
                     420     ;  LOW (?ISD?WRITESFR03), HIGH (?ISD?WRITESFR03), dummy, P3
                     421     ;
0080                 422     ?ISD?WRITESFR03:
0080 F5B0            423                     MOV     P3,A
0082 0100     F      424                     AJMP    ?ISD?CMDLOOP
                     425     
                     426     ;--------------------------------------------------------------------------
                     427     ; 0 Read CPU Core SFR registers:
                     428     ;  LOW (?ISD?READCORESFR), HIGH (?ISD?READCORESFR), dummy, dummy
                     429     ;  Sends: dummy, dummy, B, AUXR, DPL, DPH, SP
0084 E581            430     ?ISD?READSFR00: MOV     A,SP
0086 C083            431                     PUSH    DPH
0088 C082            432                     PUSH    DPL
008A C08E            433                     PUSH    AUXR
008C C0F0            434                     PUSH    B
008E C0E0            435                     PUSH    ACC   ; Dummy
0090 C0E0            436                     PUSH    ACC   ; Dummy
0092 0100     F      437                     AJMP    Send7Bytes
                     438     ;
                     439     ;--------------------------------------------------------------------------
                     440     ; 1 Read CPU Core SFR registers:
                     441     ;  LOW (?ISD?READSFR01), HIGH (?ISD?READSFR01), dummy, dummy
                     442     ;  Sends: S:80, S:84, S:85, S:86, S:87, S:88, S:89
                     443     ;   
0094                 444     ?ISD?READSFR01:
0094 E589            445                     MOV     A,0x89  ; S:89
0096 C088            446                     PUSH    0x88    ; S:88
0098 C087            447                     PUSH    0x87
009A C086            448                     PUSH    0x86
009C C085            449                     PUSH    0x85
009E C084            450                     PUSH    0x84
00A0 C080            451                     PUSH    0x80
00A2 0100     F      452                     AJMP    Send7Bytes
                     453     ;
                     454     ;--------------------------------------------------------------------------
                     455     ; 2 Read CPU Core SFR registers:
                     456     ;  LOW (?ISD?READSFR02), HIGH (?ISD?READSFR02), dummy, dummy
                     457     ;  Sends: S:8A, S:8B, S:8C, S:8D, S:8E, S:8F, S:90
                     458     ;  
00A4                 459     ?ISD?READSFR02:
00A4 E590            460                     MOV     A,0x90
00A6 C08F            461                     PUSH    0x8F    
00A8 C08E            462                     PUSH    0x8E
00AA C08D            463                     PUSH    0x8D
00AC C08C            464                     PUSH    0x8C
00AE C08B            465                     PUSH    0x8B
00B0 C08A            466                     PUSH    0x8A
00B2 0100     F      467                     AJMP    Send7Bytes
A51 MACRO ASSEMBLER  ISD51                                                                04/09/2003 15:52:10 PAGE     8

                     468     ;
                     469     ;--------------------------------------------------------------------------
                     470     ; 3 Read CPU Core SFR registers:
                     471     ;  LOW (?ISD?READSFR03), HIGH (?ISD?READSFR03), dummy, dummy
                     472     ;  Sends: S:91, S:92, S:93, S:94, S:95, S:96, S:97
                     473     ;   
00B4                 474     ?ISD?READSFR03:
00B4 E597            475                     MOV     A,0x97
00B6 C096            476                     PUSH    0x96    
00B8 C095            477                     PUSH    0x95
00BA C094            478                     PUSH    0x94
00BC C093            479                     PUSH    0x93
00BE C092            480                     PUSH    0x92
00C0 C091            481                     PUSH    0x91
00C2 0100     F      482                     AJMP    Send7Bytes
                     483     ;
                     484     ;--------------------------------------------------------------------------
                     485     ; 4 Read CPU Core SFR registers:
                     486     ;  LOW (?ISD?READSFR04), HIGH (?ISD?READSFR04), dummy, dummy
                     487     ;  Sends: S:8A, S:8B, S:8C, S:8D, S:8E, S:8F, S:90
                     488     ;  
00C4                 489     ?ISD?READSFR04:
00C4 E59E            490                     MOV     A,0x9E
00C6 C09D            491                     PUSH    0x9D    
00C8 C09C            492                     PUSH    0x9C
00CA C09B            493                     PUSH    0x9B
00CC C09A            494                     PUSH    0x9A
00CE C099            495                     PUSH    0x99
00D0 C098            496                     PUSH    0x98
00D2 0100     F      497                     AJMP    Send7Bytes
                     498     ;
                     499     ;--------------------------------------------------------------------------
                     500     ; 5 Read CPU Core SFR registers:
                     501     ;  LOW (?ISD?READSFR05), HIGH (?ISD?READSFR05), dummy, dummy
                     502     ;  
00D4                 503     ?ISD?READSFR05:
00D4 E5A5            504                     MOV     A,0xA5
00D6 C0A4            505                     PUSH    0xA4    
00D8 C0A3            506                     PUSH    0xA3
00DA C0A2            507                     PUSH    0xA2
00DC C0A1            508                     PUSH    0xA1
00DE C0A0            509                     PUSH    0xA0
00E0 C09F            510                     PUSH    0x9F
00E2 0100     F      511                     AJMP    Send7Bytes
                     512     ;
                     513     ;--------------------------------------------------------------------------
                     514     ; 6 Read CPU Core SFR registers:
                     515     ;  LOW (?ISD?READSFR06), HIGH (?ISD?READSFR06), dummy, dummy
                     516     ;  
00E4                 517     ?ISD?READSFR06:
00E4 E5AC            518                     MOV     A,0xAC
00E6 C0AB            519                     PUSH    0xAB    
00E8 C0AA            520                     PUSH    0xAA
00EA C0A9            521                     PUSH    0xA9
00EC C0A8            522                     PUSH    0xA8
00EE C0A7            523                     PUSH    0xA7
00F0 C0A6            524                     PUSH    0xA6
00F2 0100     F      525                     AJMP    Send7Bytes
                     526     ;
                     527     ;--------------------------------------------------------------------------
                     528     ; 7 Read CPU Core SFR registers:
                     529     ;  LOW (?ISD?READSFR07), HIGH (?ISD?READSFR07), dummy, dummy
                     530     ;  
00F4                 531     ?ISD?READSFR07:
00F4 E5B3            532                     MOV     A,0xB3
00F6 C0B2            533                     PUSH    0xB2    
A51 MACRO ASSEMBLER  ISD51                                                                04/09/2003 15:52:10 PAGE     9

00F8 C0B1            534                     PUSH    0xB1
00FA C0B0            535                     PUSH    0xB0
00FC C0AF            536                     PUSH    0xAF
00FE C0AE            537                     PUSH    0xAE
0100 C0AD            538                     PUSH    0xAD

⌨️ 快捷键说明

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