Help us understand the problem. What is going on with this article?

x86レジスタ 備忘録

はじめに

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
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした