📄 des_430.s43
字号:
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 + -