• 締切済み

マクロアゼンブラが分かる人

MASMを勉強していて困っています。 指定されたセグメントのコードを表示するプログラムを作成中ですがオフセットアドレスとセグメントアドレスが取得できません。 あと表示方法を ADDRESS |00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ---------+----------------------------------------------- 0000:0000 |9E 0F C9 00 69 04 70 00 16 00 F0 11 69 04 70 00 0000:0010 |69 04 70 00 54 FF 00 F0 FF 90 00 F0 53 FF 00 F0 のようにしたいのですが ADDRESS |00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F ---------+----------------------------------------------- 0000:0000 |9E  0000:0000|0F  0000:0000|C9 0000:0000|00 のようになっていて困っています助けてください。

みんなの回答

  • rot-N
  • ベストアンサー率27% (118/432)
回答No.2

オフセット、セグメントは自分で指定しましょう。 プログラム(exe)の引数にして、OSからもらえば良いのでは? 表示方法ですが、ループの飛び先を見直しましょう。 Label0:   アドレス表示    ↓   カウント=0 Label1:   アドレス表示   カウントインクリメント   16未満ならLabel1へ分岐    ↓   行末のCR、LFを出力   Label0へ分岐 コレでやってみてください。

noname#30727
noname#30727
回答No.1

オフセットとセグメントは、全て自分で指定するものです。 オフセットとセグメントがどこに格納されていて、4桁の16進数表示ルーチンには何を渡すのですか? 表示がおかしいのは、アドレスの表示が繰り返されているからで、16回の繰り返しでアドレスの表示がされないようにすればいいです。 問題となっている部分のコードを示してもらえないと、具体的な事は何も言えません。

関連するQ&A