超长数加减法运算器及相关指令设计,实现精确计算
时间:10-02
整理:3721RD
点击:
8位单片机能够实现超长数计算吗?我说:"只要存储器够大,按照下面的方法设计的加减法运算器及指令,就能够编写程序完成。"
1。用全加器搭建一个8位加法器;
2。将最低下进位前连接一个1位寄存器,输入端连接加法器高端进位;
3。将加法器一个输入端都连接异或门,并将所有异或门一输入端连在一起成减法控制端sub;
4。按照同号两数相加,或异号两数相减,结果符号与第一个数不同,则溢出,作出溢出标志线v;
5。进位寄存器输入控制有写控制e,清零控制c,置位控制s;
这样一个可以进行超长数加减法运算器就设计完成了。
针对这个加减法运算器需要设计指令:加,减,带进位加,带进位减,溢出跳转,顺序从存储器取数,顺序向存储器写数,扩充位数,进位寄存器复位和置位等。
有符号数扩充位数方法是:正数左侧添0,负数左侧添最大数码1(十进制是9)。
这样一个加减法运算器怎样通过软硬件配合实现超长数计算?我们留到下次分解。
1。用全加器搭建一个8位加法器;
2。将最低下进位前连接一个1位寄存器,输入端连接加法器高端进位;
3。将加法器一个输入端都连接异或门,并将所有异或门一输入端连在一起成减法控制端sub;
4。按照同号两数相加,或异号两数相减,结果符号与第一个数不同,则溢出,作出溢出标志线v;
5。进位寄存器输入控制有写控制e,清零控制c,置位控制s;
这样一个可以进行超长数加减法运算器就设计完成了。
针对这个加减法运算器需要设计指令:加,减,带进位加,带进位减,溢出跳转,顺序从存储器取数,顺序向存储器写数,扩充位数,进位寄存器复位和置位等。
有符号数扩充位数方法是:正数左侧添0,负数左侧添最大数码1(十进制是9)。
这样一个加减法运算器怎样通过软硬件配合实现超长数计算?我们留到下次分解。