📄 main.lst
字号:
F145 80CB 330 JMP ChipErease_L1
F147 331 ChipErease_Ret:
F147 22 332 RET
333 ;================================================================================
F148 334 PageErease:
F148 7500F6 F 335 MOV ?Debug_Str?BYTE+0, #HIGH(Str_PageErease)
F14B 7500C9 F 336 MOV ?Debug_Str?BYTE+1, #LOW(Str_PageErease)
F14E 12F43F 337 LCALL Debug_Str
F151 12F345 338 LCALL AreYouSure
F154 5071 339 JNC PageErease_Ret
F156 12F314 340 LCALL InputPageAddr
341
F159 7500F7 F 342 MOV ?Debug_Str?BYTE+0, #HIGH(Str_PageAddr)
F15C 750033 F 343 MOV ?Debug_Str?BYTE+1, #LOW(Str_PageAddr)
F15F 12F43F 344 LCALL Debug_Str
F162 E8 345 MOV A, R0
F163 54FE 346 ANL A, #11111110B
F165 F8 347 MOV R0, A
F166 12F41B 348 LCALL Debug_Byte_Hex
F169 7400 349 MOV A, #0X00
F16B 12F41B 350 LCALL Debug_Byte_Hex
F16E 7500F5 F 351 MOV ?Debug_Str?BYTE+0, #HIGH(Str_LF)
F171 750053 F 352 MOV ?Debug_Str?BYTE+1, #LOW(Str_LF)
F174 12F43F 353 LCALL Debug_Str
354
F177 88F4 355 MOV ISPFAH, R0
F179 75F500 356 MOV ISPFAL, #0X00
F17C 75F782 357 MOV ISPC, #0X82
358
F17F 85FFF5 359 MOV ISPFAL, 0XFF
F182 E8 360 MOV A, R0
F183 2401 361 ADD A, #0X01
F185 F5F4 362 MOV ISPFAH, A
363
F187 E5F4 364 MOV A, ISPFAH
F189 12F41B 365 LCALL Debug_Byte_Hex
F18C E5F5 366 MOV A, ISPFAL
F18E 12F41B 367 LCALL Debug_Byte_Hex
F191 368 PageErease_L1:
F191 85F483 369 MOV DPH, ISPFAH
F194 85F582 370 MOV DPL, ISPFAL
F197 E4 371 CLR A
F198 93 372 MOVC A, @A+DPTR
F199 64FF 373 XRL A, #0XFF
F19B 600A 374 JZ PageErease_L2
F19D 7500F7 F 375 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Failure)
F1A0 750014 F 376 MOV ?Debug_Str?BYTE+1, #LOW(Str_Failure)
F1A3 12F43F 377 LCALL Debug_Str
F1A6 22 378 RET
F1A7 379 PageErease_L2:
F1A7 E8 380 MOV A, R0
F1A8 65F4 381 XRL A, ISPFAH
F1AA 7010 382 JNZ PageErease_L3
F1AC 7400 383 MOV A, #0X00
F1AE 65F5 384 XRL A, ISPFAL
F1B0 700A 385 JNZ PageErease_L3
F1B2 7500F7 F 386 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Success)
F1B5 750009 F 387 MOV ?Debug_Str?BYTE+1, #LOW(Str_Success)
F1B8 12F43F 388 LCALL Debug_Str
F1BB 22 389 RET
F1BC 390 PageErease_L3:
F1BC 15F5 391 DEC ISPFAL
F1BE E5F5 392 MOV A, ISPFAL
F1C0 04 393 INC A
F1C1 7002 394 JNZ PageErease_L4
F1C3 15F4 395 DEC ISPFAH
F1C5 396 PageErease_L4:
F1C5 80CA 397 JMP PageErease_L1
F1C7 398 PageErease_Ret:
F1C7 22 399 RET
400 ;================================================================================
F1C8 401 Program:
F1C8 7500F6 F 402 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Program)
F1CB 7500D6 F 403 MOV ?Debug_Str?BYTE+1, #LOW(Str_Program)
F1CE 12F43F 404 LCALL Debug_Str
F1D1 12F345 405 LCALL AreYouSure
F1D4 4001 406 JC Program_L0
F1D6 22 407 RET
F1D7 408 Program_L0:
F1D7 12F0F8 409 LCALL ChipErease
F1DA 750000 F 410 MOV DLCNT, #0X00
F1DD 7500F7 F 411 MOV ?Debug_Str?BYTE+0, #HIGH(Str_DownLoadHex)
F1E0 750044 F 412 MOV ?Debug_Str?BYTE+1, #LOW(Str_DownLoadHex)
F1E3 12F43F 413 LCALL Debug_Str
F1E6 7B00 414 MOV R3, #0X00
F1E8 415 Program_L1:
416 ;R1:ChkSum,R2:Len
417 ;Recieve Start Byte ':'
F1E8 12F403 418 LCALL Debug_In
F1EB 643A 419 XRL A, #':'
F1ED 70F9 420 JNZ Program_L1
F1EF 0500 F 421 INC DLCNT
F1F1 E500 F 422 MOV A, DLCNT
F1F3 6410 423 XRL A, #0X10
F1F5 7008 424 JNZ Program_L1_1
F1F7 743E 425 MOV A, #'>'
F1F9 12F40D 426 LCALL Debug_Byte
F1FC 750000 F 427 MOV DLCNT, #0X00
F1FF 428 Program_L1_1:
429 ;Init Chksum
F1FF 7900 430 MOV R1, #0X00
431
432 ;Recieve Len
F201 12F300 433 LCALL Recv2Hex
F204 AA00 434 MOV R2, AR0
435
436 ;Recieve ISPFAH,ISPFAL
F206 12F300 437 LCALL Recv2Hex
F209 88F4 438 MOV ISPFAH, R0
F20B 12F300 439 LCALL Recv2Hex
F20E 88F5 440 MOV ISPFAL, R0
441 ;Recieve Type
F210 12F300 442 LCALL Recv2Hex
F213 E8 443 MOV A, R0
F214 7002 444 JNZ Program_L2
445 ;Type=0
F216 805B 446 SJMP Program_L4
F218 447 Program_L2:
F218 14 448 DEC A
F219 704E 449 JNZ Program_L3
450 ;Type=1
F21B 12F300 451 LCALL Recv2Hex
F21E E9 452 MOV A, R1
F21F 703E 453 JNZ Program_L2_6
F221 12F403 454 LCALL Debug_In
455 $if 0
MOV A, R3
LCALL Debug_Byte_Hex
$endif
F224 7C00 459 MOV R4, #0X00
460
F226 75F4EF 461 MOV ISPFAH, #HIGH(ISPVECTOR-1)
F229 75F5FF 462 MOV ISPFAL, #LOW(ISPVECTOR-1)
F22C 463 Program_L2_1:
F22C 85F483 464 MOV DPH, ISPFAH
F22F 85F582 465 MOV DPL, ISPFAL
466
F232 E4 467 CLR A
F233 93 468 MOVC A, @A+DPTR
F234 FD 469 MOV R5, A
F235 64FF 470 XRL A, #0XFF
F237 6003 471 JZ Program_L2_2
F239 ED 472 MOV A, R5
F23A 2C 473 ADD A, R4
F23B FC 474 MOV R4, A
F23C 475 Program_L2_2:
F23C E5F4 476 MOV A, ISPFAH
F23E 7006 477 JNZ Program_L2_3
F240 E5F5 478 MOV A, ISPFAL
F242 7002 479 JNZ Program_L2_3
F244 800B 480 SJMP Program_L2_5
F246 481 Program_L2_3:
F246 15F5 482 DEC ISPFAL
F248 E5F5 483 MOV A, ISPFAL
F24A 04 484 INC A
F24B 7002 485 JNZ Program_L2_4
F24D 15F4 486 DEC ISPFAH
F24F 487 Program_L2_4:
F24F 80DB 488 JMP Program_L2_1
F251 489 Program_L2_5:
490 $if 0
MOV A, R4
LCALL Debug_Byte_Hex
$endif
F251 EB 494 MOV A, R3
F252 6C 495 XRL A, R4
F253 700A 496 JNZ Program_L2_6
F255 7500F7 F 497 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Success)
F258 750009 F 498 MOV ?Debug_Str?BYTE+1, #LOW(Str_Success)
F25B 12F43F 499 LCALL Debug_Str
F25E 22 500 RET
F25F 501 Program_L2_6:
F25F 7500F7 F 502 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Failure)
F262 750014 F 503 MOV ?Debug_Str?BYTE+1, #LOW(Str_Failure)
F265 12F43F 504 LCALL Debug_Str
F268 22 505 RET
F269 506 Program_L3:
507 ;Type Is Error
F269 7500F7 F 508 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Failure)
F26C 750014 F 509 MOV ?Debug_Str?BYTE+1, #LOW(Str_Failure)
F26F 12F43F 510 LCALL Debug_Str
F272 22 511 RET
F273 512 Program_L4:
F273 EA 513 MOV A, R2
F274 6024 514 JZ Program_L5
515
F276 12F300 516 LCALL Recv2Hex
F279 88F6 517 MOV ISPFD, R0
F27B 75F780 518 MOV ISPC, #0X80
519
F27E E8 520 MOV A, R0
F27F 64FF 521 XRL A, #0XFF
F281 6003 522 JZ Program_L4_0
F283 EB 523 MOV A, R3
F284 28 524 ADD A, R0
F285 FB 525 MOV R3, A
F286 526 Program_L4_0:
F286 00 527 NOP
F287 00 528 NOP
F288 00 529 NOP
F289 00 530 NOP
F28A 00 531 NOP
F28B 00 532 NOP
F28C 00 533 NOP
F28D 00 534 NOP
F28E 1A 535 DEC R2
F28F 05F5 536 INC ISPFAL
F291 E5F5 537 MOV A, ISPFAL
F293 7002 538 JNZ Program_L4_1
F295 05F4 539 INC ISPFAH
F297 540 Program_L4_1:
F297 02F273 541 LJMP Program_L4
F29A 542 Program_L5:
F29A 12F300 543 LCALL Recv2Hex
F29D E9 544 MOV A, R1
F29E 7003 545 JNZ Program_L6
F2A0 02F1E8 546 LJMP Program_L1
F2A3 547 Program_L6:
F2A3 7500F7 F 548 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Failure)
F2A6 750014 F 549 MOV ?Debug_Str?BYTE+1, #LOW(Str_Failure)
F2A9 12F43F 550 LCALL Debug_Str
F2AC 22 551 RET
552 ;================================================================================
F2AD 553 Protect:
F2AD 7500F6 F 554 MOV ?Debug_Str?BYTE+0, #HIGH(Str_Protect)
F2B0 7500E0 F 555 MOV ?Debug_Str?BYTE+1, #LOW(Str_Protect)
F2B3 12F43F 556 LCALL Debug_Str
F2B6 12F345 557 LCALL AreYouSure
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -