برنامه تبدیل یک عدد صحیح علامت دار دو بایتی ذخیره شده در AX و ذخیره رشته بدست آمده در سگمنت داده با استفاده از اشاره گر di.
قبل از فراخوانی باید در سگمنت داده 6 بایت برای ذخیره رشته عددی تعریف و di توسط برنامه main با آفست آن مقداردهی شود.
procs segment
assume cs:procs
itoa proc far
cmp ax,8000h ;case of -32768 smallest number in 2 bytes
jne normal
mov byte ptr [di],’-‘
mov byte ptr [di+1],’3’
mov byte ptr [di+2],’2’
mov byte ptr [di+3],’7’
mov byte ptr [di+4],’6’
mov byte ptr [di+5],’8’
jmp short finish
normal: mov dx,ax
mov al,’ ‘
mov cx,5
cld
rep stosb
mov ax,dx
mov cl,’ ‘
cmp ax,0
jge setup
mov cl,’-‘
neg ax
setup: mov bx,10
divloop: mov dx,0
div bx
add dl,30h
mov byte ptr [di], dl
dec di
cmp ax,0
jne divloop
mov byte ptr [di],cl
finish: ret
itoa endp
procs ends