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

📄 desfor51.lst

📁 51平台的标准DES算法,在ATMEL89C52上验证通过,用keil51编译
💻 LST
字号:
A51 MACRO ASSEMBLER  DESFOR51                                                             11/19/2006 01:53:22 PAGE     1


MACRO ASSEMBLER A51 V6.12
OBJECT MODULE PLACED IN .\DESfor51.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE .\DESfor51.asm SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;=========================================================================
                       2     ;功能:完成DES算法
                       3     ;      ==>Ln=Rn-1;Rn=Ln-1 xor f(Rn-1,Kn)
                       4     ;名称:Des_Arithmetic()
                       5     ;入口: #MINGWEN,8字节明文;#MIYUE,8字节密钥;
                       6     ;出口: #DES_MIWEN,8字节密文;
                       7     ;占用:FLAG_TEMP,30H~3FH,40H~43H,48H~4FH,ACC,R0,R1,R2,R5,R6,R7
                       8     ;其它:a、字节的bit7~0,对应位置的1~8
                       9     ;          b、因为用到直接寻址,变量需定义在00H~80H
                      10     ;          c、51汇编,foc=12M,program by 唐TB   DATE:2003/08/12~14
                      11     ;          d、代码长度: 约1.5K字节  运行时间: 约11.2ms  深度:0级(无调用)
                      12     ;=========================================================================
  0020                13     FLAG_TEMP   DATA        20H                     ;DES算法要用到的位单元
  0000                14     BIT_00H         BIT             00H                     ;对应第8位
  0001                15     BIT_01H         BIT             01H                     ;对应第7位
  0002                16     BIT_02H         BIT             02H                     ;对应第6位
  0003                17     BIT_03H         BIT             03H                     ;对应第5位
  0004                18     BIT_04H         BIT             04H                     ;对应第4位
  0005                19     BIT_05H         BIT             05H                     ;对应第3位
  0006                20     BIT_06H         BIT             06H                     ;对应第2位
  0007                21     BIT_07H         BIT             07H                     ;对应第1位
                      22     
  0030                23     DES_TEMP0       EQU             30H                     ;计算(L0,R0),(C0,D0)时暂用单元,8BY
                             TES
  0031                24     DES_TEMP1       DATA    31H
  0032                25     DES_TEMP2       DATA    32H
  0033                26     DES_TEMP3       DATA    33H
  0034                27     DES_TEMP4       DATA    34H
  0035                28     DES_TEMP5       DATA    35H
  0036                29     DES_TEMP6       DATA    36H
  0037                30     DES_TEMP7       DATA    37H
                      31     
  0030                32     DES_MIWEN   EQU         30H                     ;密文首地址
  0030                33     DES_Ln0         EQU             30H                     ;存储Ln(0~3)
  0031                34     DES_Ln1         DATA    31H
  0032                35     DES_Ln2         DATA    32H
  0033                36     DES_Ln3         DATA    33H
  0034                37     DES_Rn0         DATA    34H                     ;存储Dn(0~3)
  0035                38     DES_Rn1         DATA    35H
  0036                39     DES_Rn2         DATA    36H
  0037                40     DES_Rn3         DATA    37H
                      41     
  0038                42     MINGWEN         EQU             38H                     ;明文首地址,8bytes
  0038                43     DES_L0          DATA    38H                     ;存储Ln-1(0~3)          
  0039                44     DES_L1          DATA    39H
  003A                45     DES_L2          DATA    3AH
  003B                46     DES_L3          DATA    3BH
  003C                47     DES_R0          DATA    3CH                     ;存储Rn-1(0~3)
  003D                48     DES_R1          DATA    3DH
  003E                49     DES_R2          DATA    3EH
  003F                50     DES_R3          DATA    3FH
                      51     
  0040                52     DES_Ki          EQU             40H                     ;Ki首地址,4BYTE
  0040                53     DES_Ki0         DATA    40H
  0041                54     DES_Ki1         DATA    41H
  0042                55     DES_Ki2         DATA    42H
  0043                56     DES_Ki3         DATA    43H
                      57     
A51 MACRO ASSEMBLER  DESFOR51                                                             11/19/2006 01:53:22 PAGE     2

  0048                58     MIYUE           EQU             48H                     ;*64位密钥,8BYTE
  0048                59     DES_C0          DATA    48H                     ;存储Cn(0~3)
  0049                60     DES_C1          DATA    49H
  004A                61     DES_C2          DATA    4AH
  004B                62     DES_C3          DATA    4BH                     
  004C                63     DES_D0          DATA    4CH                     ;存储Dn(0~3)
  004D                64     DES_D1          DATA    4DH
  004E                65     DES_D2          DATA    4EH
  004F                66     DES_D3          DATA    4FH
                      67     ;-------------------------------------------------------------------------
  0040                68     BCD_BYTE3       DATA    40H                     ;for HEX-->BCD
  0041                69     BCD_BYTE2       DATA    41H
  0042                70     BCD_BYTE1       DATA    42H
  0043                71     BCD_BYTE0       DATA    43H
                      72     ;=========================================================================
0000                  73                             ORG             0000H
0000 C11F             74                             AJMP    MAIN
0030                  75                             ORG             0030H
                      76     ;=========================================================================
                      77     ;构造Cn,Dn的循环移位次时

⌨️ 快捷键说明

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