5

私は最近、C++ とアセンブリの学習を始めました。IDA で何かを逆アセンブルし、疑似コードで関数を表示したときに LOBYTE に出会いました。

msdn を読む: http://msdn.microsoft.com/en-us/library/windows/desktop/ms632658(v=vs.85).aspx

まだ理解できません。下位バイトとは何ですか? 誰かがその使用目的と c++ での使用例について詳しく教えてもらえますか?

4

1 に答える 1

20

LOBYTEおよび とHIBYTEHIWORDLOWORDより大きなバイト/ワードのセットからワードまたはバイトを抽出するために使用されるマクロです。

24 FF例として、単語を構成する2 つのバイトがあるとします。この値unsigned short ushortvarは、プログラムの a に格納されています。HIBYTE(ushortvar)またはを使用して、2 バイトのいずれかを抽出できるようになりましたLOBYTE(ushortvar)。前者は に等しく0x24なり、後者は に等しくなり0xffます。a で同じことを実行して、unsigned inteach を使用して単語の 1 つを抽出できLOWORDますHIWORD

于 2013-08-03T13:34:33.443 に答える