Visual studio 2010 VS10中内置的MASM错误

Visual studio 2010 VS10中内置的MASM错误,visual-studio-2010,assembly,syntax,compilation,masm,Visual Studio 2010,Assembly,Syntax,Compilation,Masm,所附代码是为SaveGame cleaner提供的源代码。 唯一不清楚的是入口点,它被设置为主入口。 但是[的反编译器提供了类似于_start的东西。 第一个代码块是 ; SaveTool V 1.13 _______________________________________________________________________________________ [true 1 false 0 NULL 0] [FilterStrings: B$ 'Save F

所附代码是为SaveGame cleaner提供的源代码。 唯一不清楚的是入口点,它被设置为主入口。 但是[的反编译器提供了类似于_start的东西。 第一个代码块是

; SaveTool V 1.13
_______________________________________________________________________________________

[true 1    false 0    NULL 0]


[FilterStrings: B$  'Save Files', 0, '*.ess', 0
                0,0,0]
*Error  6   error A2044: invalid character in file  SaveCleaner.asm 12  1*  SaveCleanerNextline
   [UserFileFilter: 0 #50] [ChoosenFile: 0 #64]


[OFN_FILEMUSTEXIST 01000  OFN_PATHMUSTEXIST 0800     OFN_LONGNAMES 0200000
 OFN_EXPLORER 080000      OFN_HIDEREADONLY 04]


[OFN_FLAGS        OFN_FILEMUSTEXIST+OFN_PATHMUSTEXIST+OFN_LONGNAMES+OFN_HIDEREADONLY+OFN_EXPLORER]


[OpenFileNameStructure:  len  hwndFileOwner: 0  OF_hInstance: 0  FilterStrings
                         0  0 1 FullChoosenFile 200 ChoosenFile
                         80  NULL  OpenFileTitle  OFN_FLAGS
                         nFileOffsetinChoosenFile: W$ 0  nFileExtensioninChoosenFile: 0
                         DefaultExtension: D$ NULL
                         HookCustomData:  NULL  HookProcPtr: NULL  HookTemplateName: 0 0   0 0 ]

[OpenFileTitle:        'Open .ess file' 0]
*Error  6   error A2044: invalid character in file  SaveCleaner.asm 12  1      SaveCleanerNextline*
[FullChoosenFile: 0 #64] [<16 algn: 0]
   __________________________________________________________________________________________
;保存工具版本1.13
_______________________________________________________________________________________
[真1假0空0]
[FilterString:B$'保存文件',0',*.ess',0
0,0,0]
*错误6错误A2044:文件SaveCleaner.asm 12 1*SaveCleanerNextline中的无效字符
[UserFileFilter:0#50][ChooseFile:0#64]
[OFN_文件必须存在01000 OFN_路径必须存在0800 OFN_长名称0200000
OFN_探险家080000 OFN_隐藏04]
[N_文件的OFN_标志必须存在+OFN_路径必须存在+OFN_长名称+OFN_隐藏地址+OFN_资源管理器]
[OpenFileNameStructure:len hwndFileOwner:0个筛选器字符串中的0个
0 0 1完整选择文件200选择文件
80 N_标志的空OpenFileTitle
nfileOffsetInChooseFile:W$0 nfileExtensionInChooseFile:0
DefaultExtension:D$NULL
HookCustomData:NULL HookProcPtr:NULL HookTemplateName:0]
[OpenFileTitle:'Open.ess文件'0]
*错误6错误A2044:文件SaveCleaner.asm 12 1 SaveCleanerNextline中的无效字符*
[完整选择文件:0#64][错误MSB3721:命令“ml.exe/c/nologo/Zi/Fo”Debug\SaveCleaner.obj”/I>“c:\masm32\lib”/I“c:\masm32\include”/I“c:\masm32\macros”/W3/errorReport:prompt>/TaSaveCleaner.asm”已退出,代码为1


VS设置中缺少了什么?

看来您的asm源代码是源代码,您将没有机会在MASM/Visual Studio下编译它

RosASM是一个win32汇编程序,它使用了一个非常原始的设计,允许它将源代码存储在编译后的可执行文件中(在专用部分中)还有许多其他功能,如集成IDE、集成调试器、一些功能强大的宏、资源编辑器、对话框编辑器、不需要滚动条的原始源代码导航样式、将源代码划分为“标题”章节的可能性…这是一个非常令人惊讶的工具,需要一些练习才能熟悉它,我仍然使用它进行asm win32编程

我已经检查了代码是否使用RosASM进行了汇编,但是我既没有得到错误,也没有得到结果,因为我没有相应的游戏

原来的RosASM网站现在消失了,但最近又重新上线了,我维护了一个可以获取二进制文件、大量示例和功能齐全的应用程序(甚至是一个正常工作的NES仿真器)的网站由罗萨姆制成,可以帮助你学习罗萨姆用法。仅供参考,痉挛是罗萨姆的祖先,而BUASM是对未完成的罗萨姆的改造

关于可执行入口点,您可以通过查看
TITLE Main
中的
Proc Main
来获取该入口点,其内容如下:

Proc Main:
调用'KERNEL32.HeapCreate'0 | mov D$Heap eax
调用'Kernel32.GetModuleHandleA'0 | mov D$hInstance eax
调用“USER32.DialogBoxParamA”eax IDD_MAINDIALOG&NULL DialogProc&NULL
调用'KERNEL32.HeapDestroy'D$Heap
调用“内核32.ExitProcess”0
EndP

HTH.

这看起来不像MASM语法。它是为什么汇编程序编写的?我真的不知道。指令集看起来类似于[Tip from the old days:大量错误几乎总是意味着您有一个语法错误,可能在[a]最开始或[B]附近最后。更让你恼火的是,导致此错误的语法错误可能与此无关。我立即提出的两个建议是:(1)查看行中报告的第一个错误,然后从那里返回,查找罪魁祸首,然后(2)如果你没有在那里找到它,看最后一个,然后开始在后面的行中寻找罪犯。看FilterString-在MASM中没有这样的东西。有FilterString。感谢Seki提供的信息。我算是找到了入口点,但这并不等于是hill o'beans通过错误的编译器运行!实际上是编写代码还在编写中,所以我想我会慢慢地退出:)但是这个RosASM给人留下了深刻的印象。对于这类项目来说,64位的迁移真的会给它们敲响丧钟吗(尽管仍然是活跃的,即维基百科)?@LaurieStearn:你让我注意到维基百科页面从2012年起就重新上线了(IIRC它曾经被删除过).RosAsm的一位贡献者(Rémi Coquet)正在进行RosAsm的改进和64位改编,名为BUAsm(自底向上asm)。我的档案中有一些早期版本,但没有新版本。