文档介绍:维普资讯
黧簟擘毒
单片机定点运算及数制转换子程序※
■珠海志美电子有限公司张克彦
单片机问世以来,获得广泛关注。它是一加调整后既不会再产生进位/半进位而是清除了
种采用精简指令集、以时钟周期为机器周期的高速原来的进位/半进位,也不会产生非法码。例:
单片机。它采用快速寄存器文件共有个寄存:,进位和半进位都置位,故加
器~,其中~具有较强通用功能、快来调整::,并要恢复进位。
速单周期指令。另外在存储器技术存储器、综合以上种情况, 得出下面加法之实现
、低功耗、系统可靠性、定时/计数器功方法:首先保存码相加后的状态寄存器
能多样化等方面也都具特色。但由于采用精简指令保存其中的进位和半进位,称为和。再
集,它没有一般位机的指令。因码加减将码之和加上,产生出新的进位及半进
法运算及定点数制转换都要用到功能,故给使位。若、中有个置位只能有个, 说
用汇编语言研发带来不便。本文重点介绍用软件实明高位满足调整条件并调整完毕, 否则为不够
现的方法。调整条件,应减恢复;若、中有个只
计算机采用的十进制操作数一般都为压缩型能有个置位, 说明低位满足调整条件并
码,每个码表示位十进制数。每位调整完毕, 否则为不够调整条件, 应减恢复。程
码共存于同一字节单元中,故运算涉及状序中是将新、旧进位和半进位对应“或”起来,只
态寄存器的进位第位和半进位第对“或”结果进行判断。注意, 软件功能既
位。它们分别为高、低位的进借位。在要保证本字节压缩码相加值的正确性, 又要保
进行码加减运算时,计算机是按二进制数对待证对高位产生进位的正确性, 故要将
的, 因此会产生与十进制运算规则不相符合的情的结果返还给, 以使下一步能正确实现高位
况:一是当产生进借位:或:时, 该带进位加。
进借位等于对所涉及的位码而言, 为码相加调整子程序,使用寄存器
而在十进制运算中应等于;二是可能产生非法作为工作单元使用、、等个寄
码值大于。软件即为纠正以上错误存器作为辅助工作单元, 所有调整工作都在此单
而设的。元内进行。
软件的实现方法为数制转换程序中实现码左移调
整的子程序, 为加法之特例:它在工作单
. 实现加法功能子程序和的设元内实施码带进位位自加并完成对和的调整。
计方法. 实现减法功能子程序的设计方法
经实践考查, 码加法运算, 可产生以下由实践可知,减法要比加法来得简单:只
种情况: 须