Вот путь, найденный в интернете
; Input:
mov esi, offset szMsg1 ; esi - str
dec msgLength
mov ecx, msgLength ; ecx - length str
; Output:
; EAX = integer value
string_to_int:
xor ebx,ebx ; clear ebx
next_digit:
movzx eax, byte ptr [esi]
inc esi
sub al,'0' ; convert from ASCII to number
imul ebx,10
add ebx,eax ; ebx = ebx*10 + eax
loop next_digit ; while (--ecx)
mov eax,ebx