Search code examples
assemblymasm

probleme with error A2206: missing operator in expression


Hi guys I have this code here in assembly it should create a message box but when I try to compile it with Masm

I get this error: C:..\test.asm(26) : error A2206: missing operator in expression

.386 .model flat, stdcall

option casemap:none

includelib C:\masm32\lib\kernel32.lib    
includelib C:\masm32\lib\user32.lib    
include C:\masm32\include\kernel32.inc    
include C:\masm32\include\user32.inc    
include C:\masm32\include\windows.inc

.data MsgText db "Hello World!",0

MsgTitle db "My First MessageBox",0

.code

Main:

xor ebx,ebx    
xor ecx,ecx    
push offset MsgTitle ;title    
mov ebx,esp    
push offset MsgText    ;text    
mov ecx,esp    
xor eax,eax       
push eax    
push ebx    
push ecx  
push eax    
xor esi,esi 

**mov esi, 0x7655ea71 (absolute addresses of windows function MessageBoxA within USER32.DLL)**

jmp esi

end Main

Solution

  • Should be

        mov esi, 7655ea71h
    

    Note the h instead of 0x