📄 hyperterminal.ls1
字号:
226 ;---- Variable 'dat?140' assigned to Register 'R7' ----
227 ; {
228 ; SOURCE LINE # 26
229 ; SBUF = dat;
230 ; SOURCE LINE # 27
0000 8F99 231 MOV SBUF,R7
0002 232 ?C0002:
233 ; while(TI == 0);
234 ; SOURCE LINE # 28
0002 3099FD 235 JNB TI,?C0002
0005 236 ?C0003:
237 ; TI = 0;
238 ; SOURCE LINE # 29
0005 C299 239 CLR TI
240 ; }
241 ; SOURCE LINE # 30
A51 MACRO ASSEMBLER HYPERTERMINAL 04/10/2006 15:01:15 PAGE 5
0007 22 242 RET
243 ; END OF _SerialSendByte
244
245 ;
246 ; void SerialSendStr(char *str)
247
---- 248 RSEG ?PR?_SerialSendStr?HYPERTERMINAL
0000 249 _SerialSendStr:
250 USING 0
251 ; SOURCE LINE # 32
252 ;---- Variable 'str?241' assigned to Register 'R1/R2/R3' ----
253 ; {
254 ; SOURCE LINE # 33
0000 255 ?C0005:
256 ; while(*str != '\0')
257 ; SOURCE LINE # 34
0000 120000 F 258 LCALL ?C?CLDPTR
0003 FF 259 MOV R7,A
0004 600C 260 JZ ?C0007
261 ; {
262 ; SOURCE LINE # 35
263 ; SerialSendByte(*str);
264 ; SOURCE LINE # 36
0006 120000 F 265 LCALL _SerialSendByte
266 ; str++;
267 ; SOURCE LINE # 37
0009 7401 268 MOV A,#01H
000B 29 269 ADD A,R1
000C F9 270 MOV R1,A
000D E4 271 CLR A
000E 3A 272 ADDC A,R2
000F FA 273 MOV R2,A
274 ; }
275 ; SOURCE LINE # 38
0010 80EE 276 SJMP ?C0005
277 ; }
278 ; SOURCE LINE # 39
0012 279 ?C0007:
0012 22 280 RET
281 ; END OF _SerialSendStr
282
---- 283 CSEG AT 00023H
0023 020000 F 284 LJMP SerialInterrupt
285
286 ;
287 ; void SerialInterrupt(void) interrupt 4 using 3
288
---- 289 RSEG ?PR?SerialInterrupt?HYPERTERMINAL
290 USING 3
0000 291 SerialInterrupt:
0000 C0E0 292 PUSH ACC
0002 C0F0 293 PUSH B
0004 C083 294 PUSH DPH
0006 C082 295 PUSH DPL
0008 C0D0 296 PUSH PSW
297 USING 3
000A 75D018 298 MOV PSW,#018H
299 ; SOURCE LINE # 41
300 ; {
301 ; if(RI)
302 ; SOURCE LINE # 43
000D 30980F 303 JNB RI,?C0010
304 ; {
305 ; SOURCE LINE # 44
306 ; RI = 0;
307 ; SOURCE LINE # 45
A51 MACRO ASSEMBLER HYPERTERMINAL 04/10/2006 15:01:15 PAGE 6
0010 C298 308 CLR RI
309 ; if(SBUF == 'a')
310 ; SOURCE LINE # 46
0012 E599 311 MOV A,SBUF
0014 B46103 312 CJNE A,#061H,?C0009
313 ; {
314 ; SOURCE LINE # 47
315 ; (*(void(*)( ))0)();
316 ; SOURCE LINE # 48
0017 120000 317 LCALL 00H
318 ; }
319 ; SOURCE LINE # 49
001A 320 ?C0009:
321 ; SerialSendByte(SBUF);
322 ; SOURCE LINE # 50
001A AF99 323 MOV R7,SBUF
001C 120000 F 324 LCALL _SerialSendByte
325 ; }
326 ; SOURCE LINE # 51
327 ; }
328 ; SOURCE LINE # 52
001F 329 ?C0010:
001F D0D0 330 POP PSW
0021 D082 331 POP DPL
0023 D083 332 POP DPH
0025 D0F0 333 POP B
0027 D0E0 334 POP ACC
0029 32 335 RETI
336 ; END OF SerialInterrupt
337
338 END
A51 MACRO ASSEMBLER HYPERTERMINAL 04/10/2006 15:01:15 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0002. . . . . . . . . . . . . . . C ADDR 0002H R SEG=?PR?_SERIALSENDBYTE?HYPERTERMINAL
?C0003. . . . . . . . . . . . . . . C ADDR 0005H R SEG=?PR?_SERIALSENDBYTE?HYPERTERMINAL
?C0005. . . . . . . . . . . . . . . C ADDR 0000H R SEG=?PR?_SERIALSENDSTR?HYPERTERMINAL
?C0007. . . . . . . . . . . . . . . C ADDR 0012H R SEG=?PR?_SERIALSENDSTR?HYPERTERMINAL
?C0009. . . . . . . . . . . . . . . C ADDR 001AH R SEG=?PR?SERIALINTERRUPT?HYPERTERMINAL
?C0010. . . . . . . . . . . . . . . C ADDR 001FH R SEG=?PR?SERIALINTERRUPT?HYPERTERMINAL
?C?CLDPTR . . . . . . . . . . . . . C ADDR ----- EXT
?CO?HYPERTERMINAL . . . . . . . . . C SEG 004FH REL=UNIT
?PR?INITHYPERTERMINAL?HYPERTERMINAL C SEG 004FH REL=UNIT
?PR?SERIALINTERRUPT?HYPERTERMINAL . C SEG 002AH REL=UNIT
?PR?_SERIALSENDBYTE?HYPERTERMINAL . C SEG 0008H REL=UNIT
?PR?_SERIALSENDSTR?HYPERTERMINAL. . C SEG 0013H REL=UNIT
?SC_0 . . . . . . . . . . . . . . . C ADDR 0000H R SEG=?CO?HYPERTERMINAL
?SC_14. . . . . . . . . . . . . . . C ADDR 000EH R SEG=?CO?HYPERTERMINAL
?SC_19. . . . . . . . . . . . . . . C ADDR 0013H R SEG=?CO?HYPERTERMINAL
?SC_51. . . . . . . . . . . . . . . C ADDR 0033H R SEG=?CO?HYPERTERMINAL
?SC_8 . . . . . . . . . . . . . . . C ADDR 0008H R SEG=?CO?HYPERTERMINAL
AC. . . . . . . . . . . . . . . . . B ADDR 00D0H.6 A
ACC . . . . . . . . . . . . . . . . D ADDR 00E0H A
B . . . . . . . . . . . . . . . . . D ADDR 00F0H A
CY. . . . . . . . . . . . . . . . . B ADDR 00D0H.7 A
DPH . . . . . . . . . . . . . . . . D ADDR 0083H A
DPL . . . . . . . . . . . . . . . . D ADDR 0082H A
EA. . . . . . . . . . . . . . . . . B ADDR 00A8H.7 A
ES. . . . . . . . . . . . . . . . . B ADDR 00A8H.4 A
ET0 . . . . . . . . . . . . . . . . B ADDR 00A8H.1 A
ET1 . . . . . . . . . . . . . . . . B ADDR 00A8H.3 A
ET2 . . . . . . . . . . . . . . . . B ADDR 00A8H.5 A
EX0 . . . . . . . . . . . . . . . . B ADDR 00A8H.0 A
EX1 . . . . . . . . . . . . . . . . B ADDR 00A8H.2 A
F0. . . . . . . . . . . . . . . . . B ADDR 00D0H.5 A
FL. . . . . . . . . . . . . . . . . B ADDR 00D0H.1 A
HYPERTERMINAL . . . . . . . . . . . N NUMB -----
IE. . . . . . . . . . . . . . . . . D ADDR 00A8H A
IE0 . . . . . . . . . . . . . . . . B ADDR 0088H.1 A
IE1 . . . . . . . . . . . . . . . . B ADDR 0088H.3 A
INITHYPERTERMINAL . . . . . . . . . C ADDR 0000H R SEG=?PR?INITHYPERTERMINAL?HYPERTERMINAL
INT0. . . . . . . . . . . . . . . . B ADDR 00B0H.2 A
INT1. . . . . . . . . . . . . . . . B ADDR 00B0H.3 A
IP. . . . . . . . . . . . . . . . . D ADDR 00B8H A
IT0 . . . . . . . . . . . . . . . . B ADDR 0088H.0 A
IT1 . . . . . . . . . . . . . . . . B ADDR 0088H.2 A
OV. . . . . . . . . . . . . . . . . B ADDR 00D0H.2 A
P . . . . . . . . . . . . . . . . . B ADDR 00D0H.0 A
P0. . . . . . . . . . . . . . . . . D ADDR 0080H A
P0_0. . . . . . . . . . . . . . . . B ADDR 0080H.0 A
P0_1. . . . . . . . . . . . . . . . B ADDR 0080H.1 A
P0_2. . . . . . . . . . . . . . . . B ADDR 0080H.2 A
P0_3. . . . . . . . . . . . . . . . B ADDR 0080H.3 A
P0_4. . . . . . . . . . . . . . . . B ADDR 0080H.4 A
P0_5. . . . . . . . . . . . . . . . B ADDR 0080H.5 A
P0_6. . . . . . . . . . . . . . . . B ADDR 0080H.6 A
P0_7. . . . . . . . . . . . . . . . B ADDR 0080H.7 A
P1. . . . . . . . . . . . . . . . . D ADDR 0090H A
P1_0. . . . . . . . . . . . . . . . B ADDR 0090H.0 A
P1_1. . . . . . . . . . . . . . . . B ADDR 0090H.1 A
P1_2. . . . . . . . . . . . . . . . B ADDR 0090H.2 A
P1_3. . . . . . . . . . . . . . . . B ADDR 0090H.3 A
P1_4. . . . . . . . . . . . . . . . B ADDR 0090H.4 A
P1_5. . . . . . . . . . . . . . . . B ADDR 0090H.5 A
A51 MACRO ASSEMBLER HYPERTERMINAL 04/10/2006 15:01:15 PAGE 8
P1_6. . . . . . . . . . . . . . . . B ADDR 0090H.6 A
P1_7. . . . . . . . . . . . . . . . B ADDR 0090H.7 A
P2. . . . . . . . . . . . . . . . . D ADDR 00A0H A
P2_0. . . . . . . . . . . . . . . . B ADDR 00A0H.0 A
P2_1. . . . . . . . . . . . . . . . B ADDR 00A0H.1 A
P2_2. . . . . . . . . . . . . . . . B ADDR 00A0H.2 A
P2_3. . . . . . . . . . . . . . . . B ADDR 00A0H.3 A
P2_4. . . . . . . . . . . . . . . . B ADDR 00A0H.4 A
P2_5. . . . . . . . . . . . . . . . B ADDR 00A0H.5 A
P2_6. . . . . . . . . . . . . . . . B ADDR 00A0H.6 A
P2_7. . . . . . . . . . . . . . . . B ADDR 00A0H.7 A
P3. . . . . . . . . . . . . . . . . D ADDR 00B0H A
P3_0. . . . . . . . . . . . . . . . B ADDR 00B0H.0 A
P3_1. . . . . . . . . . . . . . . . B ADDR 00B0H.1 A
P3_2. . . . . . . . . . . . . . . . B ADDR 00B0H.2 A
P3_3. . . . . . . . . . . . . . . . B ADDR 00B0H.3 A
P3_4. . . . . . . . . . . . . . . . B ADDR 00B0H.4 A
P3_5. . . . . . . . . . . . . . . . B ADDR 00B0H.5 A
P3_6. . . . . . . . . . . . . . . . B ADDR 00B0H.6 A
P3_7. . . . . . . . . . . . . . . . B ADDR 00B0H.7 A
PCON. . . . . . . . . . . . . . . . D ADDR 0087H A
PS. . . . . . . . . . . . . . . . . B ADDR 00B8H.4 A
PSW . . . . . . . . . . . . . . . . D ADDR 00D0H A
PT0 . . . . . . . . . . . . . . . . B ADDR 00B8H.1 A
PT1 . . . . . . . . . . . . . . . . B ADDR 00B8H.3 A
PT2 . . . . . . . . . . . . . . . . B ADDR 00B8H.5 A
PX0 . . . . . . . . . . . . . . . . B ADDR 00B8H.0 A
PX1 . . . . . . . . . . . . . . . . B ADDR 00B8H.2 A
RB8 . . . . . . . . . . . . . . . . B ADDR 0098H.2 A
RD. . . . . . . . . . . . . . . . . B ADDR 00B0H.7 A
REN . . . . . . . . . . . . . . . . B ADDR 0098H.4 A
RI. . . . . . . . . . . . . . . . . B ADDR 0098H.0 A
RS0 . . . . . . . . . . . . . . . . B ADDR 00D0H.3 A
RS1 . . . . . . . . . . . . . . . . B ADDR 00D0H.4 A
RXD . . . . . . . . . . . . . . . . B ADDR 00B0H.0 A
SBUF. . . . . . . . . . . . . . . . D ADDR 0099H A
SCON. . . . . . . . . . . . . . . . D ADDR 0098H A
SERIALINTERRUPT . . . . . . . . . . C ADDR 0000H R SEG=?PR?SERIALINTERRUPT?HYPERTERMINAL
SM0 . . . . . . . . . . . . . . . . B ADDR 0098H.7 A
SM1 . . . . . . . . . . . . . . . . B ADDR 0098H.6 A
SM2 . . . . . . . . . . . . . . . . B ADDR 0098H.5 A
SP. . . . . . . . . . . . . . . . . D ADDR 0081H A
T0. . . . . . . . . . . . . . . . . B ADDR 00B0H.4 A
T1. . . . . . . . . . . . . . . . . B ADDR 00B0H.5 A
TB8 . . . . . . . . . . . . . . . . B ADDR 0098H.3 A
TCON. . . . . . . . . . . . . . . . D ADDR 0088H A
TF0 . . . . . . . . . . . . . . . . B ADDR 0088H.5 A
TF1 . . . . . . . . . . . . . . . . B ADDR 0088H.7 A
TH0 . . . . . . . . . . . . . . . . D ADDR 008CH A
TH1 . . . . . . . . . . . . . . . . D ADDR 008DH A
TI. . . . . . . . . . . . . . . . . B ADDR 0098H.1 A
TL0 . . . . . . . . . . . . . . . . D ADDR 008AH A
TL1 . . . . . . . . . . . . . . . . D ADDR 008BH A
TMOD. . . . . . . . . . . . . . . . D ADDR 0089H A
TR0 . . . . . . . . . . . . . . . . B ADDR 0088H.4 A
TR1 . . . . . . . . . . . . . . . . B ADDR 0088H.6 A
TXD . . . . . . . . . . . . . . . . B ADDR 00B0H.1 A
WR. . . . . . . . . . . . . . . . . B ADDR 00B0H.6 A
_SERIALSENDBYTE . . . . . . . . . . C ADDR 0000H R SEG=?PR?_SERIALSENDBYTE?HYPERTERMINAL
_SERIALSENDSTR. . . . . . . . . . . C ADDR 0000H R SEG=?PR?_SERIALSENDSTR?HYPERTERMINAL
REGISTER BANK(S) USED: 0 3
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -