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

📄 des.lst

📁 C51下把DES汇编改为C语言的程序.改进版程序.
💻 LST
📖 第 1 页 / 共 5 页
字号:
013D 33              340                 Rlc         A
013E F500     F      341                 Mov         BM3,  A         ;Bit16
0140 23              342                 Rl          A
0141 33              343                 Rlc         A
0142 9200     F      344                 Mov         BM3.7,C         ;Bit2
0144 08              345                 Inc         R0
0145 E6              346                 Mov         A,   @R0        ;Acc      := D2, C2
0146 33              347                 Rlc         A
0147 9200     F      348                 Mov         BM0.1,C         ;Bit24
0149 33              349                 Rlc         A
014A 9200     F      350                 Mov         BM5.7,C         ;Bit48
014C 33              351                 Rlc         A
014D 9200     F      352                 Mov         BM0.7,C         ;Bit17
014F 33              353                 Rlc         A
0150 9200     F      354                 Mov         BM4.6,C         ;Bit41
0152 33              355                 Rlc         A
0153 9200     F      356                 Mov         BM1.7,C         ;Bit10
0155 33              357                 Rlc         A
0156 9200     F      358                 Mov         BM6.2,C         ;Bit34
0158 33              359                 Rlc         A
0159 9200     F      360                 Mov         BM1.2,C         ;Bit3
015B 33              361                 Rlc         A
015C 9200     F      362                 Mov         BM4.3,C         ;Bit55
015E 08              363                 Inc         R0
015F E6              364                 Mov         A,   @R0        ;Acc      := D3, C3
0160 23              365                 Rl          A
0161 33              366                 Rlc         A
0162 9200     F      367                 Mov         BM6.7,C         ;Bit49
0164 23              368                 Rl          A
0165 33              369                 Rlc         A
0166 9200     F      370                 Mov         BM7.3,C         ;Bit42
0168 33              371                 Rlc         A
0169 9200     F      372                 Mov         BM0.0,C         ;Bit11
016B 23              373                 Rl          A
016C 33              374                 Rlc         A
016D 9200     F      375                 Mov         BM2.1,C         ;Bit4
016F 33              376                 Rlc         A
0170 9200     F      377                 Mov         BM6.1,C         ;Bit56
0172 08              378                 Inc         R0
0173 E6              379                 Mov         A,   @R0        ;Acc      := D4, C4
0174 33              380                 Rlc         A
0175 9200     F      381                 Mov         BM2.2,C         ;Bit26
0177 33              382                 Rlc         A
0178 9200     F      383                 Mov         BM7.4,C         ;Bit50
017A 33              384                 Rlc         A
017B 9200     F      385                 Mov         BM2.7,C         ;Bit19
017D 23              386                 Rl          A
017E 33              387                 Rlc         A
017F 9200     F      388                 Mov         BM2.0,C         ;Bit12
A51 MACRO ASSEMBLER  DES                                                                  09/11/2002 09:44:25 PAGE     7

