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

📄 des_430.s43

📁 msp430的汇编des算法
💻 S43
📖 第 1 页 / 共 4 页
字号:
                BIT.B   #(80H >> (7 % 8)),(7 / 8)(R4);17
                RLC.B   2(R5)
                BIT.B   #(80H >> (15% 8)),(15/ 8)(R4);18
                RLC.B   2(R5)
                BIT.B   #(80H >> (6 % 8)),(6 / 8)(R4);19
                RLC.B   2(R5)
                BIT.B   #(80H >> (26% 8)),(26/ 8)(R4);20
                RLC.B   2(R5)
                BIT.B   #(80H >> (19% 8)),(19/ 8)(R4);21
                RLC.B   2(R5)
                BIT.B   #(80H >> (12% 8)),(12/ 8)(R4);22
                RLC.B   2(R5)
                BIT.B   #(80H >> (1 % 8)),(1 / 8)(R4);23
                RLC.B   2(R5)
                BIT.B   #(80H >> (40% 8)),(40/ 8)(R4);24
                RLC.B   3(R5)
                BIT.B   #(80H >> (51% 8)),(51/ 8)(R4);25
                RLC.B   3(R5)
                BIT.B   #(80H >> (30% 8)),(30/ 8)(R4);26
                RLC.B   3(R5)
                BIT.B   #(80H >> (36% 8)),(36/ 8)(R4);27
                RLC.B   3(R5)
                BIT.B   #(80H >> (46% 8)),(46/ 8)(R4);28
                RLC.B   3(R5)
                BIT.B   #(80H >> (54% 8)),(54/ 8)(R4);29
                RLC.B   3(R5)
                BIT.B   #(80H >> (29% 8)),(29/ 8)(R4);30
                RLC.B   3(R5)
                BIT.B   #(80H >> (39% 8)),(39/ 8)(R4);31
                RLC.B   3(R5)
                BIT.B   #(80H >>(50% 8)),(50/ 8)(R4);32
                RLC.B   4(R5)
                BIT.B   #(80H >> (44% 8)),(44/ 8)(R4);33
                RLC.B   4(R5)
                BIT.B   #(80H >> (32% 8)),(32/ 8)(R4);34
                RLC.B   4(R5)
                BIT.B   #(80H >> (47% 8)),(47/ 8)(R4);35
                RLC.B   4(R5)
                BIT.B   #(80H >> (43% 8)),(43/ 8)(R4);36
                RLC.B   4(R5)
                BIT.B   #(80H >> (48% 8)),(48/ 8)(R4);37
                RLC.B   4(R5)
                BIT.B   #(80H >> (38% 8)),(38/ 8)(R4);38
                RLC.B   4(R5)
                BIT.B   #(80H >> (55% 8)),(55/ 8)(R4);39
                RLC.B   4(R5)
                BIT.B   #(80H >> (33% 8)),(33/ 8)(R4);40
                RLC.B   5(R5)
                BIT.B   #(80H >> (52% 8)),(52/ 8)(R4);41
                RLC.B   5(R5)
                BIT.B   #(80H >> (45% 8)),(45/ 8)(R4);42
                RLC.B   5(R5)
                BIT.B   #(80H >> (41% 8)),(41/ 8)(R4);43
                RLC.B   5(R5)
                BIT.B   #(80H >>  (49% 8)),(49/ 8)(R4);44
                RLC.B   5(R5)
                BIT.B   #(80H >>  (35% 8)),(35/ 8)(R4);45
                RLC.B   5(R5)
                BIT.B   #(80H >>  (28% 8)),(28/ 8)(R4);46
                RLC.B   5(R5)
                BIT.B   #(80H >>  (31% 8)),(31/ 8)(R4);47
                RLC.B   5(R5)
                RET
;================================================
;功能:      密钥移位,循环左移
;名称:      KEY_RL
;入口:      R4  28bit * 2
;临时使用:  R5
;================================================
KEY_RL          ;2个   3字节半
                ;CLR.B   7(R4)
                CLRC
                RLC.B   6(R4)
                RLC.B   5(R4)
                RLC.B   4(R4)            
                RLC.B   3(R4)
                RLC.B   2(R4)
                RLC.B   1(R4)
                RLC.B   0(R4)
                RLC.B   7(R4)
NEXT_KEY_LEFT   BIT.B   #010H,3(R4)
                JZ      NEXT_KEY_RIGHT
                BIS.B   #01H,6(R4)
