初めて、投稿させていただきます。
アセンブラでの、
MOV AL,01
SHL AX,5
のような、動きをC++で確認したいのですが、
Byte AH;(あるいはchar AH;)
Byte AL;
AH = 0x00;
AL = 0x01;
ここで、AH、ALを2バイトとしてシフト(<<)することはできないでしょうか?
インラインアセンブラ_asmを使った方が早いのかもしれませんが、
使ったことが無いもので、できればCでやりたいのですが。
よろしく、お願いいたします。
union REG{
WORD AX;
struct {
BYTE AL,AH;
};
};
REG reg = {0};
reg.AH = 0x00;
reg.AL = 0x01;
reg.AX <<= 8; // 8bit左シフト
構造体名なしのstructはVC以外では多分通らないので、他の環境でも使うなら適当な名前付けてください…
#昔はdos.hとかにレジスタの共用体定義されていたけれどVCにはないのか…
通りすがりさま
早々に、ありがとうございました。
こう言う方法が有るんですね。
structでは、無理だと思っていたんですが、
とても勉強になりました。
ツイート | ![]() |