汇编语言JMP命令总结
2014-12-23 22:11
288 查看
为了方便大家的学习,我对JMP命令的汇总做了新一版的修订,新的总结更为详细,如果大家有什么意见和建议,请post在评论里面,谢谢。
格式 | 描述 | 举例 | 类别 | 说明 |
jmp 16位寄存器 | 以16位寄存器的值改变IP | jmpax | 段内转移 | |
jmp 段地址:偏移地址 | 以立即数改变段地址和偏移地址 | jmp0045H:0020H | 段间转移 | |
jmp short 标号 | 以标号地址后第一个字节的地址来改变IP,实际上这个功能可以作如下描述: (IP)=(IP)+8bit位移 8bit位移指的是从jmp指令后第一个字节开始算起 | jmp shortsign | 段内短转移 | 对IP的修改范围是-128->127,实际算法是编译器根据当前IP指针的指向来计算到底偏移多少个字节来指向下一条指令,下面这段代码就会出编译错误 jmp short s dw 200 dup(2) s: mov ax,4 因为跳转超过了范围 |
jmp near ptr标号 | 以标号地址后第一个字的地址来改变IP, 实际上这个功能可以作如下描述: (IP)=(IP)+16bit位移 16bit位移指的是从jmp指令后第一个字节开始算起 | jmp near ptrsign | 段内近转移 | 对IP的修改范围是-32768->32767 |
jmp far ptr标号 | 以标号的段地址和指令地址同时改变CS和IP | jmp far ptrsign | 段间转移 | |
jmp word ptr内存地址 | 以内存地址单元处的字修改IP,内存单元可以以任何合法的方式给出 | jmp word ptrds:[si] jmp word ptr ds:[0] jmp word ptr [bx] jmp word ptr [bp+si+idata] | 段内转移 | |
jmp dword ptr内存地址 | 以内存地址单元处的双字来修改指令,高地址内容修改CS,低地址内容修改IP,内存地址可以以任何合法的方式给出 | jmp dword ptr[bx] | 段间转移 | s1 segment dw 0a0bh, 0c0dh s1 ends … mov ax,s1 mov ds,ax jmp dword ptr ds:[0] |
相关文章推荐
- 8086汇编语言自学经验分享 汇编源程序中使用jmp命令修改IP
- 8086汇编语言自学经验分享 用jmp命令修改IP寄存器的值
- 8086汇编语言自学经验分享 汇编源程序中使用jmp命令修改CS:IP
- 汇编语言知识点总结
- 常用汇编命令+OD使用命令 总结笔记
- 汇编语言基础之六- 调用栈和各种调用约定的总结对比
- 汇编语言基础之九- 关于栈指针的规律性的总结
- 实训汇编语言设计——键盘命令
- 汇编语言——跳转指令: JMP、JECXZ、JA、JB、JG、JL、JE、JZ、JS、JC、JO、JP
- 【编程语言】基于X86的汇编语言学习总结
- 汇编语言debug常用调试 命令详解
- 汇编语言学习小总结
- 北京自考北大上机汇编语言知识点总结
- 汇编语言DEBUG命令大全
- 汇编语言学习的一些小总结
- 汇编语言笔记08-数据处理的两个基本问题(阶段总结)
- 实训汇编语言设计——键盘命令
- 汇编语言命令速查
- 汇编语言命令参数程序的编写
- 随想汇编语言阶段性总结