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 ;低字节相减