|
|
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.