Assembly masm32代码显示错误“;A2206“;

Assembly masm32代码显示错误“;A2206“;,assembly,masm,masm32,Assembly,Masm,Masm32,下面的代码段应该遍历PEB中的初始化OrderModuleList,并返回kernel32.dll的基址。但是,当我尝试控制台组装并链接以下代码时,我得到一个错误,指出表达式中缺少一个运算符 .486 option casemap :none include \masm32\include\masm32rt.inc .code start: cal

下面的代码段应该遍历
PEB
中的初始化OrderModuleList,并返回kernel32.dll的基址。但是,当我尝试
控制台组装并链接
以下代码时,我得到一个错误,指出表达式中缺少一个
运算符

.486                                                     
option casemap :none                    

include \masm32\include\masm32rt.inc

.code
start:
call main
exit

main proc
mov eax, large fs:30h
mov eax, [eax+0Ch]
mov esi, [eax+1Ch]
lodsd
mov eax, [eax+8]
print str$(eax)
ret
main endp

end start
因此,我将行更改为:-

mov-eax,fs:30h


我得到的错误是
错误A2108:使用寄存器假定为错误
。我做错了什么?

刚刚弄明白,添加
假设fs:nothing
解决了问题