- 締切済み
マクロアゼンブラが分かる人
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 のようになっていて困っています助けてください。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- rot-N
- ベストアンサー率27% (118/432)
オフセット、セグメントは自分で指定しましょう。 プログラム(exe)の引数にして、OSからもらえば良いのでは? 表示方法ですが、ループの飛び先を見直しましょう。 Label0: アドレス表示 ↓ カウント=0 Label1: アドレス表示 カウントインクリメント 16未満ならLabel1へ分岐 ↓ 行末のCR、LFを出力 Label0へ分岐 コレでやってみてください。
オフセットとセグメントは、全て自分で指定するものです。 オフセットとセグメントがどこに格納されていて、4桁の16進数表示ルーチンには何を渡すのですか? 表示がおかしいのは、アドレスの表示が繰り返されているからで、16回の繰り返しでアドレスの表示がされないようにすればいいです。 問題となっている部分のコードを示してもらえないと、具体的な事は何も言えません。