|
|
1.1 root 1: #include "definitions"
2:
3: extern long *p_ptr, exp_par0, exp_par1, exp_par2, exp_par3;
4: char *Tname = "\n"; /* PTR to test name */
5:
6: chk_pars(msg1)
7: char *msg1;
8: { char *msg2;
9: long *pcb_base, act_param;
10:
11: /* Check fault parameter words */
12: act_param = *p_ptr++;
13: if (exp_par0 != act_param)
14: { msg2="** fault indicator (1st word) is not as expected !!\n";
15: pverr_handler(msg1,msg2,exp_par0,act_param); }
16: act_param = *p_ptr++;
17: if (exp_par1 != act_param)
18: { msg2="** virtual addr in 2nd parameter is not as expected\n";
19: pverr_handler(msg1,msg2,exp_par1,act_param); }
20: act_param = *p_ptr++;
21: if (exp_par2 != act_param)
22: { msg2="** PC in 3rd parameter word is not as expected\n";
23: pverr_handler(msg1,msg2,exp_par2,act_param); }
24: act_param = (*p_ptr) & 0xffffffc0; /* Mask out PSW flags */
25: if (exp_par3 != act_param)
26: { msg2="** PSL in 4th parameter word is not as expected \n";
27: pverr_handler(msg1,msg2,exp_par3,act_param); }
28:
29: }
30:
31: pverr_handler(msg1,msg2,exp,act)
32: char *msg1, *msg2;
33: long exp, act;
34: {
35:
36: writes(Tname);
37: writes(msg1); writec('\n'); writes(msg2); writec('\n');
38: writes("** Expected data : "); writeh(exp); writec('\n');
39: writes("** Actual data : "); writeh(act); writec('\n');
40: asm("halt");
41: }
42:
43:
44:
45: print_params()
46: {
47: long *param_ptr;
48:
49: param_ptr = p_ptr;
50: writes(" Parameter 1 : "); writeh(*param_ptr++); writec('\n');
51: writes(" Parameter 2 : "); writeh(*param_ptr++); writec('\n');
52: writes(" Parameter 3 : "); writeh(*param_ptr++); writec('\n');
53: writes(" Parameter 4 : "); writeh(*param_ptr); writec('\n');
54: asm("halt");
55: }
56:
57:
58:
59:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.