论坛: 编程破解 标题: 难道以前学的东西有错?????请高手帮忙 复制本贴地址    
作者: boyun_scu [boyun_scu]    论坛用户   登录
在masm编译环境下,如下的程序经过编译出现了问题:
code  segment
assume  cs:code
start:
        mov  ax,[1200h]
code  ends
end  start
编译之后发现 mov  ax,[1200h]变成了:mov  ax,1200h
请问这种现象如何用masm的编译原理进行解释,谢谢!
Sample Text


[此贴被 boyun_scu(boyun_scu) 在 10月20日13时31分 编辑过]


[此贴被 boyun_scu(boyun_scu) 在 10月20日14时08分 编辑过]

地主 发表时间: 07-10-20 13:27

回复: jhkdiy [jhkdiy]   版主   登录
[]的语法是括号内的内容被用来寻址,mov  ax,[1200h] 的意思就是将内存地址为1200h里的16位内容送到ax里。出现兄台所述之原因我认为是1200h地址里的内容刚好是1200,所以它直接将内容赋值过去,另外也有编译器版本不符而出现编译不兼容之情况发生也,故兄台需提供汝之编译环境才可再次参详也。

B1层 发表时间: 07-10-21 22:02

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号