⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 des_sam.lst

📁 DES的C语言算法,是一个完整C51工程,直接下载就可以应用了.
💻 LST
📖 第 1 页 / 共 4 页
字号:
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 + -