Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .586
- .model flat
- .code
- ;void unsignedToString(char *dst, unsigned u)
- ;----------------------------------------------------------
- _unsignedToString proc
- push ebp
- mov ebp,esp
- push ecx
- push ebx
- push esi
- push edi
- push edx
- mov ebx,dword ptr[ebp+12] ; U
- mov ecx,dword ptr[ebp+8] ; dst
- mov esi,0 ; counter
- mov eax,ebx
- call conta_numeri
- mov esi,eax ; quanti numeri
- mov edi,esi
- mov dword ptr[ecx+esi],0
- ciclo:
- cmp esi,0
- je fine
- mov eax,ebx
- call scomponi
- mov byte ptr[ecx+esi-1],al
- mov eax,ebx
- mov edx,0
- mov edi,10
- div edi
- dec esi
- mov ebx,eax
- jmp ciclo
- fine:
- pop edx
- pop edi
- pop esi
- pop ebx
- pop ecx
- mov esp,ebp
- pop ebp
- ret
- _unsignedToString endp
- ;----------------------------------------------
- conta_numeri proc
- ;U dentro eax
- push ebp
- mov ebp,esp
- push ecx
- push ebx
- push esi
- push edi
- push edx
- mov esi,1
- mov ebx,10
- ciclo:
- cmp eax,1
- jle fine
- inc esi
- mov edx,0
- div ebx
- jmp ciclo
- fine:
- mov eax,esi
- pop edx
- pop edi
- pop esi
- pop ebx
- pop ecx
- mov esp,ebp
- pop ebp
- ret
- conta_numeri endp
- ;-----------------------------------------------
- scomponi proc
- ;in eax ho il numero
- push ebp
- mov ebp,esp
- push ecx
- push ebx
- push esi
- push edi
- push edx
- mov ebx,10
- mov edx,0
- div ebx
- cmp edx,0
- je zero
- cmp edx,1
- je uno
- cmp edx,2
- je due
- cmp edx,3
- je tre
- cmp edx,4
- je quattro
- cmp edx,5
- je cinque
- cmp edx,6
- je sei
- cmp edx,7
- je sette
- cmp edx,8
- je otto
- cmp edx,9
- je nove
- zero:
- mov al,48
- jmp fine
- uno:
- mov al,49
- jmp fine
- due:
- mov al,50
- jmp fine
- tre:
- mov al,51
- jmp fine
- quattro:
- mov al,52
- jmp fine
- cinque:
- mov al,53
- jmp fine
- sei:
- mov al,54
- jmp fine
- sette:
- mov al,55
- jmp fine
- otto:
- mov al,56
- jmp fine
- nove:
- mov al,57
- jmp fine
- fine:
- pop edx
- pop edi
- pop esi
- pop ebx
- pop ecx
- mov esp,ebp
- pop ebp
- ret
- scomponi endp
- ;--------------------------------------------
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement