下記のC++のコードをx86のアセンブラーで書きますとどうなりますか?
unsigned int reg=0xACE1;
unsigned int bit;
for(int i=0; i<8; i++){
bit = (reg & 0x0001) ^ //右シフトせず
((reg & 0x0004) >> 2) ^ //右2ビットシフト
((reg & 0x0008) >> 3) ^ //右3ビットシフト
((reg & 0x0020) >> 5); //右5ビットシフト
reg = (reg >> 1) | (bit << 15);
//regを右1ビットシフトしたものと、bitを左15ビットしたものをorする。
以上、宜しくお願いします。
追記:
インラインアセンブラーでお願いします。
お使いのコンパイラは何でしょうか。質問に追記下さい。あと、タグが「C#」になっていますので修正しては。