Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
205 heavyiron 1
macro use_text_work
2
{
3
;edi - указатель на строку, ограниченную нулем
4
;число возвращается в eax
5
zstr_to_int:
6
	xor	eax,eax
7
	mov	ecx,10
8
.next:
9
	movsx	ebx,byte [edi]
10
	inc	edi
11
	test	ebx,ebx
12
	jz	.end_str
13
	cmp	bl,'9'
14
	jg	.no_figure
15
	cmp	bl,'0'
16
	jl	.no_figure
17
	sub	ebx,'0'
18
	mul	ecx
19
	add	eax,ebx
20
.no_figure:
21
	jmp	.next
22
.end_str:
23
ret
24
 
25
;edi - указатель на строку
26
;eax - число
27
;ebx - количесво знаков
28
int_to_str:
29
	mov	ecx,10
30
.next:
31
	test	ebx,ebx
32
	jz	.end
33
	xor	edx,edx
34
	div	ecx
35
	add	dl,'0'
36
	dec	ebx
37
	mov	[edi+ebx],dl
38
	jmp	.next
39
.end:
40
ret
41
}