Intel Architecture プログラミング 新しいページはコチラ
提供: yonewiki
(→プログラムの例) |
(→プログラムの例) |
||
42行: | 42行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | 11行目からmovdqaが使われています。第一オペランドのxmm0レジスタに第二オペランドのint配列srcからまとめて格納転送されます。後ろのオペランドから、前のオペランドにデータが転送されている感じです。C++言語側で確保した配列との連携をする場合この操作で、間違いが起こらないようにするには配列が連続していることが重要になりますので、__declspec(align(16)) | + | 11行目からmovdqaが使われています。第一オペランドのxmm0レジスタに第二オペランドのint配列srcからまとめて格納転送されます。後ろのオペランドから、前のオペランドにデータが転送されている感じです。C++言語側で確保した配列との連携をする場合この操作で、間違いが起こらないようにするには配列が連続していることが重要になりますので、__declspec(align(16))という宣言をしました。16としたところには2の階乗になっていれば、その分だけ連続して配置するように働きます。アライメントといいます。タイヤのアライメントしか知らない人や半導体プロセスのLithography工程や重ね合わせ検査工程やその他、特定位置を検査する装置で必要な画像認識処理のアライメントとかしか知らない人もいるかもしれませんが、位置出しという日本語がちょうどいい感じのニュアンスに変換できると思います。 |