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 | } |