jmp指令用法总结
来源:互联网 发布:斩妖伏魔录3java破解版 编辑:程序博客网 时间:2024/05/19 18:45
jmp指令用法总结:
1.直接用法(只能在Debug下使用的汇编指令):
jmp 段地址:偏移地址
功能:修改CS、IP的内容
例子:jmp 55BA:8
执行后:(CS)=55EAH, (IP)=0008H
2.根据标号进行转移的用法:
(1).转移的目的地址不在指令中,依据位移进行转移(段内转移)
a.jmp short 标号(IP的修改范围为-128至127)
功能:(IP)=(IP)+8位位移
b.jmp near ptr 标号(IP的修改范围为-32768至32767)
功能:(IP)=(IP)+16位位移
注:依据位移进行的转移是段内转移,位移=标号处的地址-jmp指令后的第一个字节的地址。
(2).转移的目的地址在指令中(段间转移)
jmp far ptr 标号
功能:用标号的段地址和偏移地址修改CS和IP
(CS)=标号所在段的段地址;(IP)=标号所在段的偏移地址
例子:略
3.转移地址在寄存器中的用法:
jmp 某一合法寄存器
功能:用寄存器中的值修改IP
例子:jmp ax
执行后:(IP)=(ax)
注意:合法寄存器是指通用寄存器。一个有趣的现象:jmp ip在debug下调试也是
错误的。字面上理解:(IP)=(IP),但CPU并不支持
4.转移地址在内存中的用法:
(1).jmp word ptr 内存单元地址(段内转移)
功能:从内存单元地址出开始存放着一个字,是转移的目的偏移地址
例子:mov ax,0123H
mov [bx],ax
jmp word ptr [bx]
执行后:(IP)=0123H
(2).jmp dword ptr 内存单元地址(段间转移)
功能:从内存单元地址处开始存放着两个字,高地址处的字是转移的目的段地址,低地址处是转移的目的偏移地址
例子:mov ax,0123H
mov [bx],ax
mov word ptr [bx+2],0
jmp dword ptr [bx]
执行后:(CS)=0, (IP)=0123H
- jmp指令用法总结
- jmp指令用法
- jmp指令用法
- jmp 指令用法
- 汇编jmp指令用法
- 汇编Jmp指令总结
- jmp指令
- JMP指令
- jmp指令
- jmp 指令
- jmp指令
- JMP指令
- Jmp指令的格式
- 汇编学习--jmp指令
- 汇编jmp指令
- 8086中的jmp指令
- 汇编 jmp指令
- jmp指令(0903)
- RTP通话:视频流(H.264)的传输
- UIApplication深入学习
- Tab bar item的image 设置后,图片显示怪异
- tesseract64位编译
- iphone开发 启动时判断设备方向
- jmp指令用法总结
- 【每日一练】(第1期)关于调用规范和函数指针
- UITableView 基本使用方法总结
- iReport中交叉报表列头的排序
- ASP.NET 弹出提示框所有种类(二)
- 注册表
- 如何完整的修改一个数据库的名称
- "由于应用程序配置不正确"的解决办法
- Spring 3.x jar 包详解 与 依赖关系