IA-32e

Intel の 64bit 拡張は AMD64 互換かぁ。とは言っても AMD64 アーキテクチャの 64bit モードってどんなのだか知らないんだけど。

AMD
AMD64 アーキテクチャ 技術資料
Intel
Intel 64-bit Extention Technology

各 GPR が 64bit に拡張されていて、かつ 8 つ GPR が増えてるのかー。
動作モードは以下の表の通り。

Operating ModeOperating
System Required
Application
Recompile
Required
DefaultsRegister
Extensions
Typical
Address
Size(bits)
Operand
Size(bits)
GPR
Width(Bits)
Long Mode
(IA-32e)
64-bit ModeNew 64-bit OSyes6432yes64
Compatibility
Mode
no32no32
161616
Legacy
Mode
Protected ModeLegacy 32-bit OSno3232no32
1616
Virtual-8086
Mode
161616
Real ModeLegacy 16-bit OS
あーもー、AMD の資料判り難いな…Intel の資料の方が読み易い気がするぞ。

long mode だと仮想 86 モードが使えない?
long mode だと仮想 86 モードは使えない。VM bit は無視される(Intel #30083401, p1-17, 1.6.3.3.)。
オペランドサイズが 32bit までしか無い様に見えるけど…
long mode の 64-bit mode で新しい prefix(REX) が追加されていて、この prefix が付与されると実効オペランドサイズが 64bit になる。LP64 で long/pointer を扱う時に REX prefix が付与される感じなのかな。
各モードの遷移
Real <-> Protected <-> Compatibility <-> 64-bit。VM86 Mode は従来通り Protected Mode と相互に行き来ができる。