プロが教えるわが家の防犯対策術!

LD GR3,GR1 ;GR3にGR1の数字を入れる。
AND GR3,=#000F ;数字を数値に変換

というアセンブラのプログラムがあったのですが、なぜGR3と16進数#000Fの論理積をとることで数字を数値に変換できるのでしょうか。

それと、ここでいう数字、数値の違いとは、数字の1はコンピュータ上では
49という数値に変換される(アスキー文字)という認識でよろしいでしょうか。

A 回答 (1件)

2進数で表したときの下4桁だけが残ることになるからです。



アスキーコードでは、数字の「1」は、10進で49、16進で31です。
16進の31を2進数に直すと、0011 0001です。
これと16進のOF、つまり2進の0000 1111と論理積をとると、0000 0001となり、数値の1になります。
    • good
    • 1
この回答へのお礼

ご解答ありがとうございました。

お礼日時:2009/05/27 21:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!