随笔 - 8  文章 - 4  trackbacks - 0
寄存器没有地址

也就是寄存器存放着存储器的地址.

CPU通过寄存器中存放的存储器地址来访问存储器中的数据

X86系列的处理器中的寄存器较少,所以
没有给cpu中的寄存器进行编址,而是直接对这些寄存器进行了命名.在访问寄存器的时候只要直接使用寄存器名就可以了.


lea指令举例:
lea 取得地址(第二个参数)后放入到前面的寄存器。
如:lea edi, ebp  ,就是将ebp里存储的地址放入edi, 让edi也只想这个地址。
其实就是edi 指向ebp指向的存储器地址

又如: lea edi, [ebp+0cch],   []中代表存储器地址, 即ebp指向的存储器地址+0cch偏移。


再举一个例子:
mov ecx,30h
mov eax,0CCCCCCCCh
rep   stos dword ptr es:[edi]
stos是串存储指令,他的功能是将eax中的数据存入edi寄存器所指向的存储器地址中。同时,edi会增加4(字节数)
rep是指令重复执行ecx中填写的次数
posted on 2010-01-22 18:57 Only Soft 阅读(307) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理