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