![Intel ITANIUM ARCHITECTURE Manual Download Page 59](http://html.mh-extra.com/html/intel/itanium-architecture/itanium-architecture_manual_2073403059.webp)
4:52
Volume 4: Base IA-32 Instruction Reference
CALL—Call Procedure
(Continued)
IF stack not large enough for return address THEN #SS(0); FI;
tempEIP
DEST(offset)
IF OperandSize=16
THEN
tempEIP
tempEIP AND 0000FFFFH; (* clear upper 16 bits *)
FI;
IF tempEIP outside code segment limit THEN #GP(0); FI;
IF OperandSize = 32
THEN
Push(CS); (* padded with 16 high-order bits *)
Push(EIP);
CS
DEST(NewCodeSegmentSelector);
(* segment descriptor information also loaded *)
CS(RPL)
CPL;
EIP
tempEIP;
ELSE (* OperandSize = 16 *)
Push(CS);
Push(IP);
CS
DEST(NewCodeSegmentSelector);
(* segment descriptor information also loaded *)
CS(RPL)
CPL;
EIP
tempEIP;
FI;
IF Itanium System Environment AND PSR.tb THEN IA_32_Exception(Debug);
END;
CALL-GATE:
IF call gate DPL < CPL or RPL THEN #GP(call gate selector); FI;
IF not present THEN #NP(call gate selector); FI;
IF Itanium System Environment THEN IA-32_Intercept(Gate,CALL);
IF call gate code-segment selector is null THEN #GP(0); FI;
IF call gate code-segment selector index is outside descriptor table limits
THEN #GP(code segment selector); FI;
Read code segment descriptor;
IF code-segment segment descriptor does not indicate a code segment
OR code-segment segment descriptor DPL > CPL
THEN #GP(code segment selector); FI;
IF code segment not present THEN #NP(new code segment selector); FI;
IF code segment is non-conforming AND DPL < CPL
THEN go to MORE-PRIVILEGE;
ELSE go to SAME-PRIVILEGE;
FI;
END;
MORE-PRIVILEGE:
IF current TSS is 32-bit TSS
THEN
TSSstackAddress
new code segment (DPL
8) + 4
IF (TSSstackA 7)
TSS limit
THEN #TS(current TSS selector); FI;
newSS
TSSstackA 4;
newESP
stack address;
ELSE (* TSS is 16-bit *)
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......