NEXT_KEY_RIGHT
                BIT.B   #01H,7(R4)
                JNZ     KEY_RIGHT_1 
                BIC.B   #010H,3(R4)
                RET
KEY_RIGHT_1     BIS.B   #010H,3(R4)
NEXT_RL_KEY     RET
;================================================
;功能:      IP置换
;名称:      DATA_IP
;输入:      r4 8字节(64bit) 
;输出:      r5 8字节(64bit) 
;中间       r6
;================================================
TEST_DATA_IP
                MOV     #IN_64BIT,R4
                MOV     #OUT_64BIT,R5

DATA_IP         BIT.B   #(80H >> (57 % 8)),(57 / 8)(R4);1
                RLC.B   0(R5)
                BIT.B   #(80H >> (49% 8)),(49 / 8)(R4);2
                RLC.B   0(R5)
                BIT.B   #(80H >> (41 % 8)),(41 / 8)(R4);3
                RLC.B   0(R5)
                BIT.B   #(80H >> (33 % 8)),(33 / 8)(R4);4
                RLC.B   0(R5)
                BIT.B   #(80H >> (25 % 8)),(25 / 8)(R4);5
                RLC.B   0(R5)
                BIT.B   #(80H >> (17 % 8)),(17 / 8)(R4);6
                RLC.B   0(R5)
                BIT.B   #(80H >> (9 % 8)),(9 / 8)(R4);7
                RLC.B   0(R5)
                BIT.B   #(80H >> (1 % 8)),(1 / 8)(R4);8
                RLC.B   0(R5)
                BIT.B   #(80H >> (59 % 8)),(59 / 8)(R4);9
                RLC.B   1(R5)
                BIT.B   #(80H >> (51 % 8)),(51 / 8)(R4);10
                RLC.B   1(R5)
                BIT.B   #(80H >> (43 % 8)),(43 / 8)(R4);11
                RLC.B   1(R5)
                BIT.B   #(80H >> (35 % 8)),(35 / 8)(R4);12
                RLC.B   1(R5)
                BIT.B   #(80H >> (27 % 8)),(27 / 8)(R4);13
                RLC.B   1(R5)
                BIT.B   #(80H >> (19 % 8)),(19 / 8)(R4);14
                RLC.B   1(R5)
                BIT.B   #(80H >> (11 % 8)),(11 / 8)(R4);15
                RLC.B   1(R5)
                BIT.B   #(80H >> (3 % 8)),(3 / 8)(R4);16
                RLC.B   1(R5)
                BIT.B   #(80H >> (61 % 8)),(61 / 8)(R4);17
                RLC.B   2(R5)
                BIT.B   #(80H >> (53 % 8)),(53 / 8)(R4);18
                RLC.B   2(R5)
                BIT.B   #(80H >> (45 % 8)),(45 / 8)(R4);19
                RLC.B   2(R5)
                BIT.B   #(80H >> (37 % 8)),(37 / 8)(R4);20
                RLC.B   2(R5)
                BIT.B   #(80H >> (29 % 8)),(29 / 8)(R4);21
                RLC.B   2(R5)
                BIT.B   #(80H >> (21 % 8)),(21 / 8)(R4);22
                RLC.B   2(R5)
                BIT.B   #(80H >> (13 % 8)),(13 / 8)(R4);23
                RLC.B   2(R5)
                BIT.B   #(80H >> (5 % 8)),(5 / 8)(R4);24
                RLC.B   2(R5)
                BIT.B   #(80H >> (63 % 8)),(63 / 8)(R4);25
                RLC.B   3(R5)
                BIT.B   #(80H >> (55 % 8)),(55 / 8)(R4);26
                RLC.B   3(R5)
                BIT.B   #(80H >> (47 % 8)),(47 / 8)(R4);27
                RLC.B   3(R5)
                BIT.B   #(80H >> (39 % 8)),(39 / 8)(R4);28
                RLC.B   3(R5)
                BIT.B   #(80H >> (31 % 8)),(31 / 8)(R4);29
                RLC.B   3(R5)
                BIT.B   #(80H >> (23 % 8)),(23 / 8)(R4);30
                RLC.B   3(R5)
                BIT.B   #(80H >> (15 % 8)),(15 / 8)(R4);31
                RLC.B   3(R5)
                BIT.B   #(80H >> (7 % 8)),(7 / 8)(R4);32
                RLC.B   3(R5)
                BIT.B   #(80H >> (56 % 8)),(56 / 8)(R4);33
                RLC.B   4(R5)
                BIT.B   #(80H >> (48 % 8)),(48 / 8)(R4);34
                RLC.B   4(R5)
                BIT.B   #(80H >> (40 % 8)),(40 / 8)(R4);35
                RLC.B   4(R5)
                BIT.B   #(80H >> (32 % 8)),(32 / 8)(R4);36
                RLC.B   4(R5)
                BIT.B   #(80H >> (24 % 8)),(24 / 8)(R4);37
                RLC.B   4(R5)
                BIT.B   #(80H >> (16 % 8)),(16 / 8)(R4);38
                RLC.B   4(R5)
                BIT.B   #(80H >> (8 % 8)),(8 / 8)(R4);39
                RLC.B   4(R5)
                BIT.B   #(80H >> (0 % 8)),(0 / 8)(R4);40
                RLC.B   4(R5)
                BIT.B   #(80H >> (58% 8)),(58/ 8)(R4);41
                RLC.B   5(R5)
                BIT.B   #(80H >> (50 % 8)),(50 / 8)(R4);42
                RLC.B   5(R5)
                BIT.B   #(80H >> (42 % 8)),(42 / 8)(R4);43
                RLC.B   5(R5)
                BIT.B   #(80H >> (34 % 8)),(34 / 8)(R4);44
                RLC.B   5(R5)
                BIT.B   #(80H >> (26 % 8)),(26 / 8)(R4);45
                RLC.B   5(R5)
                BIT.B   #(80H >> (18 % 8)),(18 / 8)(R4);46
                RLC.B   5(R5)
                BIT.B   #(80H >> (10 % 8)),(10 / 8)(R4);47
                RLC.B   5(R5)
                BIT.B   #(80H >> (2 % 8)),(2 / 8)(R4);48
                RLC.B   5(R5)
                BIT.B   #(80H >> (60 % 8)),(60 / 8)(R4);49
                RLC.B   6(R5)
                BIT.B   #(80H >> (52 % 8)),(52 / 8)(R4);50
                RLC.B   6(R5)
                BIT.B   #(80H >> (44 % 8)),(44 / 8)(R4);51
                RLC.B   6(R5)
                BIT.B   #(80H >> (36 % 8)),(36 / 8)(R4);52
                RLC.B   6(R5)
                BIT.B   #(80H >> (28 % 8)),(28 / 8)(R4);53
                RLC.B   6(R5)
                BIT.B   #(80H >> (20 % 8)),(20 / 8)(R4);54
                RLC.B   6(R5)
                BIT.B   #(80H >> (12 % 8)),(12 / 8)(R4);55
                RLC.B   6(R5)
                BIT.B   #(80H >> (4 % 8)),(4 / 8)(R4);56
                RLC.B   6(R5)
                BIT.B   #(80H >> (62 % 8)),(62 / 8)(R4);57
                RLC.B   7(R5)
                BIT.B   #(80H >> (54 % 8)),(54 / 8)(R4);58
                RLC.B   7(R5)
                BIT.B   #(80H >> (46 % 8)),(46 / 8)(R4);59
                RLC.B   7(R5)
                BIT.B   #(80H >> (38 % 8)),(38 / 8)(R4);60
                RLC.B   7(R5)
                BIT.B   #(80H >> (30 % 8)),(30 / 8)(R4);61
                RLC.B   7(R5)
                BIT.B   #(80H >> (22 % 8)),(22 / 8)(R4);62
                RLC.B   7(R5)
                BIT.B   #(80H >> (14 % 8)),(14 / 8)(R4);63
                RLC.B   7(R5)
                BIT.B   #(80H >> (6 % 8)),(6 / 8)(R4);64
                RLC.B   7(R5)
                RET
