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

📄 isd51.lst

📁 《增强型8051单片机实用开发技术》例程代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
01B9 0100     F      972                     AJMP    Send7Bytes
                     973     ;
                     974     ;--------------------------------------------------------------------------
                     975     ;17 Read CPU Core SFR registers:
                     976     ;  LOW (?ISD?READSFR17), HIGH (?ISD?READSFR17), dummy, dummy
                     977     ;  
01BB                 978     ?ISD?READSFR17:
01BB E5FC            979                     MOV     A,0xFC
01BD C0FB            980                     PUSH    0xFB    
01BF C0FA            981                     PUSH    0xFA
01C1 C0F9            982                     PUSH    0xF9
01C3 C0F8            983                     PUSH    0xF8
01C5 C0F7            984                     PUSH    0xF7
01C7 C0F6            985                     PUSH    0xF6
01C9 0100     F      986                     AJMP    Send7Bytes
                     987     ;
                     988     ;--------------------------------------------------------------------------
                     989     ;18 Read CPU Core SFR registers:
                     990     ;  LOW (?ISD?READSFR18), HIGH (?ISD?READSFR18), dummy, dummy
                     991     ;  
01CB                 992     ?ISD?READSFR18:
01CB E5FF            993                     MOV     A,0xFF
01CD C0FE            994                     PUSH    0xFE
01CF C0FD            995                     PUSH    0xFD
01D1 C0E0            996                     PUSH    ACC        ; dummy      
01D3 C0E0            997                     PUSH    ACC        ; dummy
01D5 C0E0            998                     PUSH    ACC        ; dummy
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    16

01D7 C0E0            999                     PUSH    ACC        ; dummy
01D9 0100     F     1000                     AJMP    Send7Bytes
                    1001     ;
                    1002     ;--------------------------------------------------------------------------;
                    1003     ; putchar:  transmit a character via the serial interface
                    1004     
                    1005     PUBLIC _putchar   ; C-Prototype:  char putchar (char c);
                    1006     PUBLIC ?ISD?PUTCHAR, ?ISD?PUTCHAR_END
                    1007     
01DB                1008     ?ISD?PUTCHAR:
01DB BFA700         1009     _putchar:       CJNE    R7,#0A7H,$+3
01DE 5025           1010                     JNC     pc_end
01E0 EF             1011                     MOV     A,R7
01E1 640A           1012                     XRL     A,#0AH
                    1013                     SAVE_ES
                    1015                     CLR_ES
01E7 7009           1017                     JNZ     pc_char
01E9 740D           1018                     MOV     A,#0DH
                    1019                     CLR_TI
                    1021                     WR_SBUF
                    1023                     JNB_TI  $
01F2 EF             1025     pc_char:        MOV     A,R7
                    1026                     CLR_TI
                    1028                     WR_SBUF
                    1030                     JNB_TI  $
01FA 5007           1032                     JNC     pc_char1        ; ISD51 is not initialized
01FC 78FF           1033                     MOV     R0,#?ISD?RAMTOP
01FE E6             1034                     MOV     A,@R0
                    1035     
01FF 7002           1036                     JNZ     pc_char1
                             
                                             
                             
                    1040                     CLR_TI
0203                1042     pc_char1:
                    1043                     RESTO_ES
0205                1045     ?ISD?PUTCHAR_END:
0205 22             1046     pc_end:         RET     
                    1047     
                    1048     
                    1049     
                    1050     ;--------------------------------------------------------------------------
                    1051     ; _getkey:  waits for a character to be received from the serial port
                    1052     
                    1053     
                    1054     PUBLIC _getkey  ; C-Prototype:  char _getkey (void);
                    1055     
0206                1056     _getkey:        JNB_ES _getkey2
0209 E500     F     1058                     MOV     A,_ISD_CHAR
020B 64A5           1059                     XRL     A,#0A5H
020D 60F7           1060                     JZ      _getkey                ; no character available
020F 74A5           1061                     MOV     A,#0A5H
0211 C500     F     1062                     XCH     A,_ISD_CHAR
0213 FF             1063                     MOV     R7,A
0214 22             1064                     RET
                    1065     
0215                1066     _getkey2:       JNB_RI  $
                    1068                     RD_SBUF
021A B4A505         1070                     CJNE    A,#0A5H,gk_clrRI
021D 120000   F     1071                     CALL    __isd_init
0220 80E4           1072                     SJMP    _getkey
                    1073     
0222 FF             1074     gk_clrRI:       MOV     R7,A
                    1075                     CLR_RI
0225 22             1077                     RET
                    1078                     
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    17

                    1079     
                    1080     PUBLIC _iskey   ; C-Prototype:  bit  _iskey (void);
0226                1081     _iskey:         JNB_ES  _iskey2
0229 E500     F     1083                     MOV     A,_ISD_CHAR
022B B4A510         1084                     CJNE    A,#0A5H,ik_on
022E C3             1085                     CLR     C        
022F 22             1086                     RET
                    1087                     
0230 C3             1088     _iskey2:        CLR     C
                    1089                     JNB_RI  ik_end
                    1091                     RD_SBUF
0236 B4A505         1093                     CJNE    A,#0A5H,ik_on
0239 120000   F     1094                     CALL    __isd_init
023C 80E8           1095                     SJMP    _iskey
023E D3             1096     ik_on:          SETB    C
023F 22             1097     ik_end:         RET
                    1098     
                    1099     
                    1100     ?DT?ISD51       SEGMENT DATA
----                1101                     RSEG    ?DT?ISD51
                    1102     
                    1103     PUBLIC          _ISD_CHAR
0000                1104     _ISD_CHAR:      DS      1                ; current user input character
                    1105     
                    1106     
----                1107                     RSEG    ?PR?ISD51
                    1108     
                    1109     
                    1110     ;--------------------------------------------------------------------------
                    1111     ; __isd_init:  prepare idata RAM for ISD51
0240                1112     __isd_init:     
0240 78FF           1113                     MOV     R0,#?ISD?RAMTOP
0242 76FF           1114                     MOV     @R0,#0xFF
                    1115     
0244 7500A5   F     1116                     MOV     _ISD_CHAR,#0A5H        ; no character available
                    1117     
                    1118                     SET_ES      
0249 22             1120                     RET
024A 00             1121                     NOP
                    1122     
                    1123                     END
                             
                             
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    18

SYMBOL TABLE LISTING
------ ----- -------


N A M E              T Y P E  V A L U E   ATTRIBUTES

?DT?ISD51 . . . . .  D SEG    0001H       REL=UNIT
?ISD?CBLK_SIZE. . .  N NUMB   0000H   A   
?ISD?CMDLOOP. . . .  C ADDR   0041H   R   SEG=?PR?ISD51
?ISD?CMDLOOP2 . . .  C ADDR   003FH   R   SEG=?PR?ISD51
?ISD?CMP_E. . . . .  N NUMB   FFFFH   A   
?ISD?CMP_S. . . . .  N NUMB   0000H   A   
?ISD?CORE . . . . .  N ADDR   -----       EXT
?ISD?GETBYTE. . . .  C ADDR   004CH   R   SEG=?PR?ISD51
?ISD?PUTCHAR. . . .  C ADDR   01DBH   R   SEG=?PR?ISD51
?ISD?PUTCHAR_END. .  C ADDR   0205H   R   SEG=?PR?ISD51
?ISD?RAMTOP . . . .  N NUMB   00FFH   A   
?ISD?READSFR00. . .  C ADDR   00ABH   R   SEG=?PR?ISD51
?ISD?READSFR01. . .  C ADDR   00BBH   R   SEG=?PR?ISD51
?ISD?READSFR02. . .  C ADDR   00CBH   R   SEG=?PR?ISD51
?ISD?READSFR03. . .  C ADDR   00DBH   R   SEG=?PR?ISD51
?ISD?READSFR04. . .  C ADDR   00EBH   R   SEG=?PR?ISD51
?ISD?READSFR05. . .  C ADDR   00FBH   R   SEG=?PR?ISD51
?ISD?READSFR06. . .  C ADDR   010BH   R   SEG=?PR?ISD51
?ISD?READSFR07. . .  C ADDR   011BH   R   SEG=?PR?ISD51
?ISD?READSFR08. . .  C ADDR   012BH   R   SEG=?PR?ISD51
?ISD?READSFR09. . .  C ADDR   013BH   R   SEG=?PR?ISD51
?ISD?READSFR10. . .  C ADDR   014BH   R   SEG=?PR?ISD51
?ISD?READSFR11. . .  C ADDR   015BH   R   SEG=?PR?ISD51
?ISD?READSFR12. . .  C ADDR   016BH   R   SEG=?PR?ISD51
?ISD?READSFR13. . .  C ADDR   017BH   R   SEG=?PR?ISD51
?ISD?READSFR14. . .  C ADDR   018BH   R   SEG=?PR?ISD51
?ISD?READSFR15. . .  C ADDR   019BH   R   SEG=?PR?ISD51
?ISD?READSFR16. . .  C ADDR   01ABH   R   SEG=?PR?ISD51
?ISD?READSFR17. . .  C ADDR   01BBH   R   SEG=?PR?ISD51
?ISD?READSFR18. . .  C ADDR   01CBH   R   SEG=?PR?ISD51
?ISD?RESTART. . . .  C ADDR   007BH   R   SEG=?PR?ISD51
?ISD?SENDBYTE . . .  C ADDR   0073H   R   SEG=?PR?ISD51
?ISD?VERSION. . . .  N NUMB   00CDH   A   
?ISD?WRITESFR00 . .  C ADDR   0097H   R   SEG=?PR?ISD51
?ISD?WRITESFR01 . .  C ADDR   009DH   R   SEG=?PR?ISD51
?ISD?WRITESFR02 . .  C ADDR   00A3H   R   SEG=?PR?ISD51
?ISD?WRITESFR03 . .  C ADDR   00A7H   R   SEG=?PR?ISD51
?PR?ISD51 . . . . .  C SEG    024BH       REL=INBLOCK
ACC . . . . . . . .  D ADDR   00E0H   A   
AR0 . . . . . . . .  D ADDR   0000H   A   
AR1 . . . . . . . .  D ADDR   0001H   A   
AUXR. . . . . . . .  D ADDR   008EH   A   
B . . . . . . . . .  D ADDR   00F0H   A   
CALLBREAK . . . . .  C ADDR   001DH   R   SEG=?PR?ISD51
CBLK. . . . . . . .  N NUMB   0010H   A   
CHECKBREAK. . . . .  C ADDR   005BH   R   SEG=?PR?ISD51
CHECKBREAK1 . . . .  C ADDR   0067H   R   SEG=?PR?ISD51
CHECKBREAKS . . . .  C ADDR   0054H   R   SEG=?PR?ISD51
DPH . . . . . . . .  D ADDR   0083H   A   
DPL . . . . . . . .  D ADDR   0082H   A   
EA. . . . . . . . .  B ADDR   00A8H.7 A   
ES. . . . . . . . .  B ADDR   00A8H.4 A   
GK_CLRRI. . . . . .  C ADDR   0222H   R   SEG=?PR?ISD51
IE. . . . . . . . .  D ADDR   00A8H   A   
IK_END. . . . . . .  C ADDR   023FH   R   SEG=?PR?ISD51
IK_ON . . . . . . .  C ADDR   023EH   R   SEG=?PR?ISD51
ISD51_CONFIGURATION  N NUMB   -----       
NOSERBREAK. . . . .  C ADDR   001BH   R   SEG=?PR?ISD51
P0. . . . . . . . .  D ADDR   0080H   A   
P1. . . . . . . . .  D ADDR   0090H   A   
A51 MACRO ASSEMBLER  ISD51                                                                11/27/2009 21:11:38 PAGE    19

