|
|
1.1 ! root 1: /* ! 2: Error processor for the memory test ! 3: options: ! 4: loop_flg = if TRUE we will loop on error ! 5: else continue testing ! 6: */ ! 7: #include "definitions" ! 8: ! 9: #define MEMUNIT (64*1024) ! 10: ! 11: extern long cycle,test_no,errcnt; ! 12: extern long loop_flg,hlt_flg,prt_flg; ! 13: ! 14: ! 15: error(address,expected) ! 16: register long *address; ! 17: int expected ; ! 18: { ! 19: long dummy; ! 20: ! 21: if(prt_flg) { ! 22: writes("\n Test Address Expected Actual Count Cycle "); ! 23: writec('\n'); ! 24: writes(" "); ! 25: pt_hex(test_no,8);writes(" "); ! 26: pt_hex(address,8);writes(" "); ! 27: pt_hex(expected,8);writes(" "); ! 28: pt_hex(*address,8);writes(" "); ! 29: pt_hex(errcnt++,8);writes(" "); ! 30: pt_hex(cycle,8); ! 31: locate(address,expected,*address); /* Locate Board */ ! 32: } ! 33: if (loop_flg) return(TRUE); ! 34: else { ! 35: dummy = dummy; ! 36: asm("halt"); ! 37: dummy = dummy; ! 38: } ! 39: } ! 40: ! 41: ! 42: pt_hex(i,num) ! 43: register long i; ! 44: register short num; /* num = number of digits to print; max is 8 */ ! 45: ! 46: { ! 47: register nib, ch, hchar; ! 48: register n; ! 49: ! 50: for( n= (num - 1); n >= 0; n--) { ! 51: nib = (int) (i >> ( n << 2)); ! 52: ch = nib & 0x0f; ! 53: if(ch >= 0xA && ch <= 0xF) ! 54: hchar = (ch - 0xA) + 'A'; ! 55: else ! 56: hchar = ch + '0'; ! 57: writec(hchar); ! 58: } ! 59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.