用移位指令求两数的商,看不懂得原理,单片机老师只说了三个字‘不知道’
题目出自北航单片机原理及接口技术,李朝青版。102页,麻烦解释一下其数学原理,谢谢啦
题目:编写双字节除法(16位除八位)
解:将被子除数放于(R6)(R5)中,除数放于(R4)中。在程序运行中,(R5)保存被除数低们和商,(R6)保存余数,设07H存放中间标志位,程序执行完后,(R5)为商,(R6)为余数,其程序如下:
DV:MOV R7,#08H
S0:CLR C
MOV A ,R5
RLC A
MOV R5,A
MOV A ,R6
RLC A
MOV 07H,C
CLR C
SUBB A, R4
JB 07H,S1
JNC S1
ADD A,R4
SJMP S2
S1:INC R5
S2:MOV R6,A
DJNZ R7,S0
RET