[H8-ML(2298)] RE: [H8-ML(2295)] 8バイト割る4バイト
From: "n.kobayashi" <kobayasi@xxxxxxxxxxxxxxxxxxxxxxx>
Date: 2002年10月19日(土)13時18分25秒
>
> 8バイト/4バイトの演算が思いつきません。
>
>

64bit / 16bit を基にして作ってみました
動作確認はしていません

Try on your own risk !

///// nkobayas@xxxxxxxxxx





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;
;
; (er1er0) / er2
; enter	er1-er0	64bits divident (er1:MSB)
;	er2	32bits divisor
; exit	er1-er0	quatient
;	er2	remainder
_longLongDivLong:
	push.l	er3
	push.l	er4
	mov.b	#64,r3		;r3=bitCnt
	xor.l	er4,er4		;remainder
    ;(er1er0)/er2
5:	shll.l	er0		;LSB<<1
	rotxl.l	er1		;MSB<<1 (bit32 --> Cy)
	rotxl.l	er4		;Cy --> bit0 in er4
	cmp.l	er2,er4
	blo	6f
	sub.l	er2,er4
	bset	#0,r0l
6:	dec.w	#1,r3
	bne	5b
	mov.l	er4,er2		;remainder
	pop.l	er4
	pop.l	er3
	rts

スレッド概略
[2295(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]