24531904_j
24531904_j 24531904_j
LTR—Load Task Register ( 続き ) 保護モード例外 #GP(0) 現行特権レベルが 0 でない場合。 メモリ ・ オペランドの実効アドレスが CS、 DS、 ES、 FS、 または GS セグ メ ン ト の範囲外の場合。 DS、 ES、 FS、 または GS レジスタを使用してメモリがア クセスされ、 レジスタの内容が NULL セグメン ト ・ セレ クタであった場合。 #GP( セレクタ ) ソ ー ス ・ セ レ ク タ の指示先のセグ メ ン ト が TSS でないか、 ま たは そのセグ メ ン ト の タ ス ク がすでに ビ ジ ー の場合。 セレクタが LDT を指しているか、 または GDT の範囲を超 えてい る場合。 #NP( セレクタ ) TSS が存在しない と マ ー ク さ れている場合。 #SS(0) メモリ ・ オペランドの実効アドレスが SS セグメン ト の範 囲外の場合。 #PF ( フォルト ・コード ) ペー ジ ・ フ ォ ル ト が発生した場合。 実アドレス・モード例外 #UD LTR 命令は実ア ド レ ス ・ モー ド では認識 さ れない。 仮想 8086 モード例外 #UD LTR 命令は仮想 8086 モー ドでは認識されない。 3:654 第 3 巻 : IA-32 基本命令リファレンス
MOV—Move オペコード 命令 説明 88 /r MOV r/m8,r8 r8 を r/m8 に転送する。 89 /r MOV r/m16,r16 r16 を r/m16 に転送する。 89 /r MOV r/m32,r32 r32 を r/m32 に転送する。 8A /r MOV r8,r/m8 r/m8 を r8 に転送する。 8B /r MOV r16,r/m16 r/m16 を r16 に転送する。 8B /r MOV r32,r/m32 r/m32 を r32 に転送する。 8C /r MOV r/m16,Sreg** セグメント・レジスタを r/m16 に転送する。 8E /r MOV Sreg,r/m16 r/m16 をセグメント・レジスタに転送する。 A0 MOV AL,moffs8* ( セグメント : オフセット ) のバイトを AL に転送する。 A1 MOV AX,moffs16* ( セグメント : オフセット ) のワードを AX に転送する。 A1 MOV EAX,moffs32* ( セグメント : オフセット ) のダブルワードを EAX に転送する。 A2 MOV moffs8*,AL AL を ( セグメント : オフセット ) に転送する。 A3 MOV moffs16*,AX AX を ( セグメント : オフセット ) に転送する。 A3 MOV moffs32*,EAX EAX を ( セグメント : オフセット ) に転送する。 B0+ rb MOV r8,imm8 imm8 を r8 に転送する。 B8+ rw MOV r16,imm16 imm16 を r16 に転送する。 B8+ rd MOV r32,imm32 imm32 を r32 に転送する。 C6 /0 MOV r/m8,imm8 imm8 を r/m8 に転送する。 C7 /0 MOV r/m16,imm16 imm16 を r/m16 に転送する。 C7 /0 MOV r/m32,imm32 imm32 を r/m32 に転送する。 注 : * moffs8、moffs16、moffs32 オペランドは、8、16、32 がデータのサイズを参照するセグメント・ベースに 相対的な単純オフセットを指定する。命令のアドレス・サイズ属性によって、オフセットのサイズ (16 ビッ トまたは 32 ビット ) が決まる。 ** 32 ビット・モードでは、アセンブラは、( 命令の先頭に値 66H の 1 バイトを挿入する ) 16 ビット・オペラ ンド・サイズ・プリフィックスを使用しなければならないことがある。 説明 第 2 オペラン ド ( ソース・オペランド ) を第 1 オペラン ド ( デステ ィ ネーシ ョ ン ・ オペラ ンド ) にコピーする。 ソース・オペランドには、 即値、 汎用レジスタ、 セグメント ・ レ ジ ス タ、 ま たは メ モ リ ・ ロ ケ ー シ ョ ン を使用で き る。 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド には、 汎用レジスタ、 セグメン ト ・ レジスタ、 またはメモリ ・ ロケーシ ョ ンを使用でき る。 両方のオペラン ド と も、 同じサイズ ( バイ ト、 ワー ド、 またはダブルワー ド ) でな ければならない。 MOV 命令を使用して CS レジスタをロードすることはできない。 そうしよう とすると、 無効オペ コ ー ド 例外 (#UD) が発生する。 CS レジスタをロードするには、 RET 命令を使 用する。 第 3 巻 : IA-32 基本命令リファレンス 3:655
- Seite 616 und 617: IRET/IRETD—Interrupt Return ( 続
- Seite 618 und 619: IRET/IRETD—Interrupt Return ( 続
- Seite 620 und 621: Jcc—Jump if Condition Is Met オ
- Seite 622 und 623: Jcc—Jump if Condition Is Met (
- Seite 624 und 625: JMP—Jump オペコード 命令
- Seite 626 und 627: JMP—Jump ( 続き ) 操作 IF nea
- Seite 628 und 629: JMP—Jump ( 続き ) END; TASK-GAT
- Seite 630 und 631: JMP—Jump ( 続き ) #PF ( フォ
- Seite 632 und 633: JMPE—Jump to Intel ® Itanium ®
- Seite 634 und 635: LAR—Load Access Rights Byte オ
- Seite 636 und 637: LAR—Load Access Rights Byte ( 続
- Seite 638 und 639: LDS/LES/LFS/LGS/LSS—Load Far Poin
- Seite 640 und 641: LEA—Load Effective Address オペ
- Seite 642 und 643: LEAVE—High Level Procedure Exit
- Seite 644 und 645: LES—Load Full Pointer 「LDS/LES/
- Seite 646 und 647: LGDT/LIDT—Load Global/Interrupt D
- Seite 648 und 649: LGS—Load Full Pointer 「LDS/LES/
- Seite 650 und 651: LLDT—Load Local Descriptor Table
- Seite 652 und 653: LMSW—Load Machine Status Word オ
- Seite 654 und 655: LOCK—Assert LOCK# Signal Prefix
- Seite 656 und 657: LODS/LODSB/LODSW/LODSD—Load Strin
- Seite 658 und 659: LODS/LODSB/LODSW/LODSD—Load Strin
- Seite 660 und 661: LOOP/LOOPcc—Loop According to ECX
- Seite 662 und 663: LSL—Load Segment Limit ( 続き )
- Seite 664 und 665: LSS—Load Full Pointer 「LDS/LES/
- Seite 668 und 669: MOV—Move ( 続き ) デスティ
- Seite 670 und 671: MOV—Move ( 続き ) #GP( セレ
- Seite 672 und 673: MOV—Move to/from Control Register
- Seite 674 und 675: MOV—Move to/from Debug Registers
- Seite 676 und 677: MOVS/MOVSB/MOVSW/MOVSD—Move Data
- Seite 678 und 679: MOVSX—Move with Sign-Extension
- Seite 680 und 681: MOVZX—Move with Zero-Extend オ
- Seite 682 und 683: MUL—Unsigned Multiplication of AL
- Seite 684 und 685: NEG—Two's Complement Negation オ
- Seite 686 und 687: NOP—No Operation オペコード
- Seite 688 und 689: NOT—One's Complement Negation (
- Seite 690 und 691: OR—Logical Inclusive OR ( 続き
- Seite 692 und 693: OUT—Output to Port ( 続き ) 操
- Seite 694 und 695: OUTS/OUTSB/OUTSW/OUTSD—Output Str
- Seite 696 und 697: OUTS/OUTSB/OUTSW/OUTSD—Output Str
- Seite 698 und 699: POP—Pop a Value from the Stack
- Seite 700 und 701: POP—Pop a Value from the Stack (
- Seite 702 und 703: POP—Pop a Value from the Stack (
- Seite 704 und 705: POPA/POPAD—Pop All General-Purpos
- Seite 706 und 707: POPF/POPFD—Pop Stack into EFLAGS
- Seite 708 und 709: PUSH—Push Word or Doubleword onto
- Seite 710 und 711: PUSH—Push Word or Doubleword onto
- Seite 712 und 713: PUSHA/PUSHAD—Push All General-Pur
- Seite 714 und 715: PUSHF/PUSHFD—Push EFLAGS Register
MOV—Move<br />
オペコード 命令 説明<br />
88 /r MOV r/m8,r8 r8 を r/m8 に転送する。<br />
89 /r MOV r/m16,r16 r16 を r/m16 に転送する。<br />
89 /r MOV r/m32,r32 r32 を r/m32 に転送する。<br />
8A /r MOV r8,r/m8 r/m8 を r8 に転送する。<br />
8B /r MOV r16,r/m16 r/m16 を r16 に転送する。<br />
8B /r MOV r32,r/m32 r/m32 を r32 に転送する。<br />
8C /r MOV r/m16,Sreg** セグメント・レジスタを r/m16 に転送する。<br />
8E /r MOV Sreg,r/m16 r/m16 をセグメント・レジスタに転送する。<br />
A0 MOV AL,moffs8* ( セグメント : オフセット ) のバイトを AL に転送する。<br />
A1 MOV AX,moffs16* ( セグメント : オフセット ) のワードを AX に転送する。<br />
A1 MOV EAX,moffs32* ( セグメント : オフセット ) のダブルワードを EAX に転送する。<br />
A2 MOV moffs8*,AL AL を ( セグメント : オフセット ) に転送する。<br />
A3 MOV moffs16*,AX AX を ( セグメント : オフセット ) に転送する。<br />
A3 MOV moffs32*,EAX EAX を ( セグメント : オフセット ) に転送する。<br />
B0+ rb MOV r8,imm8 imm8 を r8 に転送する。<br />
B8+ rw MOV r16,imm16 imm16 を r16 に転送する。<br />
B8+ rd MOV r32,imm32 imm32 を r32 に転送する。<br />
C6 /0 MOV r/m8,imm8 imm8 を r/m8 に転送する。<br />
C7 /0 MOV r/m16,imm16 imm16 を r/m16 に転送する。<br />
C7 /0 MOV r/m32,imm32 imm32 を r/m32 に転送する。<br />
注 :<br />
* moffs8、moffs16、moffs32 オペランドは、8、16、32 がデータのサイズを参照するセグメント・ベースに<br />
相対的な単純オフセットを指定する。命令のアドレス・サイズ属性によって、オフセットのサイズ (16 ビッ<br />
トまたは 32 ビット ) が決まる。<br />
** 32 ビット・モードでは、アセンブラは、( 命令の先頭に値 66H の 1 バイトを挿入する ) 16 ビット・オペラ<br />
ンド・サイズ・プリフィックスを使用しなければならないことがある。<br />
説明<br />
第 2 オペラン ド ( ソース・オペランド ) を第 1 オペラン ド ( デステ ィ ネーシ ョ ン ・ オペラ<br />
ンド ) にコピーする。 ソース・オペランドには、 即値、 汎用レジスタ、 セグメント ・ レ<br />
ジ ス タ、 ま たは メ モ リ ・ ロ ケ ー シ ョ ン を使用で き る。 デス テ ィ ネ ー シ ョ ン ・ オペラ ン ド<br />
には、 汎用レジスタ、 セグメン ト ・ レジスタ、 またはメモリ ・ ロケーシ ョ ンを使用でき<br />
る。 両方のオペラン ド と も、 同じサイズ ( バイ ト、 ワー ド、 またはダブルワー ド ) でな<br />
ければならない。<br />
MOV 命令を使用して CS レジスタをロードすることはできない。 そうしよう とすると、<br />
無効オペ コ ー ド 例外 (#UD) が発生する。 CS レジスタをロードするには、 RET 命令を使<br />
用する。<br />
第 3 巻 : IA-32 基本命令リファレンス 3:655