2013-07-06 34 views
0

嗨,大家好,我这里的代码汇编它应该创建一个消息框,但是当我尝试与MASMprobleme错误A2206:表达式中缺少运算

编译它

我得到这个错误:C:.. \ TEST.ASM(26):错误A2206:表达式中缺少运算

.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 

回答

3

应该是

mov esi, 7655ea71h 

注意的h代替0x

+0

仍然没有工作人员 – caesar

+0

您也可以删除'DWORD PTR'位,只是正确的十六进制表示法。我在masm32上测试过它,它在这里工作。 – Devolus

+0

它的工作感谢球员 – caesar

相关问题