📄 isd51.lst
字号:
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 + -