📄 isd51.lst
字号:
+1
+1
+1
+1 238
+1 239
+1 240
+1 241
+1 242
+1 243
+1 244
+1 245
+1 246
+1 247
+1 248
+1 249
+1 250
+1 251
+1 252
+1 253
+1 254
+1 255
+1 256
A51 MACRO ASSEMBLER ISD51 06/06/2005 17:50:27 PAGE 5
+1 257
+1 258
+1 259
+1 260
+1 261
+1 262
+1 263
+1 264
+1 265
+1 266
+1 267
+1 268
269
270
271 ;------------------------------------------------------------------------------
272 ;----------------- !!! Do not modify code sections below !!! ------------------
273 ;------------------------------------------------------------------------------
274
275 NAME ISD51_CONFIGURATION
276
277
278 SBYTE MACRO ; Transmit Byte in ACC via serial UART
279 JNB_TI $
280 CLR_TI
281 WR_SBUF ; MOV SBUF,A
282 ENDM
283
284 RBYTE MACRO ; Read one Byte from serial UART to ACC
285 RD_SBUF ; MOV A,SBUF
286 CLR_RI
287 ENDM
288
289 GBYTE MACRO ; Receive one Character from 8051 Serial Interface
290 JNB_RI $
291 RBYTE
292 ENDM
293
294
295
0080 296 sfr P0 = 0x80;
0090 297 sfr P1 = 0x90;
00A0 298 sfr P2 = 0xA0;
00B0 299 sfr P3 = 0xB0;
00D0 300 sfr PSW = 0xD0;
00E0 301 sfr ACC = 0xE0;
00F0 302 sfr B = 0xF0;
0081 303 sfr SP = 0x81;
0082 304 sfr DPL = 0x82;
0083 305 sfr DPH = 0x83;
008E 306 sfr AUXR = 0x8E;
00E4 307 sfr PH_FMCON = 0xE4; // for Philips LPC900 devices
00E6 308 sfr PH_FMADRL = 0xE6; // for Philips LPC900 devices
309
310
00FF 311 ?ISD?RAMTOP EQU 0x100-1
0000 312 ?ISD?CMP_S EQU 0x0
0FFF 313 ?ISD?CMP_E EQU 0x0FFF
314
315 EXTRN NUMBER (?ISD?CORE)
316
317 PUBLIC ?ISD?RAMTOP
318 PUBLIC ?ISD?RESTART
319 PUBLIC ?ISD?CMDLOOP
320 PUBLIC ?ISD?GETBYTE
321 PUBLIC ?ISD?SENDBYTE
322 PUBLIC ?ISD?READSFR00
A51 MACRO ASSEMBLER ISD51 06/06/2005 17:50:27 PAGE 6
323 PUBLIC ?ISD?READSFR01
324 PUBLIC ?ISD?READSFR02
325 PUBLIC ?ISD?READSFR03
326 PUBLIC ?ISD?READSFR04
327 PUBLIC ?ISD?READSFR05
328 PUBLIC ?ISD?READSFR06
329 PUBLIC ?ISD?READSFR07
330 PUBLIC ?ISD?READSFR08
331 PUBLIC ?ISD?READSFR09
332 PUBLIC ?ISD?READSFR10
333 PUBLIC ?ISD?READSFR11
334 PUBLIC ?ISD?READSFR12
335 PUBLIC ?ISD?READSFR13
336 PUBLIC ?ISD?READSFR14
337 PUBLIC ?ISD?READSFR15
338 PUBLIC ?ISD?READSFR16
339 PUBLIC ?ISD?READSFR17
340 PUBLIC ?ISD?READSFR18
341 PUBLIC ?ISD?WRITESFR00
342 PUBLIC ?ISD?WRITESFR01
343 PUBLIC ?ISD?WRITESFR02
344 PUBLIC ?ISD?WRITESFR03
345
349 PUBLIC ?ISD?VERSION
350 PUBLIC ?ISD?CMP_S
351 PUBLIC ?ISD?CMP_E
352 PUBLIC __isd_init
353
354
355 PUBLIC ?ISD?CBLK_SIZE ; block size for FLASH IAP Routine
356
0001 357 ?ISD?CBLK_SIZE EQU 1
0010 358 CBLK EQU 10H ; Start address for FLASH buffer
359
00CD 360 ?ISD?VERSION EQU 205 ; Version 2.05
361
367
368
369 ?PR?ISD51 SEGMENT CODE INBLOCK
370
---- 371 CSEG AT SINTRVEC ; Serial Interrupt
0023 020000 F 372 LJMP SerialInterrupt
373
374
375
A51 MACRO ASSEMBLER ISD51 06/06/2005 17:50:27 PAGE 7
451
452
---- 453 RSEG ?PR?ISD51
454 USING 0 ; Assume Registerbank 0 for ARx symbols
A51 MACRO ASSEMBLER ISD51 06/06/2005 17:50:27 PAGE 8
455
456
457 PUBLIC ?ISD?HWCALL
0000 C0D0 458 ?ISD?HWCALL: PUSH PSW
0002 C0E0 459 PUSH ACC
0004 74FD 460 MOV A,#0FDH ; Call Break
0006 8012 461 SJMP CallBreak
462
463
0008 464 SerialInterrupt:
0008 C0D0 465 PUSH PSW
000A C0E0 466 PUSH ACC
467 JNB_RI NoSerBreak
469 RBYTE ; Check for 0A5H Break Code
470+1 RD_SBUF ; MOV A,SBUF
472+1 CLR_RI
474
0013 F500 F 475 MOV _ISD_CHAR,A
476
0015 B4A53A 477 CJNE A,#0A5H,ReturnI
478
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -