> > 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