0181 33              389                 Rlc         A
0182 9200     F      390                 Mov         BM7.5,C         ;Bit36
0184 33              391                 Rlc         A
0185 9200     F      392                 Mov         BM0.3,C         ;Bit5
0187 33              393                 Rlc         A
0188 9200     F      394                 Mov         BM7.6,C         ;Bit29
018A 08              395                 Inc         R0
018B E6              396                 Mov         A,   @R0        ;Acc      := D5, C5
018C 33              397                 Rlc         A
018D 9200     F      398                 Mov         BM3.4,C         ;Bit27
018F 33              399                 Rlc         A
0190 9200     F      400                 Mov         BM5.4,C         ;Bit51
0192 33              401                 Rlc         A
0193 9200     F      402                 Mov         BM3.5,C         ;Bit20
0195 33              403                 Rlc         A
0196 9200     F      404                 Mov         BM6.6,C         ;Bit44
0198 33              405                 Rlc         A
0199 9200     F      406                 Mov         BM3.6,C         ;Bit13
019B 33              407                 Rlc         A
019C 9200     F      408                 Mov         BM4.1,C         ;Bit37
019E 33              409                 Rlc         A
019F 9200     F      410                 Mov         BM1.5,C         ;Bit6
01A1 33              411                 Rlc         A
01A2 9200     F      412                 Mov         BM5.2,C         ;Bit30
01A4 08              413                 Inc         R0
01A5 E6              414                 Mov         A,   @R0        ;Acc      := D6, C6
01A6 33              415                 Rlc         A
01A7 9200     F      416                 Mov         BM1.3,C         ;Bit28
01A9 33              417                 Rlc         A
01AA 9200     F      418                 Mov         BM4.7,C         ;Bit52
01AC 33              419                 Rlc         A
01AD 9200     F      420                 Mov         BM1.6,C         ;Bit21
01AF 33              421                 Rlc         A
01B0 9200     F      422                 Mov         BM5.5,C         ;Bit45
01B2 33              423                 Rlc         A
01B3 9200     F      424                 Mov         BM0.6,C         ;Bit14
01B5 23              425                 Rl          A
01B6 33              426                 Rlc         A
01B7 9200     F      427                 Mov         BM3.3,C         ;Bit7
01B9 33              428                 Rlc         A
01BA 9200     F      429                 Mov         BM4.0,C         ;Bit31
                     430     
                     431     
01BC ED              432                 Mov         A,    R5        ;Acc      := Parameter2 of APDU
01BD 5430            433                 Anl         A,   #030h      ;Acc5..4  := Decode~, BuildMac
01BF 701B            434                 Jnz         InitExpand
                     435     
01C1 EA              436                 Mov         A,    R2        ;Acc      := addr (D0, C0)
01C2 F8              437                 Mov         R0,   A         ;R0       := addr (D0, C0)
01C3 E5F0            438                 Mov         A,    B         ;Acc      := RoundCounter mod 7
01C5 14              439                 Dec         A
01C6 24FF            440                 Add         A,   #0FFh      ;Carry    := Acc != 0  => Shift2
01C8 EB              441                 Mov         A,    R3
01C9 7001            442                 Jnz         DecShift2-1     ;Last Round ?
01CB C3              443                 Clr         C               ;Carry    == 0         => Shift1
01CC E6              444                 Mov         A,   @R0        ;Acc      := D0, C0
01CD 7C06            445     DecShift2:  Mov         R4,  #6         ;R4       := shift through 7 bytes
01CF 08              446                 Inc         R0              ;Address  += 1
01D0 C6              447                 Xch         A,   @R0        ;ShiftUp one byte
01D1 DCFC            448                 Djnz        R4, $-2
01D3 F8              449                 Mov         R0,   A         ;R0       := D0, C0 >> 2 = D6, C6
01D4 EA              450                 Mov         A,    R2        ;Acc      := addr (D0, C0)
01D5 C8              451                 Xch         A,    R0        ;Acc      := D0, C0 >> 2
01D6 23              452                 Rl          A               ;Acc      := D0, C0 >> 1
01D7 23              453                 Rl          A               ;Acc      := D0, C0
01D8 10D7F2          454                 Jbc         PSW.7,DecShift2 ;Shift twice ?
A51 MACRO ASSEMBLER  DES                                                                  09/11/2002 09:44:25 PAGE     8

01DB F6              455                 Mov         @R0,  A         ;Store D0, C0
                     456     
                     457     
01DC 7800     F      458     InitExpand: Mov         R0,  #BM0       ;R0       := addr (first SBoxValue)
01DE 7C04            459                 Mov         R4,  #4         ;Half number of    SBoxes
01E0 900000   F      460                 Mov         Dptr,#SBoxes    ;Dptr     := addr (SBoxes)
01E3 E7              461                 Mov         A,   @R1        ;Acc      := Right3
01E4 09              462                 Inc         R1
01E5 09              463                 Inc         R1
01E6 09              464                 Inc         R1              ;R1       := addr (Right0)
                     465     
