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

📄 des.asm

📁 8051微控制器上的 DES encryption/decryption used in IC smart cards. Software hasn t been validated and lack
💻 ASM
📖 第 1 页 / 共 3 页
字号:
          PUSH    PSW          CLR     PSW.3          SETB    PSW.4           MOV     R0,B          MOV     R1,#1FH          MOV     XOR_TEMP,#027H XORR1:    MOV     A,@R0          XRL     A,@R1          DEC     R0          DEC     R1          PUSH    011H ;----PUSH R1                       MOV     R1,XOR_TEMP          MOV     @R1,A          DEC     R1          MOV     XOR_TEMP,R1          POP     011H          CJNE    R1,#17H,XORR1           MOV     B,R0          POP     PSW          RET;**************************************************************************** XOR_4_BYTES:               ;---00H~03H XOR 18H~1BH  STORE IN 24H~27H---------------------                             MOV  A,18H               XRL  A,00H                        MOV  24H,A                              MOV  A,19H               XRL  A,01H                        MOV  25H,A                              MOV  A,1AH               XRL  A,02H                        MOV  26H,A                              MOV  A,1BH               XRL  A,03H                        MOV  27H,A               RET     ;---END XOR 4 BYTES---------------------------------------------------------- ;****************************************************************************  S_BOXES:;---USE RB3 TO STORE S_BOXES'S DATA                              PUSH PSW               SETB PSW.4               SETB PSW.3               MOV  DPTR,#S_BOXES_DATA;---20H------------------------------------                              CLR  A               JNB   20H.2,S1               SETB ACC.5  S1:           JNB   20H.7,S2               SETB ACC.4 S2:           JNB   20H.3,S3               SETB ACC.3 S3:           JNB   20H.4,S4               SETB ACC.2 S4:           JNB   20H.5,S5               SETB ACC.1 S5:           JNB   20H.6,S6               SETB ACC.0 S6:           MOVC A,@A+DPTR               MOV  R0,A                 SX:           LCALL DPTR_add_40H               ;----21H-----------------------------                             CLR  A               JNB   21H.2,S7               SETB ACC.5  S7:           JNB   21H.7,S8               SETB ACC.4  S8:           JNB   21H.3,S9               SETB ACC.3  S9:           JNB   21H.4,S10               SETB ACC.2  S10:          JNB   21H.5,S11               SETB ACC.1  S11:          JNB   21H.6,S12               SETB ACC.0  S12:          MOVC A,@A+DPTR               MOV  R1,A                SX1:          LCALL DPTR_add_40H               ;----22H-----------------------------                             CLR  A               JNB   22H.2,S13               SETB ACC.5  S13:          JNB   22H.7,S14               SETB ACC.4  S14:          JNB   22H.3,S15               SETB ACC.3  S15:          JNB   22H.4,S16               SETB ACC.2  S16:          JNB   22H.5,S17               SETB ACC.1  S17:          JNB   22H.6,S18               SETB ACC.0  S18:         MOVC A,@A+DPTR               MOV  R2,A                SX2:          LCALL DPTR_add_40H               ;----23H-----------------------------                             CLR  A               JNB   23H.2,S19               SETB ACC.5  S19:          JNB   23H.7,S20               SETB ACC.4 S20:          JNB   23H.3,S21               SETB ACC.3 S21:          JNB   23H.4,S22               SETB ACC.2  S22:          JNB   23H.5,S23               SETB ACC.1 S23:          JNB   23H.6,S24               SETB ACC.0 S24:          MOVC A,@A+DPTR               MOV  R3,A               SX3:          LCALL DPTR_add_40H              ;----24H-----------------------------                             CLR  A               JNB   24H.2,S25               SETB ACC.5  S25:          JNB   24H.7,S26               SETB ACC.4  S26:          JNB   24H.3,S27               SETB ACC.3  S27:          JNB   24H.4,S28               SETB ACC.2 S28:          JNB   24H.5,S29               SETB ACC.1 S29:          JNB   24H.6,S30               SETB ACC.0 S30:          MOVC A,@A+DPTR               MOV  R4,A               SX4:          LCALL DPTR_add_40H             ;----25H-----------------------------                             CLR  A               JNB   25H.2,S31               SETB ACC.5  S31:          JNB   25H.7,S32               SETB ACC.4 S32:          JNB   25H.3,S33               SETB ACC.3  S33:          JNB   25H.4,S34               SETB ACC.2  S34:          JNB   25H.5,S35               SETB ACC.1  S35:          JNB   25H.6,S36               SETB ACC.0  S36:          MOVC A,@A+DPTR               MOV  R5,A                SX5:          LCALL DPTR_add_40H             ;----26H-----------------------------                             CLR  A               JNB   26H.2,S37               SETB ACC.5  S37:          JNB   26H.7,S38               SETB ACC.4  S38:          JNB   26H.3,S39               SETB ACC.3  S39:          JNB   26H.4,S40               SETB ACC.2  S40:          JNB   26H.5,S41               SETB ACC.1  S41:          JNB   26H.6,S42               SETB ACC.0  S42:          MOVC A,@A+DPTR               MOV  R6,A               SX6:          LCALL DPTR_add_40H             ;----27H-----------------------------                             CLR  A               JNB   27H.2,S43               SETB ACC.5  S43:          JNB   27H.7,S44               SETB ACC.4  S44:          JNB   27H.3,S45               SETB ACC.3  S45:          JNB   27H.4,S46               SETB ACC.2  S46:          JNB   27H.5,S47               SETB ACC.1  S47:          JNB   27H.6,S48               SETB ACC.0  S48:          MOVC A,@A+DPTR               MOV  R7,A                      SX7:          POP   PSW               RET;**************************************************************************** SHRINK_ARRANGE:;---SHRINK ARRANGE---------------------------------------;---MOV S_BOXES'S DATA FROM RB3(18H~1FH) TO 20H~27H                  MOV  SOURCE,#18H               MOV  DISTINATION,#20H               ACALL MOV_8_BYTES               ;---USE RB3(18H~1FH) TO STORE THE SHRINK ARRANGE TABLE------------------------------------                              PUSH PSW               SETB PSW.4               SETB PSW.3  ;---18H--------------------------------------------------------------------                              CLR  A              JNB   23H.0,SA1              SETB ACC.0                 SA1:         JNB   21H.1,SA2                  SETB ACC.1                 SA2:         JNB   24H.0,SA3                  SETB ACC.2                SA3:         JNB   25H.3,SA4               SETB ACC.3                  SA4:         JNB   27H.3,SA5              SETB ACC.4                SA5:         JNB   22H.0,SA6              SETB ACC.5                   SA6:         JNB   26H.0,SA7              SETB ACC.6                   SA7:         JNB   24H.3,SA8              SETB ACC.7                     SA8:         MOV  R0,A                          ;---19H--------------------------------------------------------------------                SAX1:         CLR  A              JNB   20H.3,SA9              SETB ACC.0                   SA9:         JNB   23H.1,SA10              SETB ACC.1                SA10:        JNB   25H.1,SA11              SETB ACC.2                SA11:        JNB   26H.2,SA12              SETB ACC.3               SA12:        JNB   21H.3,SA13              SETB ACC.4                 SA13:        JNB   24H.2,SA14              SETB ACC.5                 SA14:        JNB   27H.1,SA15              SETB ACC.6                   SA15:        JNB   22H.2,SA16              SETB ACC.7                   SA16:        MOV  R1,A                             ;---1AH--------------------------------------------------------------------                SAX2:         CLR  A              JNB   20H.2,SA17              SETB ACC.0                   SA17:        JNB   21H.0,SA18              SETB ACC.1                   SA18:        JNB   25H.0,SA19              SETB ACC.2                   SA19:        JNB   23H.2,SA20              SETB ACC.3                 SA20:        JNB   27H.0,SA21              SETB ACC.4                SA21:        JNB   26H.1,SA22              SETB ACC.5                SA22:        JNB   20H.1,SA23               SETB ACC.6                    SA23:        JNB   22H.3,SA24              SETB ACC.7                    SA24:        MOV  R2,A                            ;---1BH--------------------------------------------------------------------                SAX3:         CLR  A              JNB   24H.1,SA25              SETB ACC.0                   SA25:        JNB   23H.3,SA26              SETB ACC.1                    SA26:        JNB   27H.2,SA27              SETB ACC.2                 SA27:        JNB   21H.2,SA28              SETB ACC.3                 SA28:        JNB   25H.2,SA29              SETB ACC.4                 SA29:        JNB   22H.1,SA30                  SETB ACC.5                 SA30:        JNB   20H.0,SA31                       SETB ACC.6                   SA31:        JNB   26H.3,SA32              SETB ACC.7                   SA32:        MOV  R3,A                SAX4:         POP  PSW               RET  MOVE_MOVE:;---MOVE 04H~07H TO 00H~03H                    MOV   00H,04H               MOV   01H,05H               MOV   02H,06H               MOV   03H,07H                ;--- MOVE 24H~27H TO 04H~07H:               MOV   04H,24H               MOV   05H,25H               MOV   06H,26H               MOV   07H,27H               RET;---DPTR ADD 40H  SUBRETUTION  ------------------------------------------------                DPTR_add_40H:               MOV          A,#40H               ADD          A,DPL               XCH          A,DPL               JNC          END_ADD               INC          DPH END_ADD:                RET;----------------------------------------------------------------------------;---------------------------------------------------------------------------- ;*************************************************************************** FINAL_ARRANGE:;----MOVE DATA  TO 20H~27H       MOV  20H,04H       MOV  21H,05H        MOV  22H,06H        MOV  23H,07H        MOV  24H,00H        MOV  25H,01H        MOV  26H,02H        MOV  27H,03H         ;---PC-1 ARRANGE;---USE RB0 TO REGISTER PC-1 DATA       ;---R0       CLR  A     JNB   24H.7,FA1     SETB ACC.0                  FA1:JNB   20H.7,FA2     SETB ACC.1                  FA2:JNB   25H.7,FA3     SETB ACC.2                 FA3:JNB   21H.7,FA4     SETB ACC.3                 FA4:JNB   26H.7,FA5     SETB ACC.4                  FA5:JNB   22H.7,FA6     SETB ACC.5                 FA6:JNB   27H.7,FA7     SETB ACC.6                    FA7:JNB   23H.7,FA8     SETB ACC.7    FA8:MOV  R0,A            ;---R1 FAX1:CLR  A      JNB   24H.6,FA9      SETB ACC.0                   FA9: JNB   20H.6,FA10      SETB ACC.1                 FA10:JNB   25H.6,FA11      SETB ACC.2                   FA11:JNB   21H.6,FA12      SETB ACC.3                 FA12:JNB   26H.6,FA13      SETB ACC.4                   FA13:JNB   22H.6,FA14      SETB ACC.5                  FA14:JNB   27H.6,FA15      SETB ACC.6                    FA15:JNB   23H.6,FA16      SETB ACC.7                  FA16:MOV  R1,A      ;---R2 FAX2:CLR  A      JNB   24H.5,FA17      SETB ACC.0                    FA17:JNB   20H.5,FA18      SETB ACC.1                    FA18:JNB   25H.5,FA19      SETB ACC.2                   FA19:JNB   21H.5,FA20         SETB ACC.3                  FA20:JNB   26H.5,FA21      SETB ACC.4                      FA21:JNB   22H.5,FA22      SETB ACC.5                 FA22:JNB   27H.5,FA23      SETB ACC.6                     FA23:JNB   23H.5,FA24      SETB ACC.7                     FA24:MOV  R2,A      ;---R3 FAX3:CLR  A      JNB   24H.4,FA25      SETB ACC.0                   FA25:JNB   20H.4,FA26      SETB ACC.1                 FA26:JNB   25H.4,FA27      SETB ACC.2                   FA27:JNB   21H.4,FA28      SETB ACC.3                  FA28:JNB   26H.4,FA29      SETB ACC.4                    FA29:JNB   22H.4,FA30      SETB ACC.5                     FA30:JNB   27H.4,FA31      SETB ACC.6                    FA31:JNB   23H.4,FA32      SETB ACC.7                     FA32:MOV  R3,A       ;---R4 FAX4:CLR  A      JNB   24H.3,FA33      SETB ACC.0                     FA33:JNB   20H.3,FA34      SETB ACC.1                FA34:JNB   25H.3,FA35      SETB ACC.2                    FA35:JNB   21H.3,FA36      SETB ACC.3                  FA36:JNB   26H.3,FA37      SETB ACC.4                   FA37:JNB   22H.3,FA38      SETB ACC.5                  FA38:JNB   27H.3,FA39      SETB ACC.6                 FA39:JNB   23H.3,FA40      SETB ACC.7                    FA40:MOV  R4,A       ;---R5 FAX5:CLR  A      JNB   24H.2,FA41      SETB ACC.0                     FA41:JNB   20H.2,FA42      SETB ACC.1                 FA42:JNB   25H.2,FA43      SETB ACC.2                   FA43:JNB   21H.2,FA44      SETB ACC.3                    FA44:JNB   26H.2,FA45      SETB ACC.4                  FA45:JNB   22H.2,FA46      SETB ACC.5                  FA46:JNB   27H.2,FA47      SETB ACC.6                    FA47:JNB   23H.2,FA48      SETB ACC.7                    FA48:MOV  R5,A       ;---R6 FAX6:CLR  A      JNB   24H.1,FA49      SETB ACC.0                    FA49:JNB   20H.1,FA50      SETB ACC.1                   FA50:JNB   25H.1,FA51      SETB ACC.2                     FA51:JNB   21H.1,FA52      SETB ACC.3                   FA52:JNB   26H.1,FA53      SETB ACC.4                      FA53:JNB   22H.1,FA54      SETB ACC.5                   FA54:JNB   27H.1,FA55      SETB ACC.6                   FA55:JNB   23H.1,FA56      SETB ACC.7                     FA56:MOV  R6,A      ;---R7 FAX7:CLR  A      JNB   24H.0,FA57      SETB ACC.0                     FA57:JNB   20H.0,FA58

⌨️ 快捷键说明

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