substr: push si di cx movzx cx,byte[ds:si-1] @@: mov al,[ds:si] cmp al,[es:di] jne @f inc si inc di dec cx jnz @b ; cld ; repe cmps byte[ds:si],[es:di] @@: pop cx di si ret int2str: dec bl jz @f xor edx,edx div ecx push edx call int2str pop eax @@: cmp al,10 sbb al,$69 das mov [ds:di],al inc di ret int2strnz: cmp eax,ecx jb @f xor edx,edx div ecx push edx call int2strnz pop eax @@: cmp al,10 sbb al,$69 das mov [ds:di],al inc di ret