1.转移指令:可以修改IP,或同时修改CS和IP的指令的统称。
2.8086CPU的转移行为:
(1)段内转移:只修改IP。如 jmp ax。
(2)段间转移:同时修改CS和IP。如 jmp 1000:0 。
3.由于转移指令对IP的修改范围不同,段内转移分为短转移和近转移。
短转移IP的修改范围为-128~127.
近转移IP的修改范围为-32768~32767.
4.8086CPU转移指令分类:
a.无条件转移指令;
b.条件转移指令;
c.循环指令;
d.过程;
e.中断。
5.操作符offset的功能是取得标号的偏移地址。
6.段内短转移的jmp指令:jmp short 标号
段内近转移的jmp指令:jmp near ptr 标号
段间转移(远转移):jmp far ptr 标号
转移地址在reg中的jmp指令:jmp 16位reg
7.转移地址在内存中的jmp指令:
(1)jmp word ptr 内存单元地址 (段内转移)
(2)jmp dword ptr 内存单元地址 (段间转移)
8.所有的有条件转移指令都是短转移,对IP的修改范围都为-128~127.
9.jcxz指令为有条件转移指令:
指令格式:jcxz 标号 (如果(cx)=0,转移到标号处执行)
10.所有的循环指令都是短转移。如 loop 指令。
11.loop指令格式: loop标号 ((cx)=(cx)-1,如果(cx)不为零,转移到标号处执行)
12.根据位移进行转移的指令,它们的转移范围受到转移位移的限制。
实验8 分析一个奇怪的程序
略。
实验9 根据材料编程
略。
END
2012年01月04日