📄 isd51.lst
字号:
233 JB_RI BreakSerial
000E 78FF 235 MOV R0,#?ISD?RAMTOP
0010 8600 236 MOV AR0,@R0 ; Load Start Address of Break Table
0012 B8FF29 237 CJNE R0,#0xFF,CheckBreaks
238 ; Called when a Breakpoint is reached or in Single Stepping Mode
239
240 ; Sends Break-Idenfier, R0, ACC, PSW, PCH, PCL, R1
0015 74F7 241 SoftBreak: MOV A,#0F7H ; Send Idenifier
0017 242 Send7Bytes: SBYTE ; Send Byte
001E D001 246 POP AR1
0020 7805 247 MOV R0,#5
0022 D0E0 248 SendStackFrame: POP ACC
0024 1100 F 249 ACALL ?ISD?SENDBYTE
0026 D8FA 250 DJNZ R0,SendStackFrame
0028 E9 251 MOV A,R1
0029 1100 F 252 ACALL ?ISD?SENDBYTE
253
254 ; Wait for Command
255 ; CmdAddrL, CmdAddrH, R0, ACC
256
002B 1100 F 257 ?ISD?CMDLOOP: ACALL ?ISD?GETBYTE ; Command Address
002D C0E0 258 PUSH ACC
002F 1100 F 259 ACALL ?ISD?GETBYTE
0031 C0E0 260 PUSH ACC
A51 MACRO ASSEMBLER ISD51 08/27/2002 15:25:01 PAGE 5
0033 1100 F 261 ACALL ?ISD?GETBYTE
0035 F8 262 MOV R0,A
263 ;;; ACALL ?ISD?GETBYTE
264 ;;; RET
265
0036 266 ?ISD?GETBYTE: GBYTE
267+1 JNB_RI $
269+1 RBYTE
003D 22 272 RET
273
274 ; Check Soft Breaks in Memory
003E E581 275 CheckBreaks: MOV A,SP
0040 24FC 276 ADD A,#-4
0042 F9 277 MOV R1,A ; Address to PCH/PCL
0043 800C 278 SJMP CheckBreak1
0045 08 279 CheckBreak: INC R0
0046 19 280 DEC R1
0047 E6 281 MOV A,@R0 ; Compare Low Part
0048 67 282 XRL A,@R1
0049 08 283 INC R0
004A 09 284 INC R1
004B 7004 285 JNZ CheckBreak1
004D E6 286 MOV A,@R0 ; Compare High Part
004E 67 287 XRL A,@R1
004F 60C4 288 JZ SoftBreak
0051 B8FEF1 289 CheckBreak1: CJNE R0,#?ISD?RAMTOP-1,CheckBreak
0054 D001 290 ReturnI: POP AR1
0056 D000 291 RestartUser: POP AR0
0058 D0E0 292 POP ACC
005A D0D0 293 POP PSW
005C 32 294 RETI
295
005D 296 BreakSerial: RBYTE
0061 B4A5F0 299 CJNE A,#0A5H,ReturnI
300 SET_TI
0066 80AD 302 SJMP SoftBreak
303
0068 304 ?ISD?SENDBYTE: SBYTE
006F 22 308 RET
309
310 ;--------------------------------------------------------------------------
311 ; Command: Write SFR DPL, DPH
312 ; LOW (?ISD?WRITESFR00), HIGH (?ISD?WRITESFR00), DPL, DPH
313 ;
314 ;
0070 315 ?ISD?WRITESFR00:
0070 8882 316 MOV DPL,R0
0072 F583 317 MOV DPH,A
0074 0100 F 318 AJMP ?ISD?CMDLOOP
319
320 ;--------------------------------------------------------------------------
321 ; Command: Write SFR SP, B
322 ; LOW (?ISD?WRITESFR01), HIGH (?ISD?WRITESFR01), SP, B
323 ;
0076 324 ?ISD?WRITESFR01:
0076 8881 325 MOV SP,R0
0078 F5F0 326 MOV B,A
007A 0100 F 327 AJMP ?ISD?CMDLOOP
328
329 ;--------------------------------------------------------------------------
330 ; Command: Write SFR02: P0
331 ; LOW (?ISD?WRITESFR02), HIGH (?ISD?WRITESFR02), dummy, P0
332 ;
007C 333 ?ISD?WRITESFR02:
007C F580 334 MOV P0,A
007E 0100 F 335 AJMP ?ISD?CMDLOOP
A51 MACRO ASSEMBLER ISD51 08/27/2002 15:25:01 PAGE 6
336
337 ;--------------------------------------------------------------------------
338 ; Command: Write SFR03: P3
339 ; LOW (?ISD?WRITESFR03), HIGH (?ISD?WRITESFR03), dummy, P3
340 ;
0080 341 ?ISD?WRITESFR03:
0080 F5B0 342 MOV P3,A
0082 0100 F 343 AJMP ?ISD?CMDLOOP
344
345 ;--------------------------------------------------------------------------
346 ; 0 Read CPU Core SFR registers:
347 ; LOW (?ISD?READCORESFR), HIGH (?ISD?READCORESFR), dummy, dummy
348 ; Sends: dummy, dummy, B, AUXR, DPL, DPH, SP
0084 E581 349 ?ISD?READSFR00: MOV A,SP
0086 C083 350 PUSH DPH
0088 C082 351 PUSH DPL
008A C08E 352 PUSH AUXR
008C C0F0 353 PUSH B
008E C0E0 354 PUSH ACC ; Dummy
0090 C0E0 355 PUSH ACC ; Dummy
0092 0100 F 356 AJMP Send7Bytes
357 ;
358 ;--------------------------------------------------------------------------
359 ; 1 Read CPU Core SFR registers:
360 ; LOW (?ISD?READSFR01), HIGH (?ISD?READSFR01), dummy, dummy
361 ; Sends: S:80, S:84, S:85, S:86, S:87, S:88, S:89
362 ;
0094 363 ?ISD?READSFR01:
0094 E589 364 MOV A,0x89 ; S:89
0096 C088 365 PUSH 0x88 ; S:88
0098 C087 366 PUSH 0x87
009A C086 367 PUSH 0x86
009C C085 368 PUSH 0x85
009E C084 369 PUSH 0x84
00A0 C080 370 PUSH 0x80
00A2 0100 F 371 AJMP Send7Bytes
372 ;
373 ;--------------------------------------------------------------------------
374 ; 2 Read CPU Core SFR registers:
375 ; LOW (?ISD?READSFR02), HIGH (?ISD?READSFR02), dummy, dummy
376 ; Sends: S:8A, S:8B, S:8C, S:8D, S:8E, S:8F, S:90
377 ;
00A4 378 ?ISD?READSFR02:
00A4 E590 379 MOV A,0x90
00A6 C08F 380 PUSH 0x8F
00A8 C08E 381 PUSH 0x8E
00AA C08D 382 PUSH 0x8D
00AC C08C 383 PUSH 0x8C
00AE C08B 384 PUSH 0x8B
00B0 C08A 385 PUSH 0x8A
00B2 0100 F 386 AJMP Send7Bytes
387 ;
388 ;--------------------------------------------------------------------------
389 ; 3 Read CPU Core SFR registers:
390 ; LOW (?ISD?READSFR03), HIGH (?ISD?READSFR03), dummy, dummy
391 ; Sends: S:91, S:92, S:93, S:94, S:95, S:96, S:97
392 ;
00B4 393 ?ISD?READSFR03:
00B4 E597 394 MOV A,0x97
00B6 C096 395 PUSH 0x96
00B8 C095 396 PUSH 0x95
00BA C094 397 PUSH 0x94
00BC C093 398 PUSH 0x93
00BE C092 399 PUSH 0x92
00C0 C091 400 PUSH 0x91
00C2 0100 F 401 AJMP Send7Bytes
A51 MACRO ASSEMBLER ISD51 08/27/2002 15:25:01 PAGE 7
402 ;
403 ;--------------------------------------------------------------------------
404 ; 4 Read CPU Core SFR registers:
405 ; LOW (?ISD?READSFR04), HIGH (?ISD?READSFR04), dummy, dummy
406 ; Sends: S:8A, S:8B, S:8C, S:8D, S:8E, S:8F, S:90
407 ;
00C4 408 ?ISD?READSFR04:
00C4 E59E 409 MOV A,0x9E
00C6 C09D 410 PUSH 0x9D
00C8 C09C 411 PUSH 0x9C
00CA C09B 412 PUSH 0x9B
00CC C09A 413 PUSH 0x9A
00CE C099 414 PUSH 0x99
00D0 C098 415 PUSH 0x98
00D2 0100 F 416 AJMP Send7Bytes
417 ;
418 ;--------------------------------------------------------------------------
419 ; 5 Read CPU Core SFR registers:
420 ; LOW (?ISD?READSFR05), HIGH (?ISD?READSFR05), dummy, dummy
421 ;
00D4 422 ?ISD?READSFR05:
00D4 E5A5 423 MOV A,0xA5
00D6 C0A4 424 PUSH 0xA4
00D8 C0A3 425 PUSH 0xA3
00DA C0A2 426 PUSH 0xA2
00DC C0A1 427 PUSH 0xA1
00DE C0A0 428 PUSH 0xA0
00E0 C09F 429 PUSH 0x9F
00E2 0100 F 430 AJMP Send7Bytes
431 ;
432 ;--------------------------------------------------------------------------
433 ; 6 Read CPU Core SFR registers:
434 ; LOW (?ISD?READSFR06), HIGH (?ISD?READSFR06), dummy, dummy
435 ;
00E4 436 ?ISD?READSFR06:
00E4 E5AC 437 MOV A,0xAC
00E6 C0AB 438 PUSH 0xAB
00E8 C0AA 439 PUSH 0xAA
00EA C0A9 440 PUSH 0xA9
00EC C0A8 441 PUSH 0xA8
00EE C0A7 442 PUSH 0xA7
00F0 C0A6 443 PUSH 0xA6
00F2 0100 F 444 AJMP Send7Bytes
445 ;
446 ;--------------------------------------------------------------------------
447 ; 7 Read CPU Core SFR registers:
448 ; LOW (?ISD?READSFR07), HIGH (?ISD?READSFR07), dummy, dummy
449 ;
00F4 450 ?ISD?READSFR07:
00F4 E5B3 451 MOV A,0xB3
00F6 C0B2 452 PUSH 0xB2
00F8 C0B1 453 PUSH 0xB1
00FA C0B0 454 PUSH 0xB0
00FC C0AF 455 PUSH 0xAF
00FE C0AE 456 PUSH 0xAE
0100 C0AD 457 PUSH 0xAD
0102 0100 F 458 AJMP Send7Bytes
459 ;
460 ;--------------------------------------------------------------------------
461 ; 8 Read CPU Core SFR registers:
462 ; LOW (?ISD?READSFR08), HIGH (?ISD?READSFR08), dummy, dummy
463 ;
0104 464 ?ISD?READSFR08:
0104 E5BA 465 MOV A,0xBA
0106 C0B9 466 PUSH 0xB9
0108 C0B8 467 PUSH 0xB8
A51 MACRO ASSEMBLER ISD51 08/27/2002 15:25:01 PAGE 8
010A C0B7 468 PUSH 0xB7
010C C0B6 469 PUSH 0xB6
010E C0B5 470 PUSH 0xB5
0110 C0B4 471 PUSH 0xB4
0112 0100 F 472 AJMP Send7Bytes
473 ;
474 ;--------------------------------------------------------------------------
475 ; 9 Read CPU Core SFR registers:
476 ; LOW (?ISD?READSFR09), HIGH (?ISD?READSFR09), dummy, dummy
477 ;
0114 478 ?ISD?READSFR09:
0114 E5C1 479 MOV A,0xC1
0116 C0C0 480 PUSH 0xC0
0118 C0BF 481 PUSH 0xBF
011A C0BE 482 PUSH 0xBE
011C C0BD 483 PUSH 0xBD
011E C0BC 484 PUSH 0xBC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -