单片机 双字节除法子程序 作者: 时间:2016-11-23 来源:网络 加入技术交流群 扫码加入和技术大咖面对面交流海量资料库查询 收藏 8位MCU实现双字节除法子程序 51单片机只是8位的,但有时候需要实现双字节除法,里面的指令只支持8位。 想来想去,只好用减法来实现了。下面这个子程序是双字节除以双字节,商、余数结果都是双字节保存,可能有点消耗资源,但这样可以整合在一块。 ;**************************************** ;函数名称:Div2Byte ;功能描述:无符号数双字节除法 ;传入参数:R0R1被除数 R2R3除数 ;返回数据:R4R5商 R6R7余数 ;其他说明:比如双字节数R0R1,R0高字节 R1低字节 ;**************************************** Div2Byte: mov R4,#0 mov R5,#0 ;商赋初值零 mov A,R0 mov R6,A mov A,R1 mov R7,A ;余数赋初值,保证商为零时余数正常 Div2Byte_1: mov A,R1 clr c subb A,R3 ;低字节相减