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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? md53.asm

?? 雜湊法(Hashing)的搜尋與一般的搜尋法(searching)是不一樣的。在雜湊法中
?? ASM
字號(hào):
; This code performs the core operation that computes the MD5 
; message digest of a bunch of longwords.  MD5 is defined over
; longwords; when it must be performed over smaller units (bytes
; or bits), they are packed into longwords little-endian.
; The byteReverse function swaps the bytes around in a buffer of
; longwords for this purpose.

; You start with a 4-long buffer initialized to the magic values
; $67452301, $efcdab89, $98badcfe, $10325476
; And then, for each 16-longword chunk of input, the Transform()
; function is called, which alters the 4-longword buffer in-place
; based on the next 16 longwords of input.
; 
; At the end of the input, it is padded with a 1 bit, and then as
; many 0 bits as are needed to come 2 longwords short of a full
; 16-longword chunk.  The last two longwords are a 64-bit count of the
; number of bits in the input, exclusive of padding, least signficant
; longword first.
;
; After that trailer has been fed through Transform(), the contents
; of the buffer are the MD5 checksum.  If they must be expressed as bytes,
; they should be presented in little-endian order.

; Byte-swap a buffer full of longs

	xdef	_byteReverse
_byteReverse:
; args: buf, longs
	move.l	4(sp),a0	; Buf
	move.w	10(sp),d0	; Longs
	subq.w	#1,d0		; We assume this is never 0 to start with
revloop:
	move.l	(a0),d1
	ror.w	#8,d1
	swap	d1
	ror.w	#8,d1
	move.l	d1,(a0)+

	dbra	d0,revloop
	
	rts

; Macros needed by the MD5 transformation code

; rotl	r1,bits - rotate register r1 left the given number of bits
rotl	macro	; args: reg, bits
    ifeq \2	; = 0
	mexit
    endc
    ifle \2-8	; <= 8
	rol.l	#\2,\1
	mexit
    endc
    ifge \2-24	; >= 24
	ror.l	#32-\2,\1
	mexit
    endc
	swap	\1
    iflt \2-16	; < 16
	ror.l	#16-\2,\1
	mexit
    endc
    ifgt \2-16	; > 16
	rol.l	#\2-16,\1
	mexit
    endc
	endm
; Cycles taken:
;  0 -  0   4 - 16   8 - 24  12 - 20  16 -  4  20 - 20  24 - 24  28 - 16
;  1 - 10   5 - 18   9 - 26  13 - 18  17 - 14  21 - 22  25 - 22  29 - 14
;  2 - 12   6 - 20  10 - 24  14 - 16  18 - 16  22 - 24  26 - 20  30 - 12
;  3 - 14   7 - 22  11 - 22  15 - 14  19 - 18  23 - 26  27 - 18  31 - 10
; MD5 uses 4 rotations each in the amounts 4, 5, 6, 7, 9, 10, 11, 12,
; 14, 15, 16, 17, 20, 21, 22, 23.  The total timing for each of
; those is 16+18+20+22 + 26+24+22+20 + 16+14+4+14 + 20+22+24+26 cycles,
; 4*19 + 4*23 + 4*12 + 4*23 = 4 * 77 = 308 cycles, or 1232 for the 4.

; Macros to compute the four boolean functions used in MD5
; Each one takes three arguments (x, y, z) and returns a result in d0.

f1	macro	; d0 = (x & y) | (~x & z)
	move.l	\3,d0
	eor.l	\2,d0
	and.l	\1,d0
	eor.l	\3,d0
	endm	; 4+8+8+8 = 28 cycles

f2	macro	; d0 = (x & z) | (x & ~z)
	f1 \3,\1,\2
	endm	; 28 cycles

f3	macro	; d0 = x ^ y ^ z
	move.l	\1,d0
	eor.l	\2,d0
	eor.l	\3,d0
	endm	; 4+8+8 = 20 cycles

f4	macro	; d0 = y ^ (x | ~z)
	move.l	\3,d0
	not.l	d0
	or.l	\1,d0
	eor.l	\2,d0
	endm	; 4+6+8+8 = 26 cycles

