call、ret(f)、mul

call、ret、ret及其等效指令

call指令:

1.call 标号          (唯一利用位移跳转的call)

push ip

jmp near ptr 标号

2.call far ptr 标号

push cs

push ip

jmp far ptr 标号

3.call reg16

push ip

jmp reg16

4.call word ptr 内存单元地址

push ip

jmp word ptr 内存单元地址

5.call dword ptr 内存单元地址

push cs

push ip

jmp dword ptr 内存单元地址

 

ret、retf指令:

1.ret:

pop ip

2.retf:

pop ip

pop cs

 

mul指令:

1.两个乘数要么都是8位,要么都是16位

2.8位乘法:一个乘数在al中,另一个在reg8中或内存字节单元中,结果在ax中

3.16位乘法:一个乘数在ax中,另一个在reg16中或内存字单元中,结果高16位在dx中,低16位在ax中

 

注意点:

1.call指令没有短转移

2.mul的乘数不能是立即数,div也是如此