You can discover what machine registers are available on your processor architecture using the $r command. This example shows the output of $r on a SPARC system with the sun4 architecture:
kadb[0]: $r
g0 0 l0 0
g1 100130a4 debug_enter l1 edd00028
g2 10411c00 tsbmiss_area+0xe00 l2 10449c90
g3 10442000 ti_statetbl+0x1ba l3 1b
g4 3000061a004 l4 10474400
ecc_syndrome_tab+0x80
g5 0 l5 3b9aca00
g6 0 l6 0
g7 2a10001fd40 l7 0
o0 0 i0 0
o1 c i1 10449e50
o2 20 i2 0
o3 300006b2d08 i3 10
o4 0 i4 0
o5 0 i5 b0
sp 2a10001b451 fp 2a10001b521
o7 1001311c debug_enter+0x78 i7 1034bb24
zsa_xsint+0x2c4
y 0
tstate: 1604 (ccr=0x0, asi=0x0, pstate=0x16, cwp=0x4)
pstate: ag:0 ie:1 priv:1 am:0 pef:1 mm:0 tle:0 cle:0 mg:0 ig:0
winreg: cur:4 other:0 clean:7 cansave:1 canrest:5 wstate:14
tba 0x10000000
pc edd000d8 edd000d8: ta %icc,%g0 + 125
npc edd000dc edd000dc: nop
kadb exports each of these registers as a debugger variable with the same name. Reading from the variable fetches the current value of the register. Writing to the variable changes the value of the associated machine register. For example, you can change the value of the '%o0' register:
kadb[0]: <o0=K
0
kadb[0]: 0x1>o0
kadb[0]: <o0=K
1