blob: 370fb997192dd2a4372dcaf8f8e30cbf7583e4e4 [file] [log] [blame]
/*
* code to keep track of registers
*/
#include "defs.h"
#include "fns.h"
/*
* print the registers
*/
void
printregs(int c)
{
Regdesc *rp;
int i;
ADDR u;
if(correg == nil){
dprint("registers not mapped\n");
return;
}
for (i = 1, rp = mach->reglist; rp->name; rp++, i++) {
if ((rp->flags & RFLT)) {
if (c != 'R')
continue;
if (rp->format == '8' || rp->format == '3')
continue;
}
rget(correg, rp->name, &u);
if(rp->format == 'Y')
dprint("%-8s %-20#llux", rp->name, (uvlong)u);
else
dprint("%-8s %-12#lux", rp->name, (ulong)u);
if ((i % 3) == 0) {
dprint("\n");
i = 0;
}
}
if (i != 1)
dprint("\n");
dprint ("%s\n", mach->exc(cormap, correg));
printpc();
}