亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? desfor51.asm

?? 51平臺的標準DES算法,在ATMEL89C52上驗證通過,用keil51編譯
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
			MOV		BIT_01H,C
			MOV		C,ACC.3
			MOV		BIT_05H,C
			
			MOV		A,DES_D2				;47-28=19-->5	52-28=24-->0		
			MOV		C,ACC.5
			MOV		BIT_00H,C
			MOV		C,ACC.0
			MOV		BIT_03H,C
			
			MOV		A,DES_D3				;55-28=27-->5
			MOV		C,ACC.5
			MOV		BIT_04H,C
			
			MOV		DES_Ki2,FLAG_TEMP
			;16 17 18 19 20 21==>16 21 17 18 19 20
			;                     5  4  3  2  1  0
			MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ln1				;16-->0
			MOV		C,ACC.0
			MOV		BIT_05H,C
			
			MOV		A,DES_Ln2				;21 17 18 19 20-->3 7 6 5 4
			MOV		C,ACC.3
			MOV		BIT_04H,C
			ANL		A,#0F0H
			SWAP	A
			ORL		A,FLAG_TEMP
			
			XRL		A,DES_Ki2				;對應位模2加,即異或
			
			ANL		A,#3FH
			MOV		DPTR,#HDESSI4			;由表S4查詢得Ki2高4位
			MOVC	A,@A+DPTR
			SWAP	A
			MOV		DES_Ki2,A
;-------------------------------------------------------------------------
;功能:得6bit,第3字節DES_Ki2 
;-------------------------------------------------------------------------				
			;30 40 51 45 33 48==>30 48 40 51 45 33 
			;                     5  4  3  2  1  0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_D0				;30-28=2-->6 33-28=5-->3
			MOV		C,ACC.6
			MOV		BIT_05H,C
			MOV		C,ACC.3
			MOV		BIT_00H,C
			
			MOV		A,DES_D1				;40-28=12-->4			
			MOV		C,ACC.4
			MOV		BIT_03H,C
			
			MOV		A,DES_D2				;48-28=20-->4 51-28=23-->1 45-28=17-->7
			MOV		C,ACC.4
			MOV		BIT_04H,C
			MOV		C,ACC.1
			MOV		BIT_02H,C
			MOV		C,ACC.7
			MOV		BIT_01H,C
			
				
			MOV		R7,FLAG_TEMP
			;20 21 22 23 24 25==>20 25 21 22 23 24
			;                     5  4  3  2  1  0
			MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ln3				;25-->7
			MOV		C,ACC.7
			MOV		BIT_04H,C
			
			MOV		A,DES_Ln2				;20 21 22 23 24-->4 3 2 1 0
			MOV		C,ACC.4
			MOV		BIT_05H,C
			ANL		A,#0FH
			ORL		A,FLAG_TEMP
			
			XRL		A,R7				;對應位模2加,即異或
			
			ANL		A,#3FH
			MOV		DPTR,#HDESSI5			;由表S5查詢得Ki2低4位
			MOVC	A,@A+DPTR
			ORL		DES_Ki2,A
