X86汇编5.高级指令详解
最近学习了X86汇编,其实无论是古老的8086还是现在i3/5/7/9,Xeon3/5,在最基本原理上,都是相通的,只是CPU位数,寻址空间,寄存器个数,指令集的扩充等方面有所不同,对于学习,8086永不过时。 转移指令 1.转移指令分类: (1)无条件转移指令,如: jmp (2)条件转移指令 (3)循环指令,如: loop (4)过程 (5)中断 操作符 1.offset 释义:由编译器处理的符号,功能是取得标号的偏移地址 start: mov ax,offset start ;相当于mov ax, 0 s: mov ax, offset s ;相当于mov ax, 3 高级指令 1.jmp指令 释义: 无条件转移指令,可以只修改IP,也可以同时修改CS和IP。 jmp指令要给出两种信息: (1)转移的目的地址 (2)转移的距离(段时间转移、段内短转移,段内近转移) 1)依据位移进行转移的jmp指令: jmp short 标号(转到标号处执行指令) 这种指令格式的jmp指令实现的是段内转移,它对IP的修改范围是:-128 ~ 127,也就是说,它向前转移时最多128字节,向后最多127. jmp near ptr 标号,功能为:(IP)= (IP)+ 16 2)转移的目的地址在指令中的jmp指令 jmp far ptr 标号,实现段间转移,又称远转移 (CS) =