LoginSignup
7
2

More than 3 years have passed since last update.

x86レジスタ 備忘録

Last updated at Posted at 2020-02-13

はじめに

OSの勉強をする際に、レジスタ関係の項目が忘れそうなので備忘録を作成しました。

参考文献

セキュリティコンテストチャレンジブック

x86レジスタ

32bitのレジスタ長を持つ

レジスタ 名前 備考
汎用レジスタ
EAX アキュムレータレジスタ 演算結果を格納
ECX カウンタレジスタ ループの回数などのカウントを格納
EDX データレジスタ 演算に用いるデータを格納
EBX ベースレジスタ アドレスの基点を格納
ESI ソースインデックスレジスタ(インデックスレジスタ) 読み込みインデックス
EDI デスティネーションインデックスレジスタ(インデックスレジスタ) 書き込みインデックス
特殊レジスタ
EBP ベースポインタレジスタ ベース用ポインタ
ESP スタックポインタレジスタ スタック用ポインタ
EIP インストラクションポインタレジスタ 次に実行するアセンブリ命令のアドレスを格納
フラグレジスタ
EFLAGS
セグメントレジスタ
CS
DS
SS
ES
FS
GS

汎用レジスタ

上記であげた汎用レジスタのうちEAX, ECX, EDX, EBXは下位16bitにそれぞれAX,CX,DX,BXレジスタを持つ。さらに、AX,CX,DX,BXレジスタは上位8bitと下位8bitに分割される。

  • EAX
    • AX: 下位16bit
      • AH: 上位8bit
      • AL: 下位8bit
  • ECX
    • CX: 下位16bit
      • CH: 上位8bit
      • CL: 下位8bit
  • EDX
    • DX: 下位16bit
      • DH: 上位8bit
      • DL: 下位8bit
  • EBX
    • BX: 下位16bit
      • BH: 上位8bit
      • BL: 下位8bit

インデックスレジスタ

汎用レジスタに分類されているESIとEDIはまとめてインデックスレジスタとも呼ばれる。インデックスレジスタの下位16bitはそれぞれSI,DIレジスタと呼ばれる。

  • ESI
    • SI: 下位16bit
  • EDI
    • DI: 下位16bit
7
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
2