Is there someone who could help me understand why my comparison isn't working.
Thanks.
; priv_str.asm Show use of WritePrivateProfileString
; Check a value in win1.ini
; (If no path specified, file is put in windows dir)
.486
.model flat, stdcall ; 32 bit memory model
option casemap :none ; case sensitive
include \masm32\include\windows.inc
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\Comctl32.inc
include \masm32\include\comdlg32.inc
include \masm32\include\shell32.inc
include \masm32\include\oleaut32.inc
include \masm32\macros\macros.asm
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\Comctl32.lib
includelib \masm32\lib\comdlg32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\oleaut32.lib
.data
sec BYTE "Wieviel",0 ; [Section]
key BYTE "Nummer",0 ; Nummer=0E9h
;value BYTE "123456789",0 ;0E9h,00h ; Null term string Alt 233,234 0E9h 0EAh
value BYTE 0E9h,00h
file BYTE "win1.ini",0
valueOK BYTE "Value is OK.",0
Sample BYTE "Box",0
.code
start:
fn WritePrivateProfileString, Offset sec, ADDR key, ADDR value, ADDR file
fn GetPrivateProfileInt,Offset sec,ADDR key,0,ADDR file
; the comparison is failing for some reason
.if EAX==0E9h ;Show a message if stored value is OK
invoke MessageBox, 0, ADDR valueOK, ADDR Sample,MB_ICONINFORMATION
.endif
invoke ExitProcess,0
end start