; The total time for these steps is 16 times (28+28+20+26) = 16 * 102 = 1632
; cycles.

; The basic step in the MD5 computation
; Note that the current code does not use the constant argument,
; getitng it from a table instead.  The constants have been left in
; the source because it's a real pain in the ass to type them all
; in correctly if changing this macro ever becomes a good idea.

md5step	macro	; args: f, w, x, y, z, const, input, shift
	\1	\3,\4,\5	; f(x, y, z) in d0
	add.l	(a0)+,d0
	add.l	\7,d0
	add.l	d0,\2	; w += f(x, y, z) + const + input
	rotl	\2,\8	; w = ROTL(w, shift)
	add.l	\3,\2	; w += x
	endm	; f + 14 + 6 + data + 8 + rot + 8 = 36 + f + data + rot cycles
; In most cases, the data cost is 12 cycles (long with 16-bit offset);
; values will be subtracted below where it's less.
; So that's a total of 48 cycles, times 64 is 3072 cycles.

; Okay, the actual code (finally):

	xdef	_Transform2
_Transform2:
; args: uint32 buf[4], uint32 in[16]
	move.l	4(sp),a0	; buf	 16
	move.l	8(sp),a1	; in	 16  32
	movem.l	d2-d4,-(sp)	;	 32  64

	movem.l	(a0),d1-d4	;	 44 108
	lea	md5table(pc),a0	;	  8 116

	md5step	f1,d1,d2,d3,d4,$d76aa478,(a1)+,7
	md5step	f1,d4,d1,d2,d3,$e8c7b756,(a1)+,12
	md5step	f1,d3,d4,d1,d2,$242070db,(a1)+,17
	md5step	f1,d2,d3,d4,d1,$c1bdceee,(a1)+,22
	md5step	f1,d1,d2,d3,d4,$f57c0faf,(a1)+,7
	md5step	f1,d4,d1,d2,d3,$4787c62a,(a1)+,12
	md5step	f1,d3,d4,d1,d2,$a8304613,(a1)+,17
	md5step	f1,d2,d3,d4,d1,$fd469501,(a1)+,22
	md5step	f1,d1,d2,d3,d4,$698098d8,(a1)+,7
	md5step	f1,d4,d1,d2,d3,$8b44f7af,(a1)+,12
	md5step	f1,d3,d4,d1,d2,$ffff5bb1,(a1)+,17
	md5step	f1,d2,d3,d4,d1,$895cd7be,(a1)+,22
	md5step	f1,d1,d2,d3,d4,$6b901122,(a1)+,7
	md5step	f1,d4,d1,d2,d3,$fd987193,(a1)+,12
	md5step	f1,d3,d4,d1,d2,$a679438e,(a1)+,17
	md5step	f1,d2,d3,d4,d1,$49b40821,(a1),22
; Subtract 4*16 = 64 cycles for no offsets

	md5step	f2,d1,d2,d3,d4,$f61e2562,4*1-60(a1),5
	md5step	f2,d4,d1,d2,d3,$c040b340,4*6-60(a1),9
	md5step	f2,d3,d4,d1,d2,$265e5a51,4*11-60(a1),14
	md5step	f2,d2,d3,d4,d1,$e9b6c7aa,4*0-60(a1),20
	md5step	f2,d1,d2,d3,d4,$d62f105d,4*5-60(a1),5
	md5step	f2,d4,d1,d2,d3,$02441453,4*10-60(a1),9
	md5step	f2,d3,d4,d1,d2,$d8a1e681,(a1),14
	md5step	f2,d2,d3,d4,d1,$e7d3fbc8,4*4-60(a1),20
	md5step	f2,d1,d2,d3,d4,$21e1cde6,4*9-60(a1),5
	md5step	f2,d4,d1,d2,d3,$c33707d6,-(a1),9
	md5step	f2,d3,d4,d1,d2,$f4d50d87,4*3-56(a1),14
	md5step	f2,d2,d3,d4,d1,$455a14ed,4*8-56(a1),20
	md5step	f2,d1,d2,d3,d4,$a9e3e905,-(a1),5
	md5step	f2,d4,d1,d2,d3,$fcefa3f8,4*2-52(a1),9
	md5step	f2,d3,d4,d1,d2,$676f02d9,4*7-52(a1),14
	md5step	f2,d2,d3,d4,d1,$8d2a4c8a,-(a1),20
