include vmm.inc
mov eax, Default ; default value
mov esi, OFFSET32 Profile ; points to section name
mov edi, OFFSET32 Keyname ; points to entry name
VMMCall Get_Profile_Decimal_Int
jc not_found ; carry set if entry not found
jz no_value ; zero set if entry has no value
mov [Value], eax ; entry value
Returns the value of a decimal-number entry in the SYSTEM.INI file. This service is only available during initialization. Uses Flags.
If the carry flag is clear and the zero flag is set, the entry exists but has no corresponding value. If the carry flag is set, the entry does not exist or does not represent a decimal number. In these cases, the EAX register contains the value of the Default parameter.
A valid decimal number consists of one or more decimal digits and contains no embedded spaces or decimal points. The decimal number can be preceded with a plus sign (+) or minus sign (-) to indicate a positive or negative number, respectively.
Get_Profile_Boolean, Get_Profile_Fixed_Point, Get_Profile_Hex_Int