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

📄 x86w16.asm

📁 安全套接字层
💻 ASM
字号:
;	Static Name Aliases;	TITLE   bn_mulw.c	.8087F_TEXT	SEGMENT  WORD PUBLIC 'CODE'F_TEXT	ENDS_DATA	SEGMENT  WORD PUBLIC 'DATA'_DATA	ENDS_CONST	SEGMENT  WORD PUBLIC 'CONST'_CONST	ENDS_BSS	SEGMENT  WORD PUBLIC 'BSS'_BSS	ENDSDGROUP	GROUP	_CONST, _BSS, _DATA	ASSUME DS: DGROUP, SS: DGROUPF_TEXT      SEGMENT	ASSUME	CS: F_TEXT	PUBLIC	_bn_mul_add_words_bn_mul_add_words	PROC FAR; Line 58	push	bp	push	bx	push	si	push	di	push	ds	push	es	mov	bp,sp;	w = 26;	num = 24;	ap = 20;	rp = 16	xor	si,si			;c=0;	mov	di,WORD PTR [bp+16]	; load r	mov	ds,WORD PTR [bp+18]	; load r	mov	bx,WORD PTR [bp+20]	; load a	mov	es,WORD PTR [bp+22]	; load a	mov	cx,WORD PTR [bp+26]	; load w	mov	bp,WORD PTR [bp+24]	; load num	shr	bp,1	; div count by 4 and do groups of 4	shr	bp,1	je	$L555$L546:	mov	ax,cx	mul	WORD PTR es:[bx]	; w* *a	add	ax,WORD PTR ds:[di]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di],ax	mov	si,dx	;	mov	ax,cx	mul	WORD PTR es:[bx+2]	; w* *a	add	ax,WORD PTR ds:[di+2]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di+2],ax	mov	si,dx	;	mov	ax,cx	mul	WORD PTR es:[bx+4]	; w* *a	add	ax,WORD PTR ds:[di+4]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di+4],ax	mov	si,dx	;	mov	ax,cx	mul	WORD PTR es:[bx+6]	; w* *a	add	ax,WORD PTR ds:[di+6]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di+6],ax	mov	si,dx	;	add	bx,8	add	di,8	;	dec	bp	je	$L555	jmp	$L546;;$L555:	mov	bp,sp	mov	bp,WORD PTR [bp+24]	; load num	and	bp,3	dec	bp	js	$L547	mov	ax,cx	mul	WORD PTR es:[bx]	; w* *a	add	ax,WORD PTR ds:[di]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di],ax	mov	si,dx	dec	bp	js	$L547			; Note that we are now testing for -1	;	mov	ax,cx	mul	WORD PTR es:[bx+2]	; w* *a	add	ax,WORD PTR ds:[di+2]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di+2],ax	mov	si,dx	dec	bp	js	$L547	;	mov	ax,cx	mul	WORD PTR es:[bx+4]	; w* *a	add	ax,WORD PTR ds:[di+4]	; + *r	adc	dx,0	adc	ax,si	adc	dx,0	mov	WORD PTR ds:[di+4],ax	mov	si,dx$L547:	mov	ax,si	pop	es	pop	ds	pop	di	pop	si	pop	bx	pop	bp	ret		nop	_bn_mul_add_words	ENDP	PUBLIC	_bn_mul_words_bn_mul_words	PROC FAR; Line 76	push	bp	push	bx	push	si	push	di	push	ds	push	es	xor	si,si	mov	bp,sp	mov	di,WORD PTR [bp+16]	; r	mov	ds,WORD PTR [bp+18]	mov	bx,WORD PTR [bp+20]	; a	mov	es,WORD PTR [bp+22]	mov	cx,WORD PTR [bp+26]	; w	mov	bp,WORD PTR [bp+24]	; num $FC743:	mov	ax,cx	mul	WORD PTR es:[bx]	add	ax,si	adc	dx,0	mov	WORD PTR ds:[di],ax	mov	si,dx	dec	bp	je	$L764	;	mov	ax,cx	mul	WORD PTR es:[bx+2]	add	ax,si	adc	dx,0	mov	WORD PTR ds:[di+2],ax	mov	si,dx	dec	bp	je	$L764	;	mov	ax,cx	mul	WORD PTR es:[bx+4]	add	ax,si	adc	dx,0	mov	WORD PTR ds:[di+4],ax	mov	si,dx	dec	bp	je	$L764	;	mov	ax,cx	mul	WORD PTR es:[bx+6]	add	ax,si	adc	dx,0	mov	WORD PTR ds:[di+6],ax	mov	si,dx	dec	bp	je	$L764	;	add	bx,8	add	di,8	jmp	$FC743	nop$L764:	mov	ax,si	pop	es	pop	ds	pop	di	pop	si	pop	bx	pop	bp	ret		nop	_bn_mul_words	ENDP	PUBLIC	_bn_sqr_words_bn_sqr_words	PROC FAR; Line 92	push	bp	push	bx	push	si	push	di	push	ds	push	es	mov	bp,sp	mov	si,WORD PTR [bp+16]	mov	ds,WORD PTR [bp+18]	mov	di,WORD PTR [bp+20]	mov	es,WORD PTR [bp+22]	mov	bx,WORD PTR [bp+24]	mov	bp,bx	; save a memory lookup later	shr	bx,1	; div count by 4 and do groups of 4	shr	bx,1	je	$L666$L765:	mov	ax,WORD PTR es:[di]	mul	ax	mov	WORD PTR ds:[si],ax	mov	WORD PTR ds:[si+2],dx	;	mov	ax,WORD PTR es:[di+2]	mul	ax	mov	WORD PTR ds:[si+4],ax	mov	WORD PTR ds:[si+6],dx	;	mov	ax,WORD PTR es:[di+4]	mul	ax	mov	WORD PTR ds:[si+8],ax	mov	WORD PTR ds:[si+10],dx	;	mov	ax,WORD PTR es:[di+6]	mul	ax	mov	WORD PTR ds:[si+12],ax	mov	WORD PTR ds:[si+14],dx	;	add	di,8	add	si,16	dec	bx	je	$L666	jmp	$L765$L666:	and	bp,3	dec	bp	; The copied value of bx (num)	js	$L645	;	mov	ax,WORD PTR es:[di]	mul	ax	mov	WORD PTR ds:[si],ax	mov	WORD PTR ds:[si+2],dx	dec	bp	js	$L645	;	mov	ax,WORD PTR es:[di+2]	mul	ax	mov	WORD PTR ds:[si+4],ax	mov	WORD PTR ds:[si+6],dx	dec	bp	js	$L645	;	mov	ax,WORD PTR es:[di+4]	mul	ax	mov	WORD PTR ds:[si+8],ax	mov	WORD PTR ds:[si+10],dx$L645:	pop	es	pop	ds	pop	di	pop	si	pop	bx	pop	bp	ret	_bn_sqr_words	ENDP	PUBLIC	_bn_div64_bn_div64	PROC FAR	push	bp	mov	bp,sp	mov	dx, WORD PTR [bp+6]	mov	ax, WORD PTR [bp+8]	div	WORD PTR [bp+10]	pop	bp	ret	_bn_div64	ENDPF_TEXT	ENDSEND

⌨️ 快捷键说明

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