Код:
;A(=C)=HL/DE
;HL=HL%DE
UDiv16168:		
		mvi b,8
		mov a,l
		mov l,h
		mvi h,0
UDiv16168_1:
		dad h\ push psw\ add a\ mov c,a\ adc l\ sub c
		sub e\ mov l,a\ mov a,h\ sbb d\ mov h,a
		jnc UDiv16168_2
		pop psw
		jc UDiv16168_3
		dad d
		.db 3Ah		;lda ...
UDiv16168_2:
		pop psw
UDiv16168_3:
		inr c
		mov a,c
		dcr b
		jnz UDiv16168_1
		ret
Можно ли сократить приведенную процедуру? Или ускорить без увеличения размера?
Главное, чтобы в A получалось частное. Остаток в HL; частное в C; B и DE - все это не критично.