01E7 D7              466     ExpXorSBox: XchD        A,   @R1        ;Acc3..0  := RightI,    4 bits
01E8 C6              467                 Xch         A,   @R0        ;Acc      := RoundKey,  bits 7, 6, 3..0
01E9 66              468                 Xrl         A,   @R0        ;Acc      := SBoxIndex, bits 7, 6, 3..0
01EA C4              469                 Swap        A               ;Acc7..2  := SBoxIndex, 6 bits
01EB 54FC            470                 Anl         A,   #0FCh      ;Mask        SBoxIndex
01ED 93              471                 MovC        A, @A+Dptr      ;Acc      := SBoxValue, LowNibble valid
01EE C6              472                 Xch         A,   @R0        ;Acc3..0  := RightI,    4 bits
01EF 08              473                 Inc         R0
01F0 D7              474                 XchD        A,   @R1        ;Rebuild    RightI
01F1 E7              475                 Mov         A,   @R1        ;Acc7..0  := RightI
01F2 66              476                 Xrl         A,   @R0        ;Acc7..2  := SBoxIndex, 6bits
01F3 54FC            477                 Anl         A,   #0FCh      ;Mask        SBoxIndex
01F5 93              478                 MovC        A, @A+Dptr      ;Acc      := SBoxValue, HighNibble valid
01F6 F6              479                 Mov         @R0,  A
01F7 08              480                 Inc         R0
01F8 E7              481                 Mov         A,   @R1        ;Acc7..0  := RightI
01F9 19              482                 Dec         R1
01FA A3              483                 Inc         Dptr
01FB DCEA            484                 Djnz        R4, ExpXorSBox
                     485     
01FD EB              486                 Mov         A,    R3        ;Acc      := RoundCounter
01FE 30E004          487                 Jnb         Acc.0,$+7       ;Odd Round ?
0201 E9              488                 Mov         A,    R1        ;Acc      := addr (Right3) -1
0202 2408            489                 Add         A,   #8         ;Address  += 8
0204 F9              490                 Mov         R1,   A         ;R1       := addr (Left0)
                     491     
0205 A200     F      492                 Mov         C, BM1.6        ;P(B)1    := B7, Right := P(B) ExOr Left
0207 13              493                 Rrc         A
0208 A200     F      494                 Mov         C, BM4.3        ;P(B)2    := B20
020A 13              495                 Rrc         A
020B A200     F      496                 Mov         C, BM5.4        ;P(B)3    := B21
020D 13              497                 Rrc         A
020E A200     F      498                 Mov         C, BM7.4        ;P(B)4    := B29
0210 13              499                 Rrc         A
0211 A200     F      500                 Mov         C, BM2.3        ;P(B)5    := B12
0213 13              501                 Rrc         A
0214 A200     F      502                 Mov         C, BM6.3        ;P(B)6    := B28
0216 13              503                 Rrc         A
0217 A200     F      504                 Mov         C, BM4.0        ;P(B)7    := B17
0219 13              505                 Rrc         A
021A A200     F      506                 Mov         C, BM0.0        ;P(B)8    := B1
021C 13              507                 Rrc         A
021D 67              508                 Xrl         A,   @R1        ;Acc      := new Right0
021E F7              509                 Mov         @R1,  A         ;Left0    := new Right0
021F A200     F      510                 Mov         C, BM3.6        ;P(B)9    := B15
0221 13              511                 Rrc         A
0222 A200     F      512                 Mov         C, BM5.6        ;P(B)10   := B23
0224 13              513                 Rrc         A
0225 A200     F      514                 Mov         C, BM6.1        ;P(B)11   := B26

⌨️ 快捷键说明

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