|
|
|
|
|
by chris_overseas
4094 days ago
|
|
This article really brought back some great memories for me. I learned about computers as a kid back in the early 80s on an MS-DOS clone PC. The only manuals I had was one listing the various MS-DOS commands (sadly, excluding anything about debug.exe though) and one that was a command reference for gwbasic.exe [1]. I spent many hours trying to write games in gw-basic but quickly realised that the performance was atrocious, to say the least. Eventually I stumbled across a magazine that had a two-page article about debug.exe and it was my gateway to a whole new hidden world. I went on to learn 8086 assembly with debug.exe by trial and error and from stepping through other programs. Eventually I figured out I could write little 8086 assembly routines in debug.exe myself, take the sequence of bytes that made up that routine, declare them as a DATA statement in a BASIC program and then just make call that DATA line to run the machine code directly [2]. It wasn't until many months later I finally managed to get my hands on some compilers and assemblers (Borland Turbo Pascal and Turbo Assembler being my favourites back then) which of course made my life a whole lot easier! I continued to use debug.exe for many years though, primarily for reverse engineering. I've just managed to dig up an obfuscated "Hello World" batch file I wrote many years ago that makes use of debug.exe, see [3] below (If you actually want to run it you'll probably need an MS-DOS emulator [4][5] or an older version of Windows that still has debug.exe). [1] http://en.wikipedia.org/wiki/GW-BASIC [2] http://www.antonis.de/qbebooks/gwbasman/appendix%20d.html [3] http://www.redyeti.net/extra/hello.bat [4] https://jamesfriend.com.au/pce-js/ibmpc-games/ [5] http://www.dosbox.com/ |
|