汇编语言之转移指令
汇编语言–转移指令 操作符 offset 功能:取得标号的偏移地址 程序: assume cs:codesg codesg segment start:mov ax,offset start ;相当于mov ax,0 s:mov ax,offset s ;相当于mov ax,3 codesg ends end start start和s是代码段中的标号,offset操作符取得了标号start和s的偏移地址0和3。 jmp指令的用法 jmp为无条件转移指令,可以只修改IP,也可以同时修改CS和IP。 1. 依据位移进行转移 段内短转移格式:jmp short 标号 作用:转到标号处执行指令,即(IP)=(IP)+8位位移,它对IP的修改范围为-128~127。 程序: assume cs:codesg codesg segment start:mov ax,0 jmp short s add ax, 1 s:inc ax codesg ends end start 上面的程序执行后,ax中的值为1,因为执行jmp short s后越过了add ax,1, IP指向了标号s处的 inc ax。也就是说,程序只进行了一次ax加1操作。 段内近转移格式:jmp near ptr 标号 作用:与“jmp short 标号”功能相近,不同之处在于(IP)=(IP)+16位位移