Hey,
Right so we've put in some other changes to 2.39 and fixes apart from the really cool DEFINE/UNDEF directives which now means BOTH of these styles work simultaneously with option literals:on
.386
.model Flat, C
option Casemap :None
OPTION LITERALS:ON ; Allow string literals use in INVOKE
TRUE equ 1
includelib c:\masm32\lib\ntdll.lib
RtlCompareString PROTO STDCALL :ptr,:ptr,:BYTE
RtlInitAnsiString PROTO STDCALL :ptr, :ptr
includelib c:\masm32\lib\msvcrt.lib
printf PROTO :PTR, :vararg
includelib c:\masm32\lib\kernel32.lib
ExitProcess proto STDCALL :dword
_STRING struct
_Length word ?
_Maximumlength word ?
_Buffer dword ?
_STRING ends
.data
format db "result: %d",13,10,"%s",13,10,0
s1 db "someStr",0 ;
s2 db "anotherStr",0 ;
.code
main proc
LOCAL str1 : _STRING
LOCAL str2 : _STRING
INVOKE RtlInitAnsiString, addr str1, "someStr"
INVOKE RtlInitAnsiString, addr str2, "anotherStr"
INVOKE RtlCompareString, addr str1, addr str2, TRUE
INVOKE printf, "result: %d\n%s\n", eax, "test"
INVOKE RtlInitAnsiString, addr str1, addr s1
INVOKE RtlInitAnsiString, addr str2, addr s2
INVOKE RtlCompareString, addr str1, addr str2, TRUE
INVOKE printf, addr format, eax, addr s1
INVOKE ExitProcess,0
main endp
end main