Intel CPUのレジスタについて、EAXのEはExtendの略ですが、RAXのRは何の略ですか?
Intel CPUのレジスタについて、EAXのEはExtendの略ですが、RAXのRは何の略ですか? 気になります。 よろしくお願い致します。
C言語関連・754閲覧
ベストアンサー
どうも Register の 'R' ということのようです。 英語版の google で x64 register name prefix r stand for と入力して調べてみました。以下はその一例です。 http://programmers.stackexchange.com/questions/127668/what-does-the-r-in-x64-register-names-stand-for R8~R15 というレジスタがあることからの類推のようで、根拠は示せないとしていますが、なるほどと頷けます。他のサイトでも同様の説明になっています。 たしかに REX プリフィックスのREGフィールドを 0 ~7 のどれかにすることで、R8~R15 あるいは、RAX, RCX, RDX, RBX, RSP, RBP, RSI, RDI のどれかを選択することが出来るようになっています。RAX が R0、RCX が R1 …というようなことでしょう。 昔の A レジスタ(アキュームレータ)、これは8ビット。そこから、AX レジスタとして16ビットになり、EAX で32ビット。そしてx64 では RAX として64ビットと、随分と進化したものですね。それでレジスタの名前が 'Register' に由来する 'R' と。何か感慨深いものがあります。
1人がナイス!しています
質問者からのお礼コメント
RegisterのR‥‥かなと思ってたのですが、まさか。 その発想はありませんでした。ありがとうございます! レジスタとしての最終形みたいな何かかな。
お礼日時:2013/11/10 11:19