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

📄 isd51.lst

📁 利用NRF9e5芯片编写的C51源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
01B7 C0EE            976                     PUSH    0xEE
01B9 0100     F      977                     AJMP    Send7Bytes
                     978     ;
                     979     ;--------------------------------------------------------------------------
                     980     ;17 Read CPU Core SFR registers:
                     981     ;  LOW (?ISD?READSFR17), HIGH (?ISD?READSFR17), dummy, dummy
                     982     ;  
01BB                 983     ?ISD?READSFR17:
01BB E5FC            984                     MOV     A,0xFC
01BD C0FB            985                     PUSH    0xFB    
01BF C0FA            986                     PUSH    0xFA
01C1 C0F9            987                     PUSH    0xF9
01C3 C0F8            988                     PUSH    0xF8
01C5 C0F7            989                     PUSH    0xF7
01C7 C0F6            990                     PUSH    0xF6
01C9 0100     F      991                     AJMP    Send7Bytes
                     992     ;
                     993     ;--------------------------------------------------------------------------
                     994     ;18 Read CPU Core SFR registers:
                     995     ;  LOW (?ISD?READSFR18), HIGH (?ISD?READSFR18), dummy, dummy
                     996     ;  
01CB                 997     ?ISD?READSFR18:
01CB E5FF            998                     MOV     A,0xFF
A51 MACRO ASSEMBLER  ISD51                                                                09/27/2006 15:13:06 PAGE    16

01CD C0FE            999                     PUSH    0xFE
01CF C0FD           1000                     PUSH    0xFD
01D1 C0E0           1001                     PUSH    ACC        ; dummy      
01D3 C0E0           1002                     PUSH    ACC        ; dummy
01D5 C0E0           1003                     PUSH    ACC        ; dummy
01D7 C0E0           1004                     PUSH    ACC        ; dummy
01D9 0100     F     1005                     AJMP    Send7Bytes
                    1006     ;
                    1007     ;--------------------------------------------------------------------------;
                    1008     ; putchar:  transmit a character via the serial interface
                    1009     
                    1010     PUBLIC _putchar   ; C-Prototype:  char putchar (char c);
                    1011     PUBLIC ?ISD?PUTCHAR, ?ISD?PUTCHAR_END
                    1012     
01DB                1013     ?ISD?PUTCHAR:
01DB BFA700         1014     _putchar:       CJNE    R7,#0A7H,$+3
01DE 5025           1015                     JNC     pc_end
01E0 EF             1016                     MOV     A,R7
01E1 640A           1017                     XRL     A,#0AH
                    1018                     SAVE_ES
                    1020                     CLR_ES
01E7 7009           1022                     JNZ     pc_char
01E9 740D           1023                     MOV     A,#0DH
                    1024                     CLR_TI
                    1026                     WR_SBUF
                    1028                     JNB_TI  $
01F2 EF             1030     pc_char:        MOV     A,R7
                    1031                     CLR_TI
                    1033                     WR_SBUF
                    1035                     JNB_TI  $
01FA 5007           1037                     JNC     pc_char1        ; ISD51 is not initialized
01FC 78FF           1038                     MOV     R0,#?ISD?RAMTOP
01FE E6             1039                     MOV     A,@R0
                    1040     
01FF 7002           1041                     JNZ     pc_char1
                             
                                             
                             
                    1045                     CLR_TI
0203                1047     pc_char1:
                    1048                     RESTO_ES
0205                1050     ?ISD?PUTCHAR_END:
0205 22             1051     pc_end:         RET     
                    1052     
                    1053     
                    1054     
                    1055     ;--------------------------------------------------------------------------
                    1056     ; _getkey:  waits for a character to be received from the serial port
                    1057     
                    1058     
                    1059     PUBLIC _getkey  ; C-Prototype:  char _getkey (void);
                    1060     
0206                1061     _getkey:        JNB_ES _getkey2
0209 E500     F     1063                     MOV     A,_ISD_CHAR
020B 64A5           1064                     XRL     A,#0A5H
020D 60F7           1065                     JZ      _getkey                ; no character available
020F 74A5           1066                     MOV     A,#0A5H
0211 C500     F     1067                     XCH     A,_ISD_CHAR
0213 FF             1068                     MOV     R7,A
0214 22             1069                     RET
                    1070     
0215                1071     _getkey2:       JNB_RI  $
                    1073                     RD_SBUF
021A B4A505         1075                     CJNE    A,#0A5H,gk_clrRI
021D 120000   F     1076                     CALL    __isd_init
0220 80E4           1077                     SJMP    _getkey
A51 MACRO ASSEMBLER  ISD51                                                                09/27/2006 15:13:06 PAGE    17

                    1078     
0222 FF             1079     gk_clrRI:       MOV     R7,A
                    1080                     CLR_RI
0225 22             1082                     RET
                    1083                     
                    1084     
                    1085     PUBLIC _iskey   ; C-Prototype:  bit  _iskey (void);
0226                1086     _iskey:         JNB_ES  _iskey2
0229 E500     F     1088                     MOV     A,_ISD_CHAR
022B B4A510         1089                     CJNE    A,#0A5H,ik_on
022E C3             1090                     CLR     C        
022F 22             1091                     RET
                    1092                     
0230 C3             1093     _iskey2:        CLR     C
                    1094                     JNB_RI  ik_end
                    1096                     RD_SBUF
0236 B4A505         1098                     CJNE    A,#0A5H,ik_on
0239 120000   F     1099                     CALL    __isd_init
023C 80E8           1100                     SJMP    _iskey
023E D3             1101     ik_on:          SETB    C
023F 22             1102     ik_end:         RET
                    1103     
                    1104     
                    1105     ?DT?ISD51       SEGMENT DATA
----                1106                     RSEG    ?DT?ISD51
                    1107     
                    1108     PUBLIC          _ISD_CHAR
0000                1109     _ISD_CHAR:      DS      1                ; current user input character
                    1110     
                    1111     
----                1112                     RSEG    ?PR?ISD51
                    1113     
                    1114     
                    1115     ;--------------------------------------------------------------------------
                    1116     ; __isd_init:  prepare idata RAM for ISD51
0240                1117     __isd_init:     
0240 78FF           1118                     MOV     R0,#?ISD?RAMTOP
0242 76FF           1119                     MOV     @R0,#0xFF
                    1120     
0244 7500A5   F     1121                     MOV     _ISD_CHAR,#0A5H        ; no character available
                    1122     
                    1123                     SET_ES      
0249 22             1125                     RET
024A 00             1126                     NOP
                    1127     
                    1128                     END
                             
                             
A51 MACRO ASSEMBLER  ISD51                                                                09/27/2006 15:13:06 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                                                                09/27/2006 15:13:06 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 + -