Suppose, we have some 970 number in eax I tried this to calculate number of digits
mov ebx, 10
mov ecx, 0
labelDivider:
inc ecx
cdq
idiv ebx
cmp eax, 0
jnz labelDivider
The result value should be placed in ecx and at a result I have 1 all the time - not 3 or another (If I change initial number).