📄 des0.lst
字号:
01F2 C3 383 CLR C
01F3 13 384 RRC A
01F4 9200 F 385 MOV D_TMP_B,C
01F6 2C 386 ADD A,R4
01F7 93 387 MOVC A,@A+DPTR
A51 MACRO ASSEMBLER DES0 11/10/2003 17:33:44 PAGE 7
01F8 A200 F 388 MOV C,D_TMP_B
01FA 4001 389 JC N_SWAP
01FC C4 390 SWAP A
01FD 540F 391 N_SWAP: ANL A,#0FH
01FF FB 392 MOV R3,A ;GET THE FIRST Pi
0200 EE 393 MOV A,R6
0201 20E006 394 JB ACC.0,ABC
0204 09 395 INC R1
0205 EB 396 MOV A,R3
0206 C4 397 SWAP A
0207 F7 398 MOV @R1,A
0208 7B00 399 MOV R3,#0
020A EB 400 ABC: MOV A,R3
020B 27 401 ADD A,@R1
020C F7 402 MOV @R1,A
020D DEB9 403 DJNZ R6,LLOP14
404 ;P->F
020F 7E04 405 MOV R6,#4
0211 900000 F 406 MOV DPTR,#P_CH
0214 7A00 407 MOV R2,#0H
0216 AB00 F 408 MOV R3,KEY_ADDR
0218 A900 F 409 MOV R1,KEY_ADDR
021A 09 410 INC R1
021B 09 411 INC R1
021C 09 412 INC R1
021D 09 413 INC R1
414
415
416
021E 7D08 417 LLOP15: MOV R5,#8
0220 7C00 418 MOV R4,#0
0222 EC 419 LLOP150: MOV A,R4
0223 23 420 RL A
0224 FC 421 MOV R4,A
0225 EA 422 MOV A,R2
0226 0A 423 INC R2
0227 93 424 MOVC A,@A+DPTR
0228 75F008 425 MOV B,#8
022B 84 426 DIV AB
022C 2B 427 ADD A,R3
022D F8 428 MOV R0,A ;GET THE ADDRESS OF BYTE IN Ri-1
022E E6 429 MOV A,@R0 ;GET THE VALUE OF BYTE IN Ri-1
022F F8 430 MOV R0,A ;SAVE IN R0
0230 E5F0 431 MOV A,B
0232 F4 432 CPL A
0233 5407 433 ANL A,#07H
0235 600B 434 JZ N_LLOP4
0237 F5F0 435 MOV B,A
0239 7401 436 MOV A,#1
023B 23 437 LP15: RL A
023C D5F0FC 438 DJNZ B,LP15
023F 020000 F 439 LJMP E_LLOP4
0242 7401 440 N_LLOP4: MOV A,#1
0244 58 441 E_LLOP4: ANL A,R0
0245 6001 442 JZ TT15
0247 0C 443 INC R4
0248 444 TT15:
0248 DDD8 445 DJNZ R5,LLOP150 ;IF A BYTE IS OVER
024A EC 446 MOV A,R4
024B F7 447 MOV @R1,A
024C 09 448 INC R1
024D DECF 449 DJNZ R6,LLOP15 ;IF CONVERT IS OVER
450 ;Li=Ri-1,Ri=Li-1^F
024F 7E04 451 MOV R6,#4
0251 7B00 F 452 MOV R3,#Li_ADDR ;Li
0253 7900 F 453 MOV R1,#Ri_ADDR ;Ri
A51 MACRO ASSEMBLER DES0 11/10/2003 17:33:44 PAGE 8
0255 AA00 F 454 MOV R2,KEY_ADDR ;F
0257 0A 455 INC R2
0258 0A 456 INC R2
0259 0A 457 INC R2
025A 0A 458 INC R2
025B EB 459 LLOP16: MOV A,R3 ;SAVE Li-1 IN R4 TEMP
025C F8 460 MOV R0,A ;
025D E6 461 MOV A,@R0 ;
025E FC 462 MOV R4,A ;
025F E7 463 MOV A,@R1 ;Li<-Ri-1
0260 F6 464 MOV @R0,A ;
0261 EA 465 MOV A,R2 ;GET F
0262 F8 466 MOV R0,A ;
0263 EC 467 MOV A,R4 ;
0264 66 468 XRL A,@R0 ;Li-1^F
0265 F7 469 MOV @R1,A ;LI<-Li-1^F
0266 0B 470 INC R3
0267 09 471 INC R1
0268 0A 472 INC R2
0269 DEF0 473 DJNZ R6,LLOP16
474 ;IF R7-1 IS NOT 0,THEN LLOP
475 ;DJNZ R7,LLOP
026B 1F 476 DEC R7
026C EF 477 MOV A,R7
026D 6005 478 JZ PPP
026F E4 479 CLR A
0270 900000 F 480 MOV DPTR,#LLOP
0273 73 481 JMP @A+DPTR
0274 482 PPP:
483 ;L->R,R->L
0274 7F04 484 MOV R7,#4H
0276 7800 F 485 MOV R0,#Li_ADDR
0278 7900 F 486 MOV R1,#Ri_ADDR
027A E6 487 LLOP8: MOV A,@R0
027B FA 488 MOV R2,A
027C E7 489 MOV A,@R1
027D F6 490 MOV @R0,A
027E EA 491 MOV A,R2
027F F7 492 MOV @R1,A
0280 08 493 INC R0
0281 09 494 INC R1
0282 DFF6 495 DJNZ R7,LLOP8
496 ;IP-1 CONVERT
0284 7F08 497 MOV R7,#8 ;I
0286 7A00 F 498 MOV R2,#L_R_ADDR ;L16 AND R16
0288 A900 F 499 MOV R1,DATA_ADDR ;SECRET DATA
028A 7B08 500 MOV R3,#8H ;INIT SECRET DATA AREA TO ZERO
028C EB 501 INIT1: MOV A,R3 ;
028D 14 502 DEC A ;
028E 5407 503 ANL A,#7H ;
0290 29 504 ADD A,R1 ;
0291 F8 505 MOV R0,A ;
0292 7600 506 MOV @R0,#0H ;
0294 DBF6 507 DJNZ R3,INIT1 ;
0296 EF 508 LLOP4: MOV A,R7 ;GET POSITION OF L16 AND R16
0297 14 509 DEC A ;
0298 F4 510 CPL A ;
0299 03 511 RR A ;
029A 5403 512 ANL A,#03H ;
029C FB 513 MOV R3,A ;SAVE IN R3
029D EF 514 MOV A,R7 ;
029E 20E004 515 JB ACC.0,WJMP1 ;IF R7.0 IS 0,THEN R3+4->R3
02A1 EB 516 MOV A,R3 ;
02A2 2404 517 ADD A,#4H ;
02A4 FB 518 MOV R3,A ;
02A5 EB 519 WJMP1: MOV A,R3 ;GET THE VALUE OF L16 OR R16
A51 MACRO ASSEMBLER DES0 11/10/2003 17:33:44 PAGE 9
02A6 2A 520 ADD A,R2 ;
02A7 F8 521 MOV R0,A ;
02A8 E6 522 MOV A,@R0 ;
02A9 FB 523 MOV R3,A ;SAVE IN R3
02AA 7E08 524 MOV R6,#8H
02AC EE 525 MOV A,R6
02AD 7D01 526 MOV R5,#1H ;BIT POSITION OF L16 OR R16
02AF 7C01 527 LLOP5: MOV R4,#1H ;BIT POSITION OF SECRET
02B1 EB 528 MOV A,R3
02B2 5D 529 ANL A,R5
02B3 6015 530 JZ WJP0 ;BIT VALUE IS 1,GIVE THE 1
02B5 EF 531 MOV A,R7 ;
02B6 14 532 DEC A ;
02B7 F8 533 MOV R0,A ;
02B8 6006 534 JZ WJMP2 ;
02BA 7401 535 MOV A,#1 ;
02BC 23 536 WJMP3: RL A ;
02BD D8FD 537 DJNZ R0,WJMP3 ;
02BF FC 538 MOV R4,A ;
02C0 EE 539 WJMP2: MOV A,R6
02C1 14 540 DEC A
02C2 F4 541 CPL A
02C3 5407 542 ANL A,#07H
02C5 29 543 ADD A,R1
02C6 F8 544 MOV R0,A
02C7 E6 545 MOV A,@R0
02C8 4C 546 ORL A,R4
02C9 F6 547 MOV @R0,A
02CA ED 548 WJP0: MOV A,R5
02CB 23 549 RL A
02CC FD 550 MOV R5,A
02CD DEE0 551 DJNZ R6,LLOP5
02CF DFC5 552 DJNZ R7,LLOP4
02D1 22 553 RET
554
555
556
557 ;************************
02D2 38302820 558 PC_1: DB 38H,30H,28H,20H,18H,10H,08H
02D6 181008
02D9 00393129 559 DB 00H,39H,31H,29H,21H,19H,11H
02DD 211911
02E0 09013A32 560 DB 09H,01H,3AH,32H,2AH,22H,1AH
02E4 2A221A
02E7 120A023B 561 DB 12H,0AH,02H,3BH,33H,2BH,23H
02EB 332B23
02EE 3E362E26 562 DB 3EH,36H,2EH,26H,1EH,16H,0EH
02F2 1E160E
02F5 063D352D 563 DB 06H,3DH,35H,2DH,25H,1DH,15H
02F9 251D15
02FC 0D053C34 564 DB 0DH,05H,3CH,34H,2CH,24H,1CH
0300 2C241C
0303 140C041B 565 DB 14H,0CH,04H,1BH,13H,0BH,03H
0307 130B03
030A 0D100A17 566 PC_2: DB 0DH,10H,0AH,17H,00H,04H
030E 0004
0310 021B0E05 567 DB 02H,1BH,0EH,05H,14H,09H
0314 1409
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -