include vmm.inc mov eax, Default ; default value mov ecx, Places ; number of digits after decimal point mov esi, OFFSET32 Profile ; points to section name mov edi, OFFSET32 Keyname ; points to entry name VMMcall Get_Profile_Fixed_Point jc not_found ; carry flag set if entry not found jz no_value ; zero flag set if entry has no value mov [Value], eax ; entry value
Returns the value of a fixed-point-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 fixed-point number. In these cases, the EAX register contains the value of the Default parameter.
Default
Default value to return if the entry has no corresponding value, does not exist, or does not represent a fixed-point number.
Places
Number of digits after the decimal point to convert. The service skips over any extra digits without calculating them into the fixed-point value.
Profile
Address of a null-terminated string identifying the section in the SYSTEM.INI file to search. Can be zero, in which case the service searches the [386Enh] section.
Keyname
Address of a null-terminated string specifying keyname to search for.
A fixed-point number is a decimal number that consists of an integer, a fraction, or a combination of integer and fraction. The integer can be any combination of decimal digits and may be preceded by a plus sign (+) or a minus sign (-) to indicate a positive or negative fixed-point value. The fraction can be any combination of decimal digits but must be preceded with a decimal point (.).
See also Get_Profile_Boolean, Get_Profile_Decimal_Int, Get_Profile_Hex_Int