;-------------------------------------------------------------------------
;功能:得6bit,第4字節高4位 
;-------------------------------------------------------------------------				
			;44 49 39 56 34 53==>44 53 49 39 56 34
			;                     5  4  3  2  1  0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_D0			;34-28=6-->2 
			MOV		C,ACC.2
			MOV		BIT_00H,C
			
			MOV		A,DES_D1			;44-28=16-->0  39-28=11-->5
			MOV		C,ACC.0
			MOV		BIT_05H,C
			MOV		C,ACC.5
			MOV		BIT_02H,C
			
			MOV		A,DES_D2			;49-28=21-->3
			MOV		C,ACC.3
			MOV		BIT_03H,C  
			
			MOV		A,DES_D3			;53-28=25-->7  56-28=28-->4
			MOV		C,ACC.7
			MOV		BIT_04H,C
			MOV		C,ACC.4
			MOV		BIT_01H,C
			
			MOV		DES_Ki3,FLAG_TEMP
			;24 25 26 27 28 29==>24 29 25 26 27 28
			;                     5  4  3  2  1  0
			MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ln2			;24-->0
			MOV		C,ACC.0
			MOV		BIT_05H,C
			
			MOV		A,DES_Ln3			;29 25 26 27 28-->3 7 6 5 4
			MOV		C,ACC.3
			MOV		BIT_04H,C
			ANL		A,#0F0H
			SWAP	A
			ORL		A,FLAG_TEMP
			
			XRL		A,DES_Ki3			;對應位模2加,即異或
			
			ANL		A,#3FH
			MOV		DPTR,#HDESSI6		;由表S6查詢得Ki3高4位
			MOVC	A,@A+DPTR
			SWAP	A
			MOV		DES_Ki3,A
;-------------------------------------------------------------------------
;功能:得6bit,第4字節 DES_Ki3
;-------------------------------------------------------------------------				
			;46 42 50 36 29 32==>46 32 42 50 36 29
			;                     5  4  3  2  1  0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_D0			;29-28=1-->7 32-28=4-->4 36-28=8-->0
			MOV		C,ACC.7
			MOV		BIT_00H,C
			MOV		C,ACC.4
			MOV		BIT_04H,C					
			MOV		C,ACC.0
			MOV		BIT_01H,C
			
			MOV		A,DES_D1			;42-28=14-->2
			MOV		C,ACC.2
			MOV		BIT_03H,C
			
			MOV		A,DES_D2			;50-28=22-->2 46-28=18-->6
			MOV		C,ACC.2
			MOV		BIT_02H,C
			MOV		C,ACC.6
			MOV		BIT_05H,C
			
			MOV		R7,FLAG_TEMP
			;28 29 30 31 32 1==>28 1 29 30 31 32 
			;                    5 4  3  2  1  0
			MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ln0			;1-->7
			MOV		C,ACC.7
			MOV		BIT_04H,C
			
			MOV		A,DES_Ln3			;28-->4
			MOV		C,ACC.4
			MOV		BIT_05H,C
			
			MOV		A,DES_Ln3			;29 30 31 32-->3 2 1 0
			ANL		A,#0FH
			ORL		A,FLAG_TEMP
			
			XRL		A,R7			;對應位模2加,即異或	
			
			ANL		A,#3FH
			MOV		DPTR,#HDESSI7		;由表S7查詢得Ki3低4位
			MOVC	A,@A+DPTR
			ORL		DES_Ki3,A
;-------------------------------------------------------------------------
;**********f(Rn-1,Kn).32bit置換,并得Rn=Ln-1 xor f(Rn-1,Kn)**************
;出口:DES_R0~3
;-------------------------------------------------------------------------
;功能:得Rn0
;-------------------------------------------------------------------------
			;16 7 20 21 29 12 28 17
			; 7 6  5  4  3  2  1  0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ki1			;16-->0 12-->4
			MOV		C,ACC.0
			MOV		BIT_07H,C
			MOV		C,ACC.4
			MOV		BIT_02H,C
			
			MOV		A,DES_Ki0			;7-->1
			MOV		C,ACC.1
			MOV		BIT_06H,C
			
			MOV		A,DES_Ki2			;17-->7 20-->4 21-->3
			MOV		C,ACC.7
			MOV		BIT_00H,C
			MOV		C,ACC.4
			MOV		BIT_05H,C
			MOV		C,ACC.3
			MOV		BIT_04H,C
			
			MOV		A,DES_Ki3			;28-->4 29-->3
			MOV		C,ACC.4
			MOV		BIT_01H,C
			MOV		C,ACC.3
			MOV		BIT_03H,C
			MOV		A,FLAG_TEMP
			
			XRL		A,DES_L0
			MOV		DES_R0,A
