• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:アセンブラの問題です。(テーブル))

アセンブラのテーブルを使った1ワード内のビット数計算プログラムの分析

このQ&Aのポイント
  • アセンブラのプログラムで、1ワード内のONになっているビット数を求める問題があります。このプログラムではテーブルというデータ構造を使用しています。
  • プログラムの処理は、指定されたビットマスク(mask)を使用して、1ワード内のビットがONになっているかどうかをチェックします。それぞれのビットがONであれば、カウンター(bx)に1を加算します。
  • また、このプログラムではアドレスベクターテーブルという概念も言及されていますが、具体的な説明はありません。アドレスベクターテーブルは、switch文の実装に使用されるデータ構造です。

質問者が選んだベストアンサー

  • ベストアンサー
  • KOH_da
  • ベストアンサー率31% (161/506)
回答No.2

答えは、n=0なら0bit、n=1=1bit、 2=1bit, 3=2bit, 4=1bit, 5=2bit, 6=2bit, 7=3bitですから、 maskと名付けられたテーブルに答えを用意しておいて、 それを参照するというプログラムです。 それだけだと、テーブルサイズが65536バイトになるため、 4分割してテーブルサイズを16バイトにしたのかな。 プログラムは微妙に間違っているし、 テーブルを省略してあったりするので確信はないです。

akirasuzu
質問者

お礼

ありがとうございました。この先生は間違いの多い先生なので、また例によって、間違った物と思われます。この前アセンブラのテストがあって、テーブルを使う問題が出ましたが、なんとか乗り切りました。

その他の回答 (1)

  • KOH_da
  • ベストアンサー率31% (161/506)
回答No.1

プログラムに間違いがあるような気がします。 目を皿のようにして、 確認してから質問していただけませんか。 課題か何かですか?

関連するQ&A