;	Static Name Aliases
;
	TITLE   bn_mulw.c
	.8087
F_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	ENDS
DGROUP	GROUP	_CONST, _BSS, _DATA
	ASSUME DS: DGROUP, SS: DGROUP
F_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	ENDP
F_TEXT	ENDS
END
