Intel ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3 Manual page 1517

Hide thumbs Also See for ITANIUM ARCHITECTURE - SOFTWARE DEVELOPERS MANUAL VOLUME 1 REV 2.3:
Table of Contents

Advertisement

INS/INSB/INSW/INSD—Input from Port to String (Continued)
If the referenced I/O port is mapped to an unimplemented virtual address (via
the IOBase register) or if data translations are disabled (PSR.dt is 0) a
GPFault is generated on the referencing INS instruction.
Operation
IF ((PE = 1) AND ((VM = 1) OR (CPL > IOPL)))
THEN (* Protected mode or virtual-8086 mode with CPL > IOPL *)
IF (CFLG.io AND Any I/O Permission Bit for I/O port being accessed = 1)
FI;
ELSE ( * I/O operation is allowed *)
FI;
IF (Itanium_System_Environment) THEN
SRC_VA = IOBase | (Port{15:2}<<12) | Port{11:0};
SRC_PA = translate(SRC_VA);
DEST  [SRC_PA]; (* Reads from I/O port *)
FI;
memory_fence();
DEST <- SRC;
memory_fence();
IF (byte transfer)
FI;
FI;
Flags Affected
None.
Volume 4: Base IA-32 Instruction Reference
THEN #GP(0);
THEN IF DF = 0
THEN (E)DI  1;
ELSE (E)DI  -1;
FI;
ELSE IF (word transfer)
THEN IF DF = 0
THEN DI  2;
ELSE DI  -2;
FI;
ELSE (* doubleword transfer *)
THEN IF DF = 0
THEN EDI  4;
ELSE EDI  -4;
FI;
FI;
4:215

Advertisement

Table of Contents
loading

This manual is also suitable for:

Itanium architecture 2.3

Table of Contents