;-------------------------------------------------------------------------
;功能:得Rn1
;-------------------------------------------------------------------------			
			;1 15 23 26 5 18 31 10
			;7  6  5  4 3  2  1  0		
			;MOV		FLAG_TEMP,#00H	
			MOV		A,DES_Ki0			;1 5-->7 3
			MOV		C,ACC.7
			MOV		BIT_07H,C
			MOV		C,ACC.3
			MOV		BIT_03H,C
			
			MOV		A,DES_Ki1			;10 15-->6 1
			MOV		C,ACC.6
			MOV		BIT_00H,C
			MOV		C,ACC.1
			MOV		BIT_06H,C
			
			MOV		A,DES_Ki2			;23 18-->1 6
			MOV		C,ACC.1
			MOV		BIT_05H,C
			MOV		C,ACC.6
			MOV		BIT_02H,C
			
			MOV		A,DES_Ki3			;26 31-->6 1
			MOV		C,ACC.6
			MOV		BIT_04H,C
			MOV		C,ACC.1
			MOV		BIT_01H,C
			
			MOV		A,FLAG_TEMP
			XRL		A,DES_L1
			MOV		DES_R1,A
;-------------------------------------------------------------------------
;功能:得Rn2
;-------------------------------------------------------------------------			
			;2 8 24 14 32 27 3 9
			;7 6  5  4  3  2 1 0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ki0			;2 3 8-->6 5 0
			MOV		C,ACC.6
			MOV		BIT_07H,C
			MOV		C,ACC.5
			MOV		BIT_01H,C
			MOV		C,ACC.0
			MOV		BIT_06H,C
			
			MOV		A,DES_Ki1			;14-->2 9-->7
			MOV		C,ACC.2
			MOV		BIT_04H,C	
			MOV		C,ACC.7
			MOV		BIT_00H,C			
			
			MOV		A,DES_Ki2			;24-->0
			MOV		C,ACC.0
			MOV		BIT_05H,C
			
			MOV		A,DES_Ki3			;27 32-->5 0
			MOV		C,ACC.5
			MOV		BIT_02H,C
			MOV		C,ACC.0
			MOV		BIT_03H,C
			
			MOV		A,FLAG_TEMP
			XRL		A,DES_L2
			MOV		DES_R2,A
;-------------------------------------------------------------------------
;功能:得Rn3
;-------------------------------------------------------------------------			
			;19 13 30 6 22 11 4 25
			; 7  6  5 4  3  2 1  0
			;MOV		FLAG_TEMP,#00H
			MOV		A,DES_Ki0			;4 6-->4 2
			MOV		C,ACC.4
			MOV		BIT_01H,C
			MOV		C,ACC.2
			MOV		BIT_04H,C
			
			MOV		A,DES_Ki1			;11 13-->5 3
			MOV		C,ACC.5
			MOV		BIT_02H,C	
			MOV		C,ACC.3
			MOV		BIT_06H,C		
			
			MOV		A,DES_Ki2			;22-->2 19-->5
			MOV		C,ACC.2
			MOV		BIT_03H,C
			MOV		C,ACC.5
			MOV		BIT_07H,C
			
			MOV		A,DES_Ki3			;25 30-->7 2
			MOV		C,ACC.7
			MOV		BIT_00H,C
			MOV		C,ACC.2
			MOV		BIT_05H,C
			
			MOV		A,FLAG_TEMP
			XRL		A,DES_L3
			MOV		DES_R3,A
;-------------------------------------------------------------------------
			MOV		DES_L0,DES_Ln0	;DES_L0~3存儲Ln-1
			MOV		DES_L1,DES_Ln1
			MOV		DES_L2,DES_Ln2
			MOV		DES_L3,DES_Ln3
			
			DEC		R5
			MOV		A,R5
			JZ		DES_GET_R16			
			AJMP	DES_LOOP16		;16次未到,則繼續
