|
|
1.1 root 1:
2: XTrap(code)
3: long code;
4: { register long r12, r11, r10, r9;
5: long tpc, tpsl;
6:
7: writes("\n** Unexpected exception type : ");
8: writeh(code); writec('\n');
9: asm("movl 8(fp),r12"); /* par 0 */
10: asm("movl 12(fp),r11"); /* par 1 */
11: asm("movl 16(fp),r10"); /* par 2 */
12: asm("movl 20(fp),r9"); /* par 3 */
13:
14: if ((code==0x20) || (code==0x2f) || (code==0x30)) {
15: writes("** Par0 : "); writeh(r12); writec('\n');
16: writes("** Par1 : "); writeh(r11); writec('\n');
17: tpc = r10;
18: tpsl = r9;
19: }
20: else {
21: if ((code==0x34) || (code==0x2b)) {
22: writes("** Par. : "); writeh(r12); writec('\n');
23: tpc = r11;
24: tpsl = r10;
25: }
26: else {
27: tpc = r12;
28: tpsl = r11; }
29: }
30: writes("** PC : "); writeh(tpc); writec('\n');
31: writes("** PSL : "); writeh(tpsl); writec('\n');
32: asm("halt");
33: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.