;================================================  
;功能:      IP逆置换
;名称:      DATA_IP_REVERSE
;输入:      r4 8字节(64bit) 
;输出:      r5 8字节(64bit) 
;中间       
;================================================ 
TEST_DATA_IP_REVERSE
                MOV     #IN_64BIT,R4
                MOV     #OUT_64BIT,R5
                
DATA_IP_REVERSE BIT.B   #(80H >> (39  % 8)),(39 / 8)(R4);1
                RLC.B   0(R5)
                BIT.B   #(80H >> (7 % 8)),(7  / 8)(R4);2
                RLC.B   0(R5)
                BIT.B   #(80H >> (47 % 8)),(47 / 8)(R4);3
                RLC.B   0(R5)
                BIT.B   #(80H >> (15 % 8)),(15 / 8)(R4);4
                RLC.B   0(R5)       
                BIT.B   #(80H >> (55 % 8)),(55 / 8)(R4);5
                RLC.B   0(R5)
                BIT.B   #(80H >> (23 % 8)),(23 / 8)(R4);6
                RLC.B   0(R5)
                BIT.B   #(80H >> (63% 8)),(63/ 8)(R4);7
                RLC.B   0(R5)
                BIT.B   #(80H >> (31% 8)),(31/ 8)(R4);8
                RLC.B   0(R5)
                BIT.B   #(80H >> (38 % 8)),(38 / 8)(R4);9
                RLC.B   1(R5)
                BIT.B   #(80H >> (6  % 8)),(6  / 8)(R4);10
                RLC.B   1(R5)
                BIT.B   #(80H >> (46 % 8)),(46 / 8)(R4);11
                RLC.B   1(R5)
                BIT.B   #(80H >> (14 % 8)),(14 / 8)(R4);12
                RLC.B   1(R5)
                BIT.B   #(80H >> (54 % 8)),(54 / 8)(R4);13
                RLC.B   1(R5)
                BIT.B   #(80H >> (22 % 8)),(22 / 8)(R4);14
                RLC.B   1(R5)
                BIT.B   #(80H >> (62 % 8)),(62 / 8)(R4);15
                RLC.B   1(R5)
                BIT.B   #(80H >> (30% 8)),(30/ 8)(R4);16
                RLC.B   1(R5)
                BIT.B   #(80H >> (37 % 8)),(37 / 8)(R4);17
                RLC.B   2(R5)
                BIT.B   #(80H >> (5  % 8)),(5  / 8)(R4);18
                RLC.B   2(R5)
                BIT.B   #(80H >> (45 % 8)),(45 / 8)(R4);19
                RLC.B   2(R5)
                BIT.B   #(80H >> (13 % 8)),(13 / 8)(R4);20
                RLC.B   2(R5)
                BIT.B   #(80H >> (53 % 8)),(53 / 8)(R4);21
                RLC.B   2(R5)
                BIT.B   #(80H >> (21 % 8)),(21 / 8)(R4);22
                RLC.B   2(R5)
                BIT.B   #(80H >> (61 % 8)),(61 / 8)(R4);23
                RLC.B   2(R5)
                BIT.B   #(80H >> (29% 8)),(29/ 8)(R4);24
                RLC.B   2(R5)
                BIT.B   #(80H >> (36 % 8)),(36 / 8)(R4);25
                RLC.B   3(R5)
                BIT.B   #(80H >> (4  % 8)),(4  / 8)(R4);26
                RLC.B   3(R5)
                BIT.B   #(80H >> (44 % 8)),(44 / 8)(R4);27
                RLC.B   3(R5)
                BIT.B   #(80H >> (12 % 8)),(12 / 8)(R4);28
                RLC.B   3(R5)
                BIT.B   #(80H >> (52 % 8)),(52 / 8)(R4);29
                RLC.B   3(R5)
                BIT.B   #(80H >> (20 % 8)),(20 / 8)(R4);30
                RLC.B   3(R5)
                BIT.B   #(80H >> (60 % 8)),(60 / 8)(R4);31
                RLC.B   3(R5)
                BIT.B   #(80H >> (28% 8)),(28/ 8)(R4);32
                RLC.B   3(R5)
                BIT.B   #(80H >> (35 % 8)),(35 / 8)(R4);33
                RLC.B   4(R5)
                BIT.B   #(80H >> (3  % 8)),(3  / 8)(R4);34
                RLC.B   4(R5)
                BIT.B   #(80H >> (43 % 8)),(43 / 8)(R4);35
                RLC.B   4(R5)
                BIT.B   #(80H >> (11 % 8)),(11 / 8)(R4);36
                RLC.B   4(R5)
                BIT.B   #(80H >> (51 % 8)),(51 / 8)(R4);37
                RLC.B   4(R5)
                BIT.B   #(80H >> (19 % 8)),(19 / 8)(R4);38
                RLC.B   4(R5)

⌨️ 快捷键说明

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