• FAQ番号 : 14440
  • 公開日時 : 2012/03/28 21:15
  • 印刷

16ビットデータの32ビットデータ変換方法

マイナス数値を含む16ビットデータを外部から受取り,AD70の位置決めデータ
にするため32ビットデータするためデータがマイナス値のとき,最上位ビットのマ
イナス符号をビットのテスト操作で変更しましたが正しい値になりません。
なぜですか?
また,16ビットデータを32ビットデータに簡単に変換する方法があれば教えてく
ださい。
カテゴリー : 

回答

データがマイナスのときは,“2の補数”で格納していますのでマイナス符号ビット
を変更しただけでは16ビットから32ビットへの変換はできません。
16ビット乗算命令は答が32ビットになるので,次の1命令で16ビットデータを
32ビットデータに変換することができます。
(図1参照)

D0に格納されている16ビットデータをD10からの32ビットデータにするときの
プログラム例
(図2参照)

製品名
シーケンサ
シリーズ
CPU