; Subtract 4+6 = 10 cycles for no offsets

	md5step	f3,d1,d2,d3,d4,$fffa3942,4*5-48(a1),4
	md5step	f3,d4,d1,d2,d3,$8771f681,4*8-48(a1),11
	md5step	f3,d3,d4,d1,d2,$6d9d6122,-(a1),16
	md5step	f3,d2,d3,d4,d1,$fde5380c,4*14-44(a1),23
	md5step	f3,d1,d2,d3,d4,$a4beea44,4*1-44(a1),4
	md5step	f3,d4,d1,d2,d3,$4bdecfa9,4*4-44(a1),11
	md5step	f3,d3,d4,d1,d2,$f6bb4b60,4*7-44(a1),16
	md5step	f3,d2,d3,d4,d1,$bebfbc70,-(a1),23
	md5step	f3,d1,d2,d3,d4,$289b7ec6,4*13-40(a1),4
	md5step	f3,d4,d1,d2,d3,$eaa127fa,4*0-40(a1),11
	md5step	f3,d3,d4,d1,d2,$d4ef3085,4*3-40(a1),16
	md5step	f3,d2,d3,d4,d1,$04881d05,4*6-40(a1),23
	md5step	f3,d1,d2,d3,d4,$d9d4d039,4*9-40(a1),4
	md5step	f3,d4,d1,d2,d3,$e6db99e5,4*12-40(a1),11
	md5step	f3,d3,d4,d1,d2,$1fa27cf8,4*15-40(a1),16
	md5step	f3,d2,d3,d4,d1,$c4ac5665,4*2-40(a1),23
; subtract 4 cycles for no offsets

	md5step	f4,d1,d2,d3,d4,$f4292244,4*0-40(a1),6
	md5step	f4,d4,d1,d2,d3,$432aff97,4*7-40(a1),10
	md5step	f4,d3,d4,d1,d2,$ab9423a7,4*14-40(a1),15
	md5step	f4,d2,d3,d4,d1,$fc93a039,4*5-40(a1),21
	md5step	f4,d1,d2,d3,d4,$655b59c3,4*12-40(a1),6
	md5step	f4,d4,d1,d2,d3,$8f0ccc92,4*3-40(a1),10
	md5step	f4,d3,d4,d1,d2,$ffeff47d,(a1)+,15
	md5step	f4,d2,d3,d4,d1,$85845dd1,4*1-44(a1),21
	md5step	f4,d1,d2,d3,d4,$6fa87e4f,4*8-44(a1),6
	md5step	f4,d4,d1,d2,d3,$fe2ce6e0,4*15-44(a1),10
	md5step	f4,d3,d4,d1,d2,$a3014314,4*6-44(a1),15
	md5step	f4,d2,d3,d4,d1,$4e0811a1,4*13-44(a1),21
	md5step	f4,d1,d2,d3,d4,$f7537e82,4*4-44(a1),6
	md5step	f4,d4,d1,d2,d3,$bd3af235,(a1),10
	md5step	f4,d3,d4,d1,d2,$2ad7d2bb,4*2-44(a1),15
	md5step	f4,d2,d3,d4,d1,$eb86d391,4*9-44(a1),21
; Subtract 8 cycles for no offsets

				;	    116
	move.l	16(sp),a0	;	 16 132
	add.l	d1,(a0)+	;	 20 152
	add.l	d2,(a0)+	;	 20 172
	add.l	d3,(a0)+	;	 20 192
	add.l	d4,(a0)+	;	 20 212

	movem.l	(sp)+,d2-d4	;	 36 248
	rts			;	 16 264

; So, that's a total of 86 cycles subtracted for no offets, from
; 264 + 1232 + 1632 + 3072 = 6200 cycles.  The final tally is
; thus 6114 cycles.

