- ベストアンサー
アセンブラ言語の数字を数値に変換するプログラム
LD GR3,GR1 ;GR3にGR1の数字を入れる。 AND GR3,=#000F ;数字を数値に変換 というアセンブラのプログラムがあったのですが、なぜGR3と16進数#000Fの論理積をとることで数字を数値に変換できるのでしょうか。 それと、ここでいう数字、数値の違いとは、数字の1はコンピュータ上では 49という数値に変換される(アスキー文字)という認識でよろしいでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
2進数で表したときの下4桁だけが残ることになるからです。 アスキーコードでは、数字の「1」は、10進で49、16進で31です。 16進の31を2進数に直すと、0011 0001です。 これと16進のOF、つまり2進の0000 1111と論理積をとると、0000 0001となり、数値の1になります。
お礼
ご解答ありがとうございました。