debug命令
MS-DOSにはdebugコマンドがあった。
データの表示(dump)、
データの入力、
アセンブラの入力、
ディスアセンブル、
デバッグ用のブレークポイントの設定など、
何種類もの機能がある万能の道具だった。
16bitアプリケーションということで、64bit Windowsには同梱されていない。
こんな便利な道具がなくなるなんて悲しい。
ぜひ、みんなが便利さを理解して、
debugコマンドの再興を願い記録する。
ダンプ(d)
メモリの中身を、16進数とテキストデータにして表示
> debug abc.txt
-d 100
2C98:0100 61 62 63 64 65 66 67 68-69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
2C98:0110 71 72 73 74 75 76 77 78-79 7A 2C 2E 3B 2F 0D 0A qrstuvwxyz,.;/..
2C98:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
2C98:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
2C98:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
2C98:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
2C98:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
2C98:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
アセンブル(a)
アセンブリ言語を入れるとバイナリ命令に変換する。
>debug
-a 0000
2CED:0000 pop ds
2CED:0001 push cs
2CED:0002
-u 0
2CED:0000 1F POP DS
2CED:0001 0E PUSH CS
ディスアセンブル(u)
バイナリ命令をアセンブリ言語に変換する
>debug wordpad.exe
-u
2CED:0000 0E PUSH CS
2CED:0001 1F POP DS
2CED:0002 BA0E00 MOV DX,000E
2CED:0005 B409 MOV AH,09
2CED:0007 CD21 INT 21
2CED:0009 B8014C MOV AX,4C01
2CED:000C CD21 INT 21
2CED:000E 54 PUSH SP
2CED:000F 68 DB 68
2CED:0010 69 DB 69
2CED:0011 7320 JNB 0033
2CED:0013 7072 JO 0087
2CED:0015 6F DB 6F
2CED:0016 67 DB 67
2CED:0017 7261 JB 007A
2CED:0019 6D DB 6D
2CED:001A 206361 AND [BP+DI+61],AH
2CED:001D 6E DB 6E
2CED:001E 6E DB 6E
2CED:001F 6F DB 6F
デバッグ用ブレーク(b)
参考資料(reference)
MacintoshでMS-DOSのdebugコマンドの動作確認をするのにどうしたらいいか悩んでいた。
https://qiita.com/kaizen_nagoya/items/206eb5b219f2b65514de
文書履歴(document history)
ver. 0.10 初稿 20180703
ver. 0.11 参考文書追記 20180716
ver. 0.12 ありがとう追記 20230413
最後までおよみいただきありがとうございました。
いいね 💚、フォローをお願いします。
Thank you very much for reading to the last sentence.
Please press the like icon 💚 and follow me for your happy life.