用中间余数减除数　用中间余数减除数　用中间余数减除数　用中间余数减除数,　,　,　,够减则上商为　够减则上商为　够减则上商为　够减则上商为1　1　1　1;　;　;　;不够减则上商为　不够减则上商为　不够减则上商为　不够减则上商为0　0　0　0。　。　。　。　•　重复执行第　重复执行第　重复执行第　重复执行第②　②　②　②步步步步,　,　,　,直到求得的商的位数足够为止　直到求得的商的位数足够为止　直到求得的商的位数足够为止　直到求得的商的位数足够为止。　。　。　。　中间余数　中间余数　中间余数　中间余数　定点除法运算　定点除法运算　定点除法运算　定点除法运算　除前预处理　除前预处理　除前预处理　除前预处理　①　①　①　①若被除数　若被除数　若被除数　若被除数=0且除数　且除数　且除数　且除数≠　≠　≠　≠0,　,　,　,或定点整数除法　或定点整数除法　或定点整数除法　或定点整数除法|被除数　被除数　被除数　被除数|=0　2a.　Shift　the　Quotient　register　to　the　left　setting　the　new　rightmost　bit　to　1.　2b.　Restore　the　original　value　by　adding　the　Divisor　reg　to　the　Remainder　reg　and　place　the　sum　in　the　Remainder　reg.　Also　shift　the　Quotient　register　to　the　left,　setting　the　new　LSB　to　0　3.　Shift　the　Divisor　register　right1　bit.　33rd　repetition?　No:　=0,　>=0,　>=0,　>=0,商左移上　商左移上　商左移上　商左移上1　1　1　1　3.　3.　3.　3.除数右移　除数右移　除数右移　除数右移　Divide　Algorithm--example　Q:　0000　D:　0010　0000　R:　0000　0111　–D　=　1110　0000　1:　R　=　R–D　Q:　0000　D:　0010　0000　R:　1110　0111　2b:　+D,　sl　Q,　0　Q:　0000　D:　0010　0000　R:　0000　0111　3:　Shr