;-------------------------------------------------------------------------	
;功能:得到R16-->DES_Rn0~3
;出口:DES_Rn0~3
;-------------------------------------------------------------------------
DES_GET_R16:MOV		DES_Rn0,DES_R0	;16次到,得R16
			MOV		DES_Rn1,DES_R1
			MOV		DES_Rn2,DES_R2
			MOV		DES_Rn3,DES_R3
;-------------------------------------------------------------------------
;功能:R16L16初始置換的逆作用
;出口:#MIWEN 8字節(Ln0~3,Rn0~3)
;-------------------------------------------------------------------------
			MOV		DES_L0,DES_Ln0		;調整字節位置,以便循環操作
			MOV		DES_L1,DES_Rn0
			MOV		DES_L2,DES_Ln1
			MOV		DES_L3,DES_Rn1
			MOV		DES_R0,DES_Ln2
			MOV		DES_R1,DES_Rn2
			MOV		DES_R2,DES_Ln3
			MOV		DES_R3,DES_Rn3
			
			MOV		R1,#DES_TEMP0		;取得暫存首地址
			MOV		R7,#08H				;8個字節的8次循環
			
DES_GET_LR16A:
			MOV		R2,#00H				;位暫存清0		
			MOV		R6,#08H				;1個字節的8次循環
			MOV		R0,#MINGWEN			;取得首地址
			
DES_GET_LR16B:
			MOV		A,@R0			
			MOV		C,ACC.0				;取得1個字節的1位,acc.7的逆取acc.0
			MOV		A,R2
			RLC		A					;第1位為最高位
			MOV		R2,A
			MOV		A,@R0
			RR		A					;該數據移位,準備取下一位
			MOV		@R0,A
			INC		R0
			DJNZ	R6,DES_GET_LR16B	;1個字節ok?
			MOV		A,R2
			MOV		@R1,A				;ok則存儲之
			INC		R1
			DJNZ	R7,DES_GET_LR16A	;8個字節都初始置換完畢?		
;-------------------------------------------------------------------------
;功能: DES_Rn0~3 異或 DES_Ln0~3
;出口:DES_Ln0~3
;-------------------------------------------------------------------------			
;Kyle delete this section at 2006-11-19
;			MOV		A,DES_Rn0
;			XRL		DES_Ln0,A
;			
;			MOV		A,DES_Rn1
;			XRL		DES_Ln1,A
;			
;			MOV		A,DES_Rn2
;			XRL		DES_Ln2,A
;			
;			MOV		A,DES_Rn3
;			XRL		DES_Ln3,A			
			RET
;--------------------------------------------------------------------------
;***************************DES 加密算法結束*******************************			
;==========================================================================
;功能:4字節HEX-->4字節BCD,采用移位帶進位自加1的算法;
;名稱:HEX4_BCD4()
;入口:(高)DES_TEMP0,DES_TEMP1,DES_TEMP2,DES_TEMP3
;出口:(高)BCD_BYTE3,BCD_BYTE2,BCD_BYTE1,BCD_BYTE0
;--------------------------------------------------------------------------
HEX4_BCD4:  CLR		A
			MOV		BCD_BYTE0,A
			MOV		BCD_BYTE1,A
			MOV		BCD_BYTE2,A
			MOV		BCD_BYTE3,A
			
			MOV		R7,#32
HEX4_BCD4_A:MOV		R0,#DES_TEMP0+3
			MOV		R6,#04
			CLR		C
HEX4_BCD4_B:MOV		A,@R0
			RLC		A
			MOV		@R0,A
			DEC		R0
			DJNZ	R6,HEX4_BCD4_B
			
			MOV		R6,#04
			MOV		R1,#BCD_BYTE0
HEX4_BCD4_C:MOV		A,@R1
			ADDC	A,@R1
			DA		A
			MOV		@R1,A
			DEC		R1
			DJNZ	R6,HEX4_BCD4_C									
			DJNZ	R7,HEX4_BCD4_A
			RET