; A table of the Mysterious Constants used by the MD5 computation.
md5table:
	dc.l $d76aa478,$e8c7b756,$242070db,$c1bdceee
	dc.l $f57c0faf,$4787c62a,$a8304613,$fd469501
	dc.l $698098d8,$8b44f7af,$ffff5bb1,$895cd7be
	dc.l $6b901122,$fd987193,$a679438e,$49b40821

	dc.l $f61e2562,$c040b340,$265e5a51,$e9b6c7aa
	dc.l $d62f105d,$02441453,$d8a1e681,$e7d3fbc8
	dc.l $21e1cde6,$c33707d6,$f4d50d87,$455a14ed
	dc.l $a9e3e905,$fcefa3f8,$676f02d9,$8d2a4c8a

	dc.l $fffa3942,$8771f681,$6d9d6122,$fde5380c
	dc.l $a4beea44,$4bdecfa9,$f6bb4b60,$bebfbc70
	dc.l $289b7ec6,$eaa127fa,$d4ef3085,$04881d05
	dc.l $d9d4d039,$e6db99e5,$1fa27cf8,$c4ac5665

	dc.l $f4292244,$432aff97,$ab9423a7,$fc93a039
	dc.l $655b59c3,$8f0ccc92,$ffeff47d,$85845dd1
	dc.l $6fa87e4f,$fe2ce6e0,$a3014314,$4e0811a1
	dc.l $f7537e82,$bd3af235,$2ad7d2bb,$eb86d391

	end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲综合色| 精品亚洲欧美一区| 亚洲日本欧美天堂| 中文字幕亚洲不卡| 国产精品久线在线观看| 亚洲国产精品传媒在线观看| 久久网这里都是精品| 久久久一区二区三区捆绑**| 久久久亚洲高清| 亚洲国产精品成人综合| 亚洲欧洲精品成人久久奇米网| 午夜精品福利一区二区蜜股av| 制服丝袜在线91| 91精品国产福利在线观看 | 麻豆成人免费电影| 日本女优在线视频一区二区| 日韩av一级电影| 精彩视频一区二区三区| 国产乱码精品一区二区三区忘忧草 | 欧洲亚洲精品在线| 欧美在线播放高清精品| 欧美蜜桃一区二区三区| 精品久久久久久综合日本欧美| av资源网一区| 色综合天天综合网天天狠天天 | 久久电影网站中文字幕| 蜜臀久久久久久久| 国产一区二区三区久久久| 懂色av噜噜一区二区三区av| av高清不卡在线| 欧美亚州韩日在线看免费版国语版| 国产麻豆精品一区二区| 成人精品gif动图一区| 一本一道综合狠狠老| 91高清视频免费看| 日韩欧美一区电影| 国产日韩精品一区二区三区| 亚洲免费在线播放| 日本亚洲免费观看| 成人一区二区在线观看| 欧美亚洲日本一区| 精品福利在线导航| 亚洲欧美日韩国产成人精品影院| 国产欧美一区在线| 亚洲视频 欧洲视频| 日韩在线a电影| 国产v日产∨综合v精品视频| 欧美在线短视频| 久久免费午夜影院| 亚洲成人三级小说| 国产成人综合网| 欧美日韩免费电影| 国产日产欧美一区二区三区| 亚洲国产精品久久不卡毛片| 国产自产v一区二区三区c| 91福利视频在线| 精品88久久久久88久久久| 一区二区三区精密机械公司| 国产一区二区在线观看视频| 欧美婷婷六月丁香综合色| 久久精品夜色噜噜亚洲aⅴ| 亚洲国产精品久久久久秋霞影院| 亚洲午夜久久久久久久久电影网| 一区二区不卡在线播放| 国产一区欧美二区| 欧美日韩不卡一区二区| 国产精品久久久久久久久久免费看 | 亚洲一区二区三区爽爽爽爽爽| 国产精品久久久久永久免费观看| 国产女主播一区| 日韩精品一二三区| 色哟哟精品一区| 国产亚洲一区二区三区四区| 秋霞av亚洲一区二区三| 在线免费观看成人短视频| 欧美—级在线免费片| 激情综合一区二区三区| 欧美日韩一区不卡| 成人免费一区二区三区视频| 国产一区二区三区免费观看| 欧美老女人第四色| 亚洲免费在线观看| 不卡一卡二卡三乱码免费网站| 色婷婷av一区二区三区之一色屋| 欧美三级乱人伦电影| 欧美国产乱子伦| 狠狠色丁香婷综合久久| 日韩一区二区免费视频| 午夜免费久久看| 在线日韩av片| 亚洲精品高清在线| 99久久精品国产观看| 欧美激情一区二区三区蜜桃视频 | 日韩国产成人精品| 色综合欧美在线| 国产精品福利在线播放| 国产不卡在线播放| 国产日韩av一区二区| 国产风韵犹存在线视精品| 久久久精品日韩欧美| 久草在线在线精品观看| 日韩精品专区在线影院重磅| 老司机精品视频在线| 日韩欧美在线影院| 久久精品国产精品亚洲综合| 日韩欧美色综合| 精品在线视频一区| 久久婷婷成人综合色| 国产乱色国产精品免费视频| 久久综合九色欧美综合狠狠| 国产在线麻豆精品观看| 久久久美女毛片| 成人黄色综合网站| 1024成人网| 欧美专区日韩专区| 亚洲成av人片一区二区三区| 在线视频综合导航| 日本一道高清亚洲日美韩| 日韩欧美成人激情| 国产成人亚洲精品青草天美| 国产精品伦一区| 色94色欧美sute亚洲线路一ni| 精品国产乱码久久久久久1区2区| 亚洲欧美日韩在线| 欧美探花视频资源| 免费国产亚洲视频| 精品噜噜噜噜久久久久久久久试看 | 久久久电影一区二区三区| 国产成人免费在线观看| 中文字幕在线不卡视频| 色妹子一区二区| 视频一区视频二区中文| 久久久99精品久久| 岛国一区二区三区| 亚洲综合丝袜美腿| 日韩欧美成人一区二区| zzijzzij亚洲日本少妇熟睡| 亚洲免费高清视频在线| 日韩一区二区电影在线| 国产成人精品影视| 一级中文字幕一区二区| 日韩免费性生活视频播放| 国产成人激情av| 午夜国产精品一区| 久久免费美女视频| 欧美中文字幕一区二区三区| 精品一区二区久久久| 亚洲免费观看视频| 欧美变态口味重另类| 99国内精品久久| 日韩有码一区二区三区| 欧美国产日韩亚洲一区| 欧美久久高跟鞋激| 国产91精品久久久久久久网曝门| 久久久激情视频| 欧美在线观看一二区| 国产一区美女在线| 亚洲精品高清视频在线观看| 精品国产精品网麻豆系列| 91福利视频网站| 国产成人av一区二区| 一本一道综合狠狠老| 狠狠色狠狠色合久久伊人| 亚洲精品五月天| 久久久.com| 日韩一级成人av| 欧美午夜电影在线播放| 成人免费av网站| 狂野欧美性猛交blacked| 一区二区三区视频在线观看| 国产婷婷色一区二区三区| 欧美日本一区二区| 91色porny| 东方欧美亚洲色图在线| 美女一区二区久久| 香蕉加勒比综合久久| 亚洲欧美激情插| 亚洲国产成人午夜在线一区| 日韩视频在线观看一区二区| 在线免费观看一区| 成人高清视频在线| 韩国av一区二区三区在线观看| 国产亚洲午夜高清国产拍精品 | 久久国产婷婷国产香蕉| 有码一区二区三区| 国产精品五月天| 欧美精品一区二区不卡| 91精品国产综合久久福利软件| 蜜桃精品视频在线观看| 亚洲午夜久久久久久久久电影院| 欧美乱熟臀69xxxxxx| 成av人片一区二区| 国产成人在线网站| 国产一区二区三区免费观看| 免费一级欧美片在线观看| 三级一区在线视频先锋| 亚洲午夜在线视频| 一个色妞综合视频在线观看| 亚洲黄色免费网站| 亚洲另类春色校园小说|