1 /* 2 * Copyright (c) 1980 Regents of the University of California. 3 * All rights reserved. The Berkeley software License Agreement 4 * specifies the terms and conditions for redistribution. 5 */ 6 7 #ifndef lint 8 static char sccsid[] = "@(#)printdata.c 5.2 (Berkeley) 04/07/87"; 9 #endif not lint 10 /* 11 * print contents of data addresses in octal 12 * 13 * There are two entries: one is given a range of addresses, 14 * the other is given a count and a starting address. 15 */ 16 17 #include "defs.h" 18 #include "machine.h" 19 #include "process.h" 20 #include "object.h" 21 #include "process/process.rep" 22 #include "process/pxinfo.h" 23 24 #define WORDSPERLINE 4 25 26 /* 27 * print words from lowaddr to highaddr 28 */ 29 30 printdata(lowaddr, highaddr) 31 ADDRESS lowaddr; 32 ADDRESS highaddr; 33 { 34 register int count; 35 register ADDRESS addr; 36 int val; 37 38 if (lowaddr > highaddr) { 39 error("first address larger than second"); 40 } 41 count = 0; 42 for (addr = lowaddr; addr <= highaddr; addr += sizeof(int)) { 43 if (count == 0) { 44 printf("%8x: ", addr); 45 } 46 dread(&val, addr, sizeof(val)); 47 printf(" %8x", val); 48 if (++count >= WORDSPERLINE) { 49 putchar('\n'); 50 count = 0; 51 } 52 } 53 if (count != 0) { 54 putchar('\n'); 55 } 56 } 57