您的位置:首页 > 其它

汇编语言JMP命令总结

2014-12-23 22:11 288 查看
       为了方便大家的学习,我对JMP命令的汇总做了新一版的修订,新的总结更为详细,如果大家有什么意见和建议,请post在评论里面,谢谢。

格式描述举例类别说明
jmp 16位寄存器以16位寄存器的值改变IPjmpax段内转移
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和IPjmp 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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: