请教这段除法程序的思路是什么? 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 |