59,6 → 59,7 |
;* ëå®¤ë¥ ¯ à ¬¥âàë: * |
;* Data_String - áâப -१ã«ìâ â. * |
;******************************************************* |
align 4 |
DoubleFloat_to_String: |
pushad |
; ¥§ã«ìâ â § ¯¨áë¢ âì ¢ áâபã Data_String |
150,10 → 151,11 |
; 訡ª - ¥â § ç é¨å æ¨äà |
jmp .Error |
; ª®¯¨à®¢ âì § ç éãî ç áâì ç¨á« ¢ ç «® áâப¨ |
align 4 |
.N4: rep movsb |
jmp .End |
|
; 訡ª |
align 4 |
.Error: |
mov AL,'E' |
stosb |
165,6 → 167,7 |
stosb |
jmp .End |
; ¥à¥¯®«¥¨¥ à §à冷© á¥âª¨ |
align 4 |
.Overflow: |
mov AL,'#' |
stosb |
171,6 → 174,7 |
xor AL,AL |
stosb |
; ®¥æ ¯à®æ¥¤ãàë |
align 4 |
.End: |
popad |
ret |
183,6 → 187,7 |
;* ëå®¤ë¥ ¯ à ¬¥âàë: * |
;* Data_Double - ç¨á«® ¢ ¤¢®¨ç®¬ ª®¤¥. * |
;**************************************************** |
align 4 |
String_to_DoubleFloat: |
pushad |
cld |
202,6 → 207,7 |
jne .ShiftIgnoreEnd |
loop .ShiftIgnore |
jmp .Error |
align 4 |
.ShiftIgnoreEnd: |
; ஢¥à塞 § ª ç¨á« |
cmp AL,'-' |
222,6 → 228,7 |
cmp AL,0 ;ª®¥æ áâப¨? |
jne .NotDot |
jmp .ASCIItoBCDConversionEnd |
align 4 |
.NotDot: |
; ¢¥«¨ç¨âì 1 § 票¥ ¯®§¨æ¨¨ â®çª¨, |
; ¥á«¨ ® ¥é¥ ¥ ¢áâà¥ç « áì |
284,7 → 291,7 |
.NoDiv:; ë£à㧨âì ç¨á«® ¢ ¤¢®¨ç®¬ ä®à¬ ⥠|
fstp [Data_Double] |
jmp .End |
|
align 4 |
.Error:; ਠ«î¡®© ®è¨¡ª¥ ®¡ã«¨âì १ã«ìâ â |
fldz ;§ ¥á⨠®«ì á á⥪ ᮯà®æ¥áá®à |
fstp [Data_Double] |
293,8 → 300,7 |
ret |
|
align 4 |
proc str_cat, str1:dword, str2:dword |
push eax ecx edi esi |
proc str_cat uses eax ecx edi esi, str1:dword, str2:dword |
mov esi,dword[str2] |
stdcall str_len,esi |
mov ecx,eax |
304,7 → 310,6 |
add edi,eax |
cld |
repne movsb |
pop esi edi ecx eax |
ret |
endp |
|
321,4 → 326,34 |
@@: |
sub eax,[str1] |
ret |
endp |
|
align 4 |
proc String_crop_0 uses eax ebx ecx edi |
mov edi,Data_String |
mov al,'.' |
mov ecx,32 |
repne scasb |
mov ebx,edi |
mov edi,Data_String |
xor al,al |
mov ecx,32 |
repne scasb |
cmp ebx,edi |
jg .end_f |
dec edi |
.cycle0: |
dec edi |
cmp edi,Data_String |
jle .end_f |
cmp byte[edi],'0' |
jne .cycle0end |
mov byte[edi],0 |
jmp .cycle0 |
.cycle0end: |
cmp byte[edi],'.' |
jne .end_f |
mov byte[edi],0 |
.end_f: |
ret |
endp |