庞大资源库的计算机教程网站!
设为首页
加入收藏
总编信箱
投稿或申请专栏请先 [登 陆]
首页 操作系统 程序设计 图形图像 媒体动画 机械电子 WEB开发 数 据 库 办公系列 路由技术 网络原理 网络应用
认证考试 安全技术
首页>程序设计>汇编语言>技巧教程>正文
资料搜索
Google搜索
Google
返回上级列表

推荐文章

快速保存网页中所有图片的方法
Windows中让光驱巧妙“隐身”技
防范非法用户入侵Win 2000/XP系
两款比较典型的ASP木马防范方法
有关表格边框的css语法整理
Windows XP中可以被禁用的服务
SQL Server导出导入数据方法
Javascript所有对象的属性的获
网页(HTML)中的特殊字符
与篮球共舞,尽显模式本色
QQ病毒的手工清除方法
Photoshop为极品美女打造性感睫
天衣无缝:IIS与PHP水火也相容
SQL Server存储过程编写和优化

举例说明在汇编语言中,"[]"的用法

 作者:FTBirthday    日期:2005-8-1 15:47:30
字号选择〖 〗/ 双击滚屏 单击停止   
"[]"的用法在"常见问题"已经有所说明,引用如下:

1、push dword ptr [024c1100] 压栈024c1100值的双字
2、cmp eax,[ebp+14] eax-ebp+14的有效值,不保留值,主要看标志位
3、cmp byte ptr [eax],46 字节型eax-46,看标志位
4、lea eax,[edx-02] 把edx-02的有效值(一个地址值)给eax
5、mov ecx,[edx+08] edx+8值作为地址,此地址所指向的值给ecx

我再补充几例我遇到的情况,参考了一些资料,以及我个人的理解.
-------------------------------------------------------------------------------
mov指令中用到"[]"

1--mov [edi], eax ----把eax的值(dword)赋给位于内存地址edi处的值
2--mov [bp-02], dx ---把dx的值(word)赋给位于内存地址bp-02处的值
3--mov esi,[BP+14] ---把位于内存地址BP+14的dword大小的值移入esi寄存器
4--mov eax, dword ptr [ebp-04]---把位于内存地址ebp-04的dword大小的值移入eax寄存器
5--mov eax, dword ptr[0000003Ah]--把位于内存地址3A的dword大小的值放入eax寄存器
6--mov cl, byte ptr [34h]--把位于内存地址34的byte大小的值放入cl寄存器
7--mov dx, word ptr [3Eh]--把位于内存地址3E的word大小的值放入dx寄存器
8--mov eax,[00403045h] --从内存地址403045读取一个32位的值
9--mov al, byte ptr [eax+ecx]--把位于内存地址eax+ecx的byte大小的值放入al寄存器

综括号"[]"用来从括号间的内存地址处取值,没有括号就只是这个值,寄存器和内存地址也可以.

10--mov cx,[eax]--把位于内存地址eax的word大小的值移入cx寄存器
在mov cx, [eax]中,处理器会先查看eax装有什么值(=内存地址),然后在那个内存地址中有什么值,并把这个word(16位,因为目标-cx-是个16位寄存器)移入cx。
-------------------------------------------------------------------------------
cmp指令中用到"[]"

1--cmp dword ptr [ebp-04], 00000007--把位于内存地址ebp-04的dword大小的值与00000007比较
2--cmp byte ptr [si], 00 --把位于内存地址si的byte大小的值与00比较

-------------------------------------------------------------------------------
lea指令中用到"[]"

1--lea di, [bp-22] ----把bp-22的有效值(=内存地址)给di
-------------------------------------------------------------------------------
test指令中用到"[]"

1--test byte ptr [bx+08FD]
--将位于内存地址bx+08FD处的byte大小的值逻辑与,判断运算结果是否为00
上一篇:汇编与C配合    下一篇:扩展Int 13H调用规范  
[发送给好友]  [关闭窗口]  [返回顶部]   转载请注明来源:www.it00.com   
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
责任编辑: 原点 投稿作者: FTBirthday
信息来源: 网络 录入时间: 2005-8-1 15:47:30
关于我们 - 广告服务 - 版权申明 - 网站地图 - 联系方式 - 总编信箱 - 会员投稿