|
|
1.1 root 1: /* Copyright (c) 1982 Regents of the University of California */
2:
3: static char sccsid[] = "@(#)printdata.c 1.1 1/18/82";
4:
5: /*
6: * print contents of data addresses in octal
7: *
8: * There are two entries: one is given a range of addresses,
9: * the other is given a count and a starting address.
10: */
11:
12: #include "defs.h"
13: #include "machine.h"
14: #include "process.h"
15: #include "object.h"
16:
17: #define WORDSPERLINE 4
18:
19: /*
20: * print words from lowaddr to highaddr
21: */
22:
23: printdata(lowaddr, highaddr)
24: ADDRESS lowaddr;
25: ADDRESS highaddr;
26: {
27: register int count;
28: register ADDRESS addr;
29: int val;
30:
31: if (lowaddr > highaddr) {
32: error("first address larger than second");
33: }
34: count = 0;
35: for (addr = lowaddr; addr <= highaddr; addr += sizeof(int)) {
36: if (count == 0) {
37: printf("%8x: ", addr);
38: }
39: dread(&val, addr, sizeof(val));
40: printf(" %8x", val);
41: if (++count >= WORDSPERLINE) {
42: putchar('\n');
43: count = 0;
44: }
45: }
46: if (count != 0) {
47: putchar('\n');
48: }
49: }
50:
51: /*
52: * print count words starting at address
53: */
54:
55: printndata(count, addr)
56: int count;
57: ADDRESS addr;
58: {
59: printdata(addr, addr + (count - 1)*sizeof(int));
60: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.