汇编网首页登录博客注册
gecko的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
  •  好男儿当志在天下,好男儿亦不负红颜!
  • 『姓名』:GECKO_LIN           
  • 『性别』:保密  『发送消息
  • 个人说明:好男儿当志在天下,好男儿亦不负红颜!
  • 详细信息『加为好友』
学习动态

[2007-11-22 20:31] 总结第九章与第十章

操作符offset
操作符offset是取标号在程序段中的偏移地址。

jmp指令:
jmp指令有很多种用法。


2.
根据位移进行转移的jmp指令
jmp short 标号  (段内短转移,修改IP的范围为-128~127)
jmp near 标号    (段内近转移,修改IP的范围为-32768~32767)

3.
转移的目的地址在指令中的jmp指令
jmp far ptr 标号 (段间转移)
far ptr 指明了指令用标号的段地址和偏移地址修改cs和ip.

4.
转移地址在寄存器中的jmp指令
jmp 16位寄存器  ((IP)=(16位寄存器))

5.
转移地址在内存中的jmp指令
(1)jmp word ptr 内存单元地址(段内转移)
从内存单元中取一个字的数据,并用此修改ip的内容.

(2)jmp dword ptr 内存单元地址(段间转移)
从内存中取出两个字的数据,用高位的修改cs的值,低位的修改ip的值.


2.jcxz与loop
jcxz和loop都是有条件转移指令,并且有条件转移指令都是短转移,进行的是位移。修改IP的地址范围是-128~127.



第十章
call、ret、retf
ret修改ip
retf修改cs及ip

call修改ip或cs和ip

使用"call 标号"时,使用ret返回
使用"call far ptr 标号"时,使用retf返回。

call的使用形式与jmp大致一样。
call与jmp大致相同,但他多了一项功能,就是把当前ip或cs和ip的值入栈。这也是为何ret,retf与call配合使用的重要一点.
评论次数(0)  |  浏览次数(512)  |  类型(学习心得) |  收藏此文  | 
 
 请输入验证码  (提示:点击验证码输入框,以获取验证码