P2. . . . . . . . .  D ADDR   00A0H   A   
P3. . . . . . . . .  D ADDR   00B0H   A   
PC_CHAR . . . . . .  C ADDR   01F2H   R   SEG=?PR?ISD51
PC_CHAR1. . . . . .  C ADDR   0203H   R   SEG=?PR?ISD51
PC_END. . . . . . .  C ADDR   0205H   R   SEG=?PR?ISD51
PH_FMADRL . . . . .  D ADDR   00E6H   A   
PH_FMCON. . . . . .  D ADDR   00E4H   A   
PSW . . . . . . . .  D ADDR   00D0H   A   
RESTARTSS . . . . .  C ADDR   0095H   R   SEG=?PR?ISD51
RESTARTUSER . . . .  C ADDR   006CH   R   SEG=?PR?ISD51
RETURNI . . . . . .  C ADDR   006EH   R   SEG=?PR?ISD51
RI. . . . . . . . .  B ADDR   0098H.0 A   
SBUF. . . . . . . .  D ADDR   0099H   A   
SCON. . . . . . . .  D ADDR   0098H   A   
SEND7BYTES. . . . .  C ADDR   002DH   R   SEG=?PR?ISD51
SENDSTACKFRAME. . .  C ADDR   0038H   R   SEG=?PR?ISD51
SERIALINTERRUPT . .  C ADDR   0000H   R   SEG=?PR?ISD51
SINTRVEC. . . . . .  N NUMB   0023H   A   
SOFTBREAK . . . . .  C ADDR   002BH   R   SEG=?PR?ISD51
SP. . . . . . . . .  D ADDR   0081H   A   
TI. . . . . . . . .  B ADDR   0098H.1 A   
_GETKEY . . . . . .  C ADDR   0206H   R   SEG=?PR?ISD51
_GETKEY2. . . . . .  C ADDR   0215H   R   SEG=?PR?ISD51
_ISD_CHAR . . . . .  D ADDR   0000H   R   SEG=?DT?ISD51
_ISKEY. . . . . . .  C ADDR   0226H   R   SEG=?PR?ISD51
_ISKEY2 . . . . . .  C ADDR   0230H   R   SEG=?PR?ISD51
_PUTCHAR. . . . . .  C ADDR   01DBH   R   SEG=?PR?ISD51
__ISD_INIT. . . . .  C ADDR   0240H   R   SEG=?PR?ISD51


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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