| 请教这段除法程序的思路是什么? DIVDD:   mov r2,#0ffh
 mov r3,#0f0h
 MOV A,R5
 CLR c
 SUBB A,R3
 MOV A,R4
 SUBB A,R2
 JNC NDIV1D
 MOV B,#16
 NDIV2D: CLR C
 MOV A,R7
 RLC A
 MOV R7,A
 MOV A,R6
 RLC A
 MOV R6,A
 MOV A,R5
 RLC A
 MOV R5,A
 XCH A,R4
 RLC A
 XCH A,R4
 MOV F0,C      ;保存溢出位
 CLR C
 SUBB A,R3     ;部分余数与除数比较
 MOV R1,A
 MOV A,R4
 SUBB A,R2
 JB F0, NDIV3D   ;结果判断
 JC NDIV4D       ;否则,CY=0才够减
 NDIV3D:  MOV R4,A       ;回送减法结果
 MOV A,R1
 MOV R5,A
 INC R7          ;商上1
 NDIV4D:  DJNZ B,NDIV2D   ;循环次数减1,若不为0则循环
 clr f0         ;正常执行无溢出,f0=0
 ndiv1D:  setb f0        ;溢出,f0=1
 mov 2ch,r7
 ret
 |