ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/mon/src/mon_cmd.cpp
(Generate patch)

Comparing mon/src/mon_cmd.cpp (file contents):
Revision 1.4 by cebix, 1999-10-25T08:04:47Z vs.
Revision 1.7 by cebix, 2000-09-25T12:44:34Z

# Line 24 | Line 24
24  
25   #include "mon.h"
26   #include "mon_cmd.h"
27 < #include "mon_ppc.h"
28 < #include "mon_68k.h"
29 < #include "mon_x86.h"
30 < #include "mon_6502.h"
31 < #include "mon_8080.h"
27 > #include "mon_disass.h"
28 >
29 > #ifndef VERSION
30 > #define VERSION "2"
31 > #endif
32  
33  
34   /*
# Line 118 | Line 118 | static inline uint8 char2print(uint8 c)
118  
119   void version(void)
120   {
121 <        fprintf(monout, "mon V%d.%d\n", MON_VERSION_MAJOR, MON_VERSION_MINOR);
121 >        fprintf(monout, "mon V" VERSION "\n");
122   }
123  
124  
# Line 264 | Line 264 | void ascii_dump(void)
264  
265  
266   /*
267 + *  Binary dump
268 + *  b [start [end]]
269 + */
270 +
271 + void binary_dump(void)
272 + {
273 +        uint32 adr, end_adr;
274 +        uint8 str[9];
275 +
276 +        str[8] = 0;
277 +
278 +        if (!range_args(&adr, &end_adr, 7))  // 8 lines unless end address specified
279 +                return;
280 +
281 +        while (adr <= end_adr && !mon_aborted()) {
282 +                fprintf(monout, "%08x:", mon_use_real_mem ? adr : adr % mon_mem_size);
283 +                uint8 b = mon_read_byte(adr);
284 +                for (int m=0x80, i=0; i<8; m>>=1, i++)
285 +                        str[i] = (b & m) ? '*' : '.';
286 +                fprintf(monout, " '%s'\n", str);
287 +                adr++;
288 +        }
289 +
290 +        mon_dot_address = adr;
291 + }
292 +
293 +
294 + /*
295   *  Disassemble
296   *  d [start [end]]
297   *  d65 [start [end]]
# Line 309 | Line 337 | static void disassemble(CPUType type)
337  
338                  case CPU_680x0:
339                          while (adr <= end_adr && !mon_aborted()) {
312                                uint16 buf[8];
313                                buf[0] = mon_read_half(adr);
314                                buf[1] = mon_read_half(adr + 2);
315                                buf[2] = mon_read_half(adr + 4);
316                                buf[3] = mon_read_half(adr + 6);
317                                buf[4] = mon_read_half(adr + 8);
318                                buf[5] = mon_read_half(adr + 10);
319                                buf[6] = mon_read_half(adr + 12);
320                                buf[7] = mon_read_half(adr + 14);
340                                  fprintf(monout, "%08x: ", mon_use_real_mem ? adr : adr % mon_mem_size);
341 <                                adr += disass_68k(monout, mon_use_real_mem ? adr : adr % mon_mem_size, buf);
341 >                                adr += disass_68k(monout, mon_use_real_mem ? adr : adr % mon_mem_size);
342                          }
343                          break;
344  
# Line 335 | Line 354 | static void disassemble(CPUType type)
354  
355                  case CPU_80x86:
356                          while (adr <= end_adr && !mon_aborted()) {
338                                uint8 buf[16];
339                                for (int i=0; i<16; i++)
340                                        buf[i] = mon_read_byte(adr + i);
357                                  fprintf(monout, "%08x: ", mon_use_real_mem ? adr : adr % mon_mem_size);
358 <                                adr += disass_x86(monout, mon_use_real_mem ? adr : adr % mon_mem_size, buf);
358 >                                adr += disass_x86(monout, mon_use_real_mem ? adr : adr % mon_mem_size);
359                          }
360                          break;
361          }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines