lcall immptr lcall *mem48
far call ptr16:{16|32} far call m16:{16|32}
The lcall instruction calls intersegment (far) procedures using a full pointer. lcall causes the procedure named in the operand to be executed. When the called procedure completes, execution flow resumes at the instruction following the lcall instruction (see the return instruction).
lcall ptr16:{16|32} uses a four-byte or six-byte operand as a long pointer to the called procedure.
lcall m16:{16|32} fetches the long pointer from the specified memory location.
In Real Address Mode or Virtual 8086 Mode, the long pointer provides 16 bits for the CS register and 16 or 32 bits for the EIP register. Both forms of the lcall instruction push the CS and IP or EIP registers as a return address.
Use a four-byte operand as a long pointer to the called procedure.
lcall $0xfebc, $0x12345678
Fetch a long pointer from the memory location addressed by the edx register, offset by 3.
lcall *3(%edx)