1. call 标号, (机器码中包含了位移)
执行call指令,相当于执行下面两条指令
push ip
jmp near ptr 标号
2. call far ptr 标号, (机器码中包含转移的目的地址)
push cs(call指令的下一条指令的cs地址)
push ip(call指令的下一条指令的ip地址)
jmp far ptr 标号
执行该call指令后,修改的是cs,ip寄存器。 cs=标号的段地址 ip=标号的ip地址
3. call 16位寄存器 (转移地址在寄存器中)
push ip
jmp 16位寄存器
执行该call指令后,修改的是ip寄存器,ip寄存器是16位寄存器中的字型数据。
4. 转移地址在内存中
call word ptr 内存单元地址
相当于执行了 push ip, jmp word ptr 内存单元地址
call dword ptr 内存单元地址
相当于执行了push cs, push ip, jmp dword ptr 内存单元地址