首页
社区
课程
招聘
[旧帖] [原创]常用转移指令整理 0.00雪花
发表于: 2010-11-18 19:07 3722

[旧帖] [原创]常用转移指令整理 0.00雪花

2010-11-18 19:07
3722

转移分类:
1. 段内转移:只修改IP
    a. 短转移:-128~127
    b. 近转移:-32768~32767
2. 段间转移:修改CS和IP

1. offset 标号
   取得标号的偏移地址

2. 段内短转移
   jmp short 标号 (IP)=(IP)+8位位移
   转到标号处执行(并不包含转移的目的地址而是转移的位移)
   
   段内近转移
   jmp near ptr 标号 (IP)=(IP)+16位位移

3. 段间转移(远转移)
   jmp far ptr 标号
   (CS)=标号所在段的段地址;(IP)=标号在段中的偏移地址

4. jmp 16位reg
   (IP)=(16位reg)

5. jmp word ptr 内存单元地址(段内转移)
   (IP)=内存单元开头一个字

   jmp dword ptr 内存单元地址(段间转移)
   (CS)=(内存单元地址+2)
   (IP)=(内存单元地址)

6. jcxz 标号
   if((cx)==0) jmp short 标号

7. loop 标号
   (cx)--;
   if((cx)!=0) jmp short 标号

8. ret
   相当于:pop IP
   retf
   相当于:pop IP
           pop CS

9. call 标号
   相当于:push IP
           jmp near ptr 标号

   call far ptr 标号
   相当于: push CS
            push IP
            jmp far ptr 标号

10. call 16位reg
    相当于:push IP
            jmp 16位reg

11. call word ptr 内存单元地址
    相当于:push IP
            jmp word ptr 内存单元地址

    call dword ptr 内存单元地址
    相当于:push CS
            push IP
            jmp dword ptr 内存单元地址


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (4)
雪    币: 64
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
你在看王爽的8086?
2010-11-18 19:48
0
雪    币: 11
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
看过了,这里老记不清楚,记下来方便看。
2010-11-18 20:13
0
雪    币: 26
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
有一些值得学习,比如call dword ptr 内存单元地址/call far ptr 标号和retf是对应使用的
2016-5-14 10:01
0
雪    币: 1
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习一下
2016-5-14 13:46
0
游客
登录 | 注册 方可回帖
返回
//