;==============================================================|
:
; Converts a Dec, Hex, Oct or Bin ascii string to a 32 bit num |
:
; INVOKE AsciiBase, addr Conv, addr w1, 10 |
:
;==============================================================|
;from yooper at kalamazoo.net via Iczelion's Win32 Assembly Forum
AsciiBase PROC Input:DWORD, Output:DWORD, Base: DWORD
pushad
mov esi, Input
mov edi, Output
mov dword ptr[edi], 0
INVOKE lstrlen, Input
xor ecx, ecx
.while (eax)
.if byte ptr[esi+ecx] > 60h
sub byte ptr[esi+ecx], 57h
.elseif byte ptr[esi+ecx] > 40h
sub byte ptr[esi+ecx], 37h
.else
xor byte ptr[esi+ecx], 30h
.endif
dec eax
inc ecx
.endw
mov ebx, 1
mov esi, Input
add esi, ecx
dec esi
xor edx, edx
.while (ecx)
mov al, byte ptr[esi] ; Extract byte for conv.
and eax, 000000ffh
imul eax, ebx
add dword ptr[edi], eax ; Accumulate output
imul ebx, Base
dec esi
dec ecx
.endw
popad
RET
AsciiBase ENDP
file: /Techref/intel/32bit/math/a2b-10d32b.htm, 1KB, , updated: 2000/2/23 07:09, local time: 2024/12/25 12:52,
|
| ©2024 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://linistepper.com/techref/intel/32bit/math/a2b-10d32b.htm"> intel 32bit math a2b-10d32b</A> |
Did you find what you needed?
|