Mips 非还原除法算法-除数小于除数
我正在尝试使用非还原除法算法将10111110除以11000101 注意,被除数小于除数 按照我看过的教程中使用的流程图,我最终得到了一个(似乎)毫无意义的结果。有可能我只是不知道如何正确解释我的结果 如果您能帮助理解在此类情况下如何使用非恢复除法算法,将不胜感激 以下是我使用流程图的尝试:Mips 非还原除法算法-除数小于除数,mips,Mips,我正在尝试使用非还原除法算法将10111110除以11000101 注意,被除数小于除数 按照我看过的教程中使用的流程图,我最终得到了一个(似乎)毫无意义的结果。有可能我只是不知道如何正确解释我的结果 如果您能帮助理解在此类情况下如何使用非恢复除法算法,将不胜感激 以下是我使用流程图的尝试: Desc A Q N 初始00000000 10111110 8 瑞士先令00000001 0111100 A似乎您忽略了部分余数和分母需要两倍于分子和商(cf)字宽的要求,以及仅使用8位表示e的要求。gA
Desc A Q N
初始00000000 10111110 8
瑞士先令00000001 0111100
A似乎您忽略了部分余数和分母需要两倍于分子和商(cf)字宽的要求,以及仅使用8位表示e的要求。g<代码>A
是这个看似荒谬的结果的原因。谢谢你的回复。如果我理解正确,我将向累加器添加填充0(在本例中为8个)。对吗?对于部分余数和分母,你们需要两个寄存器,对吗?
A = Q = 190 = 10111110
B = M = 197 = 11000101
Desc A Q N
Init 00000000 10111110 8
shl 00000001 01111100
A<A-M 00111100 01111100
Q0=1, N-1 00111100 01111101 7
shl 01111000 11111010
A<A-M 10110011 11111010
Q0=0, N-1 10110011 11111010 6
shl 01100111 11110101
A<A-M 10100010 11110101
Q0=0, N-1 10100010 11110100 5
shl 01000101 11101001
A<A-M 00110010 11101001
Q0=1, N-1 00110010 11101001 4
shl 01100101 11010010
A<A-M 10100000 11010010
Q0=0, N-1 10100000 11010010 3
shl 01000001 10100101
A<A-M 01111100 10100101
Q0=1, N-1 01111100 10100101 2
shl 11111001 01001010
A<A+M 10111110 01001010
Q0=0, N-1 10111110 01001010 1
shl 01111100 10010101
A<A-M 10110111 10010101
Q0=0, N-1 10110111 10010100 0
A<A+M 01111100 10010100
END