;==========================================================================
;TEST Des_Arithmetic
;--------------------------------------------------------------------------
MAIN:		CLR		EA
			MOV		SP,#60H
			NOP
			MOV		48H,#5bH			;64bits密鑰
			MOV		49H,#79H
			MOV		4AH,#6cH
			MOV		4BH,#65H
			MOV		4CH,#32H
			MOV		4DH,#51H
			MOV		4EH,#69H
			MOV		4FH,#6EH

			MOV		38H,#0a7H			;64bits明文
			MOV		39H,#97H
			MOV		3AH,#09H
			MOV		3BH,#6aH
			MOV		3CH,#0a5H
			MOV		3DH,#6aH
			MOV		3EH,#0b3H
			MOV		3FH,#3eH
			ACALL	Des_Arithmetic		;A6 0E A8 32 58 CC E8 ED=>LR異或 FEC240DFh  
			NOP
			ACALL	HEX4_BCD4			;74143455
			NOP
			SJMP	$
			END			
	
      

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99九九99精品| 亚洲人xxxx| 国产成人精品免费在线| 26uuu欧美| 成人一级黄色片| 亚洲欧美偷拍卡通变态| 欧洲另类一二三四区| 亚洲国产精品久久久男人的天堂| 91久久免费观看| 亚洲不卡一区二区三区| 日韩精品在线网站| 国产精品一级黄| 亚洲免费视频成人| 在线不卡欧美精品一区二区三区| 免费的成人av| 国产精品成人免费在线| 欧美日韩一区二区在线观看视频| 蜜臀精品一区二区三区在线观看| 精品福利视频一区二区三区| 成人激情视频网站| 亚洲午夜在线电影| 精品国产乱码久久久久久蜜臀 | 欧美视频你懂的| 蜜桃av一区二区三区电影| 欧美经典三级视频一区二区三区| 91麻豆蜜桃一区二区三区| 五月天一区二区三区| 久久综合网色—综合色88| 97久久精品人人做人人爽| 日韩**一区毛片| 国产精品蜜臀av| 欧美精选在线播放| 成人黄色网址在线观看| 午夜在线成人av| 国产欧美日韩另类视频免费观看| 欧美性xxxxx极品少妇| 国内成+人亚洲+欧美+综合在线| 国产精品乱人伦| 欧美成人官网二区| 色www精品视频在线观看| 国内精品免费在线观看| 天天av天天翘天天综合网 | 美女视频网站久久| 亚洲色欲色欲www| 精品久久久久久久人人人人传媒| 91在线看国产| 国产经典欧美精品| 男人的天堂亚洲一区| 亚洲精品国产一区二区三区四区在线| 日韩亚洲欧美成人一区| 欧美在线影院一区二区| 国产成人免费视频网站高清观看视频| 丝袜诱惑亚洲看片| 亚洲乱码国产乱码精品精小说 | 天堂成人免费av电影一区| 国产精品国产自产拍在线| 日韩美女在线视频| 欧美精品欧美精品系列| 色悠悠亚洲一区二区| 懂色av一区二区三区免费观看| 日本欧美大码aⅴ在线播放| 一区二区三区色| 中文字幕在线观看一区| 久久免费美女视频| 欧美变态凌虐bdsm| 91精品国产综合久久久久久久 | 久久9热精品视频| 肉丝袜脚交视频一区二区| 成人免费在线播放视频| 国产女人水真多18毛片18精品视频| 日韩无一区二区| 日韩一区二区视频在线观看| 欧美日韩卡一卡二| 欧美日韩一区二区三区在线看| 色av一区二区| 国产人成一区二区三区影院| 日韩黄色片在线观看| 99精品欧美一区二区三区综合在线| 国产精品久久久久久久久快鸭| 成人av在线影院| 久草这里只有精品视频| 亚洲欧洲一区二区在线播放| 欧美一级欧美三级| 日韩一区二区三区四区 | a美女胸又www黄视频久久| 国内精品伊人久久久久av一坑| 老司机精品视频线观看86| 久久草av在线| 国产成人av电影免费在线观看| 国产成人免费av在线| 成人av综合一区| 一本大道久久a久久综合婷婷| 一本久久精品一区二区| 欧美三级日韩在线| 在线不卡一区二区| 中文字幕在线观看一区| 国产三区在线成人av| 国产午夜精品在线观看| 中文字幕一区二区在线观看| 亚洲另类在线视频| 午夜a成v人精品| 久久aⅴ国产欧美74aaa| 成人污视频在线观看| 一本色道久久综合精品竹菊| 欧美日韩成人综合在线一区二区| 91精品国产综合久久香蕉的特点 | 欧美日韩精品一区视频| 欧美一级生活片| 国产蜜臀av在线一区二区三区| 亚洲婷婷在线视频| 日韩综合一区二区| 国产精品一区二区你懂的| 91视频免费观看| 欧美成人精品二区三区99精品| 中文字幕一区视频| 五月激情丁香一区二区三区| 国产精品白丝jk黑袜喷水| 在线视频国内自拍亚洲视频| 精品日韩99亚洲| 一区二区三区欧美激情| 精品一区二区影视| 91蝌蚪porny九色| 欧美va亚洲va国产综合| 亚洲欧洲av另类| 久久精品国产一区二区三区免费看| 懂色av中文一区二区三区| 欧美日韩国产123区| 国产精品麻豆视频| 日本欧美肥老太交大片| 色婷婷综合中文久久一本| 精品国产免费视频| 亚洲成人动漫一区| 99精品视频在线观看免费| 日韩精品一区二区三区视频| 亚洲男人的天堂在线观看| 国产麻豆精品在线观看| 5566中文字幕一区二区电影| 国产精品理伦片| 极品少妇一区二区| 欧美三级韩国三级日本一级| 亚洲天堂精品在线观看| 国产精品自拍av| 91精品国产免费| 亚洲麻豆国产自偷在线| 国产91精品一区二区麻豆网站| 91精品一区二区三区在线观看| ㊣最新国产の精品bt伙计久久| 国产在线不卡一区| 欧美一区在线视频| 亚洲国产成人av好男人在线观看| 成人免费毛片片v| 久久毛片高清国产| 久久国产剧场电影| 日韩一区和二区| 午夜免费欧美电影| 欧美日韩五月天| 亚洲成人免费电影| 欧美日韩在线一区二区| 亚洲精品国产无天堂网2021| 不卡视频在线观看| 国产精品私人影院| 国产白丝精品91爽爽久久| 精品国产免费视频| 精品一区二区三区在线视频| 日韩视频永久免费| 精品综合久久久久久8888| 欧美一个色资源| 久久69国产一区二区蜜臀| 欧美一区二区啪啪| 久久精品国产成人一区二区三区| 91精品久久久久久久久99蜜臂| 亚洲成人av电影| 欧美一区二区三区日韩视频| 日韩电影一二三区| 日韩你懂的电影在线观看| 狠狠色丁香久久婷婷综| 久久久不卡影院| 成人黄色网址在线观看| 亚洲欧美日韩一区二区三区在线观看| 99久久综合色| 一区二区三区蜜桃网| 欧美午夜片在线观看| 免费成人在线观看视频| 久久先锋资源网| 波多野结衣精品在线| 亚洲已满18点击进入久久| 欧美精品乱人伦久久久久久| 激情国产一区二区| 国产精品电影院| 欧美亚洲综合一区| 日本不卡一区二区三区| 精品99久久久久久| 色综合视频一区二区三区高清| 亚洲高清视频在线| 欧美tickling挠脚心丨vk| 成人精品亚洲人成在线| 亚洲国产一区二区三区青草影视| 91精品国产色综合久久| 成人av在线电影| 丝袜国产日韩另类美女|