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

📄 des.asm

📁 8051微控制器上的 DES encryption/decryption used in IC smart cards. Software hasn t been validated and lack
💻 ASM
📖 第 1 页 / 共 3 页
字号:
      SETB ACC.1                      FA58:JNB   25H.0,FA59      SETB ACC.2                  FA59:JNB   21H.0,FA60        SETB ACC.3                   FA60:JNB   26H.0,FA61      SETB ACC.4                FA61:JNB   22H.0,FA62      SETB ACC.5                   FA62:JNB   27H.0,FA63      SETB ACC.6                    FA63:JNB   23H.0,FA64      SETB ACC.7                  FA64:MOV  R7,A                                                 FAX8: RET    ;----------------------------------------------------------------------------;*************************************************************************;*   Function: Key Generation                                             ;*   Input   : 20h~27h(8bytes)                                            ;*   Return  : 80h~FFh(128bytes);*   Change  :                                                            ;*************************************************************************  KEY_GENERATOR:                     ACALL PC_1_ARRANGE;---After PC-1 arrange the data stored in RB0        ;----MOVE PC-1DATA(RB0)   TO 20H~27H                     MOV     SOURCE,#00H                     MOV     DISTINATION,#20H                     ACALL   MOV_8_BYTES;---KEY GENERATION LOOP----------------------------------------                     MOV      R0,#KEYTEMP                     MOV      KeyGEN_TEMP,#16 ;--ROLATION 16 TIMES                     MOV      DPTR,#ROL_TIMES                     CLR      A  KeyGen:             MOVC     A,@A+DPTR                     XCH      A,B                      ;--------MOV A TO B ROL:                ACALL    ROLATION_RIGHT                     DJNZ     B,ROL                     LCALL    PC_2_ARRANGE                                         INC      DPTR                     DJNZ     KeyGEN_TEMP,KeyGen  ;-----------------------------------------------------------------------------------                               RET;-------------------------------------------------------------------------------  ROLATION_RIGHT:;---Rolation right 20H~27H---------------------------------------------------  ;----ROLATION_RIGHT  20H~23H 1 BIT               JB   20H.0,L1       CLR  23H.7       AJMP L1B  L1:  SETB 23H.7  L1B: CLR  C         XCH  A,23H       RRC  A       XCH  A,23H             JC   L2       CLR  22H.7       AJMP L2B  L2:  SETB 22H.7  L2B: CLR  C       XCH  A,22H       RRC  A       XCH  A,22H             JC   L3       CLR  21H.7       AJMP L3B   L3:  SETB 21H.7  L3B: CLR  C       XCH  A,21H       RRC  A       XCH  A,21H             JC   L4       CLR  20H.7       AJMP L4B  L4:  SETB 20H.7  L4B: CLR  C       XCH  A,20H       RRC  A       XCH  A,20H        ;----ROLATION_RIGHT  24H~27H 1 BIT               JB   24H.0,L5       CLR  27H.7       AJMP L5B  L5:  SETB 27H.7  L5B: CLR  C         XCH  A,27H       RRC  A       XCH  A,27H             JC   L6       CLR  26H.7       AJMP L6B  L6:  SETB 26H.7  L6B: CLR  C       XCH  A,26H       RRC  A       XCH  A,26H             JC   L7       CLR  25H.7       AJMP L7B   L7:  SETB 25H.7  L7B: CLR  C       XCH  A,25H       RRC  A       XCH  A,25H             JC   L8       CLR  24H.7       AJMP L8B  L8:  SETB 24H.7  L8B: CLR  C       XCH  A,24H       RRC  A       XCH  A,24H             RET;--------------------------------------------------------------------------- PC_1_ARRANGE:;---PC-1 ARRANGE---------------------------------- ;----MOVE KEY_DATA  TO 20H~27H       ;---PC-1 ARRANGE;---USE RB0 TO REGISTER PC-1 DATA       ;---R0       CLR  A      JNB   27H.0,PC11       SETB ACC.0 PC11:JNB   26H.0,PC12       SETB ACC.1 PC12:JNB   25H.0,PC13      SETB ACC.2  PC13:JNB   24H.0,PC14      SETB ACC.3   PC14:JNB   23H.0,PC15      SETB ACC.4   PC15:JNB   22H.0,PC16      SETB ACC.5   PC16:JNB   21H.0,PC17      SETB ACC.6  PC17:MOV  R0,A           ;---R1      PC1X2:CLR  A             JNB   20H.0,PC18       SETB ACC.0   PC18: JNB   27H.1,PC19       SETB ACC.1 PC19: JNB   26H.1,PC110       SETB ACC.2   PC110:JNB   25H.1,PC111       SETB ACC.3   PC111:JNB   24H.1,PC112       SETB ACC.4   PC112:JNB   23H.1,PC113       SETB ACC.5  PC113:JNB   22H.1,PC114       SETB ACC.6  PC114:MOV  R1,A       ;---R2       PC1X3:CLR  A          JNB   21H.1,PC115       SETB ACC.0   PC115:JNB   20H.1,PC116       SETB ACC.1 PC116:JNB   27H.2,PC117       SETB ACC.2  PC117:JNB   26H.2,PC118       SETB ACC.3  PC118:JNB   25H.2,PC119       SETB ACC.4  PC119:JNB   24H.2,PC120       SETB ACC.5 PC120:JNB   23H.2,PC121       SETB ACC.6 PC121:MOV  R2,A       ;---R3       PC1X4:CLR  A       JNB   22H.2,PC122       SETB  ACC.0 PC122:JNB   21H.2,PC123       SETB  ACC.1  PC123:JNB   20H.2,PC124       SETB  ACC.2  PC124:JNB   27H.3,PC125       SETB  ACC.3   PC125:JNB   26H.3,PC126       SETB  ACC.4  PC126:JNB   25H.3,PC127       SETB  ACC.5  PC127:JNB   24H.3,PC128       SETB  ACC.6  PC128:MOV  R3,A       ;---R4       PC1X5:CLR  A       JNB   27H.6,PC129       SETB  ACC.0   PC129:JNB   26H.6,PC130       SETB  ACC.1   PC130:JNB   25H.6,PC131       SETB  ACC.2  PC131:JNB   24H.6,PC132       SETB  ACC.3 PC132:JNB   23H.6,PC133       SETB  ACC.4 PC133:JNB   22H.6,PC134       SETB  ACC.5 PC134:JNB   21H.6,PC135       SETB  ACC.6 PC135:MOV  R4,A       ;---R5       PC1X6:CLR  A       JNB   20H.6,PC136       SETB  ACC.0   PC136:JNB   27H.5,PC137       SETB  ACC.1 PC137:JNB   26H.5,PC138       SETB  ACC.2   PC138:JNB   25H.5,PC139       SETB  ACC.3  PC139:JNB   24H.5,PC140       SETB  ACC.4 PC140:JNB   23H.5,PC141       SETB  ACC.5 PC141:JNB   22H.5,PC142       SETB  ACC.6 PC142:MOV   R5,A        ;---R6        PC1X7: CLR  A       JNB   21H.5,PC143       SETB  ACC.0   PC143:JNB   20H.5,PC144       SETB  ACC.1 PC144:JNB   27H.4,PC145       SETB  ACC.2 PC145:JNB   26H.4,PC146       SETB  ACC.3  PC146:JNB   25H.4,PC147       SETB  ACC.4 PC147:JNB   24H.4,PC148       SETB  ACC.5 PC148:JNB   23H.4,PC149       SETB  ACC.6   PC149:MOV  R6,A       ;---R7        PC1X8: CLR  A       JNB   22H.4,PC150       SETB  ACC.0   PC150:JNB   21H.4,PC151       SETB  ACC.1   PC151:JNB   20H.4,PC152       SETB  ACC.2 PC152:JNB   23H.3,PC153       SETB  ACC.3   PC153:JNB   22H.3,PC154       SETB  ACC.4 PC154:JNB   21H.3,PC155       SETB  ACC.5  PC155:JNB   20H.3,PC156       SETB  ACC.6 PC156:MOV  R7,A           RET        ;---END PC-1 ARRANGE------------------------------- PC_2_ARRANGE:;---PC-2 ARRANGE-------------------------------------            ;---MOVE TO 80H            CLR  A            JNB   21H.6,PC21           SETB ACC.2  PC21:     JNB   22H.2,PC22           SETB ACC.3 PC22:     JNB   21H.3,PC23           SETB ACC.4 PC23:     JNB   23H.2,PC24           SETB ACC.5  PC24:     JNB   20H.0,PC25           SETB ACC.6 PC25:     JNB   20H.4,PC26           SETB ACC.7 PC26:     XCH  A,@R0            INC  R0            ;---MOVE TO 81H PC2X1:     CLR  A            JNB   20H.2,PC27           SETB ACC.2  PC27:     JNB   23H.6,PC28           SETB ACC.3 PC28:     JNB   22H.0,PC29           SETB ACC.4  PC29:     JNB   20H.5,PC210           SETB ACC.5 PC210:    JNB   22H.6,PC211           SETB ACC.6 PC211:    JNB   21H.2,PC212           SETB ACC.7 PC212:    XCH  A,@R0            INC  R0            ;---MOVE TO 82H PC2X2:     CLR  A            JNB   23H.1,PC213           SETB ACC.2  PC213:    JNB   22H.4,PC214           SETB ACC.3 PC214:    JNB   21H.4,PC215           SETB ACC.4 PC215:    JNB   20H.3,PC216           SETB ACC.5 PC216:    JNB   23H.4,PC217           SETB ACC.6 PC217:    JNB   21H.0,PC218           SETB ACC.7 PC218:    XCH  A,@R0            INC  R0            ;---MOVE T0 83H PC2X3:     CLR  A             JNB   22H.1,PC219           SETB ACC.2  PC219:    JNB   20H.6,PC220           SETB ACC.3 PC220:    JNB   23H.5,PC221           SETB ACC.4  PC221:    JNB   22H.5,PC222           SETB ACC.5 PC222:    JNB   21H.5,PC223           SETB ACC.6  PC223:    JNB   20H.1,PC224           SETB ACC.7  PC224:    XCH  A,@R0            INC  R0           ;---MOVE TO 84H PC2X4:     CLR  A             JNB   25H.5,PC225           SETB ACC.2  PC225:    JNB   27H.2,PC226           SETB ACC.3 PC226:    JNB   24H.2,PC227           SETB ACC.4  PC227:    JNB   25H.1,PC228           SETB ACC.5 PC228:    JNB   26H.4,PC229           SETB ACC.6 PC229:    JNB   27H.5,PC230           SETB ACC.7  PC230:    XCH  A,@R0            INC  R0                       ;---MOVE TO 85H PC2X5:     CLR  A             JNB   24H.1,PC231           SETB ACC.2  PC231:    JNB   25H.4,PC232           SETB ACC.3 PC232:    JNB   27H.1,PC233           SETB ACC.4 PC233:    JNB   26H.2,PC234           SETB ACC.5  PC234:    JNB   24H.4,PC235           SETB ACC.6 PC235:    JNB   26H.5,PC236           SETB ACC.7 PC236:    XCH  A,@R0            INC  R0            ;---MOVE TO 86H PC2X6:     CLR  A             JNB   26H.1,PC237           SETB ACC.2  PC237:    JNB   26H.6,PC238           SETB ACC.3  PC238:    JNB   25H.3,PC239           SETB ACC.4  PC239:    JNB   27H.6,PC240           SETB ACC.5  PC240:    JNB   24H.5,PC241           SETB ACC.6  PC241:    JNB   27H.3,PC242           SETB ACC.7 PC242:    XCH  A,@R0            INC  R0                        ;---MOVE TO 87H PC2X7:     CLR  A             JNB   26H.3,PC243           SETB ACC.2  PC243:    JNB   25H.6,PC244           SETB ACC.3  PC244:    JNB   27H.0,PC245           SETB ACC.4  PC245:    JNB   25H.0,PC246           SETB ACC.5  PC246:    JNB   24H.0,PC247           SETB ACC.6 PC247:    JNB   24H.3,PC248           SETB ACC.7  PC248:    XCH  A,@R0            INC  R0             RET                      ROL_TIMES:       DB    01H,01H,02H,02H,02H,02H,02H,02H                  DB    01H,02H,02H,02H,02H,02H,02H,01H                        S_BOXES_DATA: DB   0EH,04H,0DH,01H,02H,0FH,0BH,08H,03H,0AH,06H,0CH,05H,09H,00H,07H               DB   00H,0FH,07H,04H,0EH,02H,0DH,01H,0AH,06H,0CH,0BH,09H,05H,03H,08H               DB   04H,01H,0EH,08H,0DH,06H,02H,0BH,0FH,0CH,09H,07H,03H,0AH,05H,00H               DB   0FH,0CH,08H,02H,04H,09H,01H,07H,05H,0BH,03H,0EH,0AH,00H,06H,0DH                              DB   0FH,01H,08H,0EH,06H,0BH,03H,04H,09H,07H,02H,0DH,0CH,00H,05H,0AH               DB   03H,0DH,04H,07H,0FH,02H,08H,0EH,0CH,00H,01H,0AH,06H,09H,0BH,05H               DB   00H,0EH,07H,0BH,0AH,04H,0DH,01H,05H,08H,0CH,06H,09H,03H,02H,0FH               DB   0DH,08H,0AH,01H,03H,0FH,04H,02H,0BH,06H,07H,0CH,00H,05H,0EH,09H                              DB   0AH,00H,09H,0EH,06H,03H,0FH,05H,01H,0DH,0CH,07H,0BH,04H,02H,08H               DB   0DH,07H,00H,09H,03H,04H,06H,0AH,02H,08H,05H,0EH,0CH,0BH,0FH,01H               DB   0DH,06H,04H,09H,08H,0FH,03H,00H,0BH,01H,02H,0CH,05H,0AH,0EH,07H               DB   01H,0AH,0DH,00H,06H,09H,08H,07H,04H,0FH,0EH,03H,0BH,05H,02H,0CH                              DB   07H,0DH,0EH,03H,00H,06H,09H,0AH,01H,02H,08H,05H,0BH,0CH,04H,0FH               DB   0DH,08H,0BH,05H,06H,0FH,00H,03H,04H,07H,02H,0CH,01H,0AH,0EH,09H               DB   0AH,06H,09H,00H,0CH,0BH,07H,0DH,0FH,01H,03H,0EH,05H,02H,08H,04H               DB   03H,0FH,00H,06H,0AH,01H,0DH,08H,09H,04H,05H,0BH,0CH,07H,02H,0EH                              DB   02H,0CH,04H,01H,07H,0AH,0BH,06H,08H,05H,03H,0FH,0DH,00H,0EH,09H               DB   0EH,0BH,02H,0CH,04H,07H,0DH,01H,05H,00H,0FH,0AH,03H,09H,08H,06H               DB   04H,02H,01H,0BH,0AH,0DH,07H,08H,0FH,09H,0CH,05H,06H,03H,00H,0EH               DB   0BH,08H,0CH,07H,01H,0EH,02H,0DH,06H,0FH,00H,09H,0AH,04H,05H,03H                              DB   0CH,01H,0AH,0FH,09H,02H,06H,08H,00H,0DH,03H,04H,0EH,07H,05H,0BH               DB   0AH,0FH,04H,02H,07H,0CH,09H,05H,06H,01H,0DH,0EH,00H,0BH,03H,08H               DB   09H,0EH,0FH,05H,02H,08H,0CH,03H,07H,00H,04H,0AH,01H,0DH,0BH,06H               DB   04H,03H,02H,0CH,09H,05H,0FH,0AH,0BH,0EH,01H,07H,06H,00H,08H,0DH                              DB   04H,0BH,02H,0EH,0FH,00H,08H,0DH,03H,0CH,09H,07H,05H,0AH,06H,01H               DB   0DH,00H,0BH,07H,04H,09H,01H,0AH,0EH,03H,05H,0CH,02H,0FH,08H,06H               DB   01H,04H,0BH,0DH,0CH,03H,07H,0EH,0AH,0FH,06H,08H,00H,05H,09H,02H               DB   06H,0BH,0DH,08H,01H,04H,0AH,07H,09H,05H,00H,0FH,0EH,02H,03H,0CH                              DB   0DH,02H,08H,04H,06H,0FH,0BH,01H,0AH,09H,03H,0EH,05H,00H,0CH,07H               DB   01H,0FH,0DH,08H,0AH,03H,07H,04H,0CH,05H,06H,0BH,00H,0EH,09H,02H               DB   07H,0BH,04H,01H,09H,0CH,0EH,02H,00H,06H,0AH,0DH,0FH,03H,05H,08H               DB   02H,01H,0EH,07H,04H,0AH,08H,0DH,0FH,0CH,09H,00H,03H,05H,06H,0BH                END1:                        END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -