============================================================================== Display Memory V1.1 © J.Tyberghein Mon Dec 18 09:11:28 1989 ============================================================================== Preface ------- This program is intended for every programmer. With this utility you can display memory, and search something in memory. For example, if you have written a program and it does not work, you could alter your program so that it prints the address of the object you think is faulty. With DM you can examine this memory while your program is running. This program (DM V1.1) is shareware. If you like and/or use this utility I would appreciate it very much if you'd send me a contribution of $10 US ($15 if you want to get a new update (when one is available)). Please send money by international money order, EuroCheck (in Belgian Francs (BF) !) or cash, because it's very difficult for me to cash in other checks. If you want an update please state your current version. If you want to use this program for commercial purposes please write for permission ! If you have any suggestions or remarks you can write to (Bug reports are welcome too) Jorrit Tyberghein Hepmansbossen 31 3990 Meerhout BELGIUM WARNING: If you want to use this utility you must have Arp 1.3 or later. DM is reexecutable so you can use it with ARes, Resident, ... DM is not reentrable, so you will get a warning from ARes or Resident if you try to use this program twice at the same time. This utility uses environment variables (DMMemoryStart, DMMemoryLines, DMMemoryMode and DMMemorySearch). These variables correspond more or less with the Start, Lines, BYTE,WORD,LONG,ASCII,SEARCH options from the commandline. DM uses them to continue a search or a list. Syntax ------ +-----------------------------------------------------------------------+ | Commandline template: | | Start,Lines,B=BYTE/s,W=WORD/s,L=LONG/s,A=ASCII/s,S=SEARCH/k: | |-----------------------------------------------------------------------| | Usage: | | DM [ []] [BYTE | WORD | LONG | ASCII | SEARCH object] | +-----------------------------------------------------------------------+ : addres to start displaying or searching eg 0xc05006 (hex address) #123a (hex address) 5000 (dec address) : if you want to display memory this is the number of lines you want to display if you are searching this is the maximum number of bytes you want to search BYTE : show every long byte per byte (16 bytes per line) WORD : word per word ( " " " ) LONG : long per long ( " " " ) ASCII : show only ascii on one line (64 bytes per line) SEARCH object : search object eg s 'String' s 1253cd02a135 (hexadimal values) examples: DM 0 b display 16 lines of memory, the output will look like this: 00000000 : 00 00 00 00 00 C0 02 76 00 FC 07 DC 00 FC 07 DE - .....À.v.ü.Ü.ü.Þ 00000010 : 00 FC 07 E0 00 FC 07 E2 00 FC 07 E4 00 FC 07 E6 - .ü.à.ü.â.ü.ä.ü.æ 00000020 : 00 FC 08 D2 00 FC 07 EA 00 FC 07 EC 00 FC 07 EE - .ü.Ò.ü.ê.ü.ì.ü.î 00000030 : 00 FC 07 F0 00 FC 07 F2 00 FC 07 F4 00 FC 07 F6 - .ü.ð.ü.ò.ü.ô.ü.ö 00000040 : 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000050 : 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 00 FC 07 F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000060 : 00 FC 07 F8 00 FC 0C 52 00 FC 0C A6 00 FC 0C D8 - .ü.ø.ü.R.ü.¦.ü.Ø 00000070 : 00 FC 0D 30 00 FC 0D BE 00 FC 0E 04 00 FC 0E 4A - .ü.0.ü.¾.ü...ü.J 00000080 : 00 FC 07 FA 00 FC 07 FC 00 FC 07 FE 00 FC 08 00 - .ü.ú.ü.ü.ü.þ.ü.. 00000090 : 00 FC 08 02 00 FC 08 04 00 FC 08 06 00 FC 08 08 - .ü...ü...ü...ü.. 000000A0 : 00 FC 08 0A 00 FC 08 0C 00 FC 08 0E 00 FC 08 10 - .ü...ü...ü...ü.. 000000B0 : 00 FC 08 12 00 FC 08 14 00 FC 08 16 00 FC 08 18 - .ü...ü...ü...ü.. 000000C0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ 000000D0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ 000000E0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ 000000F0 : 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 - ................ DM 0 w displays 16 lines of memory: 00000000 : 0000 0000 00C0 0276 00FC 07DC 00FC 07DE - .....À.v.ü.Ü.ü.Þ 00000010 : 00FC 07E0 00FC 07E2 00FC 07E4 00FC 07E6 - .ü.à.ü.â.ü.ä.ü.æ 00000020 : 00FC 08D2 00FC 07EA 00FC 07EC 00FC 07EE - .ü.Ò.ü.ê.ü.ì.ü.î 00000030 : 00FC 07F0 00FC 07F2 00FC 07F4 00FC 07F6 - .ü.ð.ü.ò.ü.ô.ü.ö 00000040 : 00FC 07F8 00FC 07F8 00FC 07F8 00FC 07F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000050 : 00FC 07F8 00FC 07F8 00FC 07F8 00FC 07F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000060 : 00FC 07F8 00FC 0C52 00FC 0CA6 00FC 0CD8 - .ü.ø.ü.R.ü.¦.ü.Ø 00000070 : 00FC 0D30 00FC 0DBE 00FC 0E04 00FC 0E4A - .ü.0.ü.¾.ü...ü.J 00000080 : 00FC 07FA 00FC 07FC 00FC 07FE 00FC 0800 - .ü.ú.ü.ü.ü.þ.ü.. 00000090 : 00FC 0802 00FC 0804 00FC 0806 00FC 0808 - .ü...ü...ü...ü.. 000000A0 : 00FC 080A 00FC 080C 00FC 080E 00FC 0810 - .ü...ü...ü...ü.. 000000B0 : 00FC 0812 00FC 0814 00FC 0816 00FC 0818 - .ü...ü...ü...ü.. 000000C0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................ 000000D0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................ 000000E0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................ 000000F0 : 0000 0000 0000 0000 0000 0000 0000 0000 - ................ DM 0 l displays 16 lines of memory: 00000000 : 00000000 00C00276 00FC07DC 00FC07DE - .....À.v.ü.Ü.ü.Þ 00000010 : 00FC07E0 00FC07E2 00FC07E4 00FC07E6 - .ü.à.ü.â.ü.ä.ü.æ 00000020 : 00FC08D2 00FC07EA 00FC07EC 00FC07EE - .ü.Ò.ü.ê.ü.ì.ü.î 00000030 : 00FC07F0 00FC07F2 00FC07F4 00FC07F6 - .ü.ð.ü.ò.ü.ô.ü.ö 00000040 : 00FC07F8 00FC07F8 00FC07F8 00FC07F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000050 : 00FC07F8 00FC07F8 00FC07F8 00FC07F8 - .ü.ø.ü.ø.ü.ø.ü.ø 00000060 : 00FC07F8 00FC0C52 00FC0CA6 00FC0CD8 - .ü.ø.ü.R.ü.¦.ü.Ø 00000070 : 00FC0D30 00FC0DBE 00FC0E04 00FC0E4A - .ü.0.ü.¾.ü...ü.J 00000080 : 00FC07FA 00FC07FC 00FC07FE 00FC0800 - .ü.ú.ü.ü.ü.þ.ü.. 00000090 : 00FC0802 00FC0804 00FC0806 00FC0808 - .ü...ü...ü...ü.. 000000A0 : 00FC080A 00FC080C 00FC080E 00FC0810 - .ü...ü...ü...ü.. 000000B0 : 00FC0812 00FC0814 00FC0816 00FC0818 - .ü...ü...ü...ü.. 000000C0 : 00000000 00000000 00000000 00000000 - ................ 000000D0 : 00000000 00000000 00000000 00000000 - ................ 000000E0 : 00000000 00000000 00000000 00000000 - ................ 000000F0 : 00000000 00000000 00000000 00000000 - ................ DM 0 a displays 16 lines of memory: 00000000 : .....À.v.ü.Ü.ü.Þ.ü.à.ü.â.ü.ä.ü.æ.ü.Ò.ü.ê.ü.ì.ü.î.ü.ð.ü.ò.ü.ô.ü.ö 00000040 : .ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.ø.ü.R.ü.¦.ü.Ø.ü.0.ü.¾.ü...ü.J 00000080 : .ü.ú.ü.ü.ü.þ.ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü...ü.. 000000C0 : ................................................................ 00000100 : ................................................................ 00000140 : ................................................................ 00000180 : ................................................................ 000001C0 : ................................................................ 00000200 : .ü2T............................................................ 00000240 : ................................................................ 00000280 : ........NO...................................................... 000002C0 : ................................................................ 00000300 : ................................................................ 00000340 : ................................................................ 00000380 : ................................................................ 000003C0 : ................................................................ DM 0xc00000 20 l displays 20 lines of memory starting at hex c00000 00C00000 : 4EF900FC 2F404EF9 00FC2F44 4EF900FC - Nù.ü/@Nù.ü/DNù.ü 00C00010 : 19EA4EF9 00FC0A3C 4EF900FC 2F304EF9 - .êNù.ü.