|
|
1.1 ! root 1: ! 2: ! 3: /* BTCS (branch to control store) test */ ! 4: ! 5: /*Test name = btcs */ ! 6: /*Description = */ ! 7: /* This test checks "btcs" instruction to see that */ ! 8: /* (1)the result in r0 is 31 - vector */ ! 9: /* */ ! 10: /* Constants definition */ ! 11: /* */ ! 12: .set IPL,8 ! 13: .set HIGH,31 ! 14: .set ZERO,0 ! 15: .set ONES,0xffffffff ! 16: .set N,8 ! 17: .set Z,4 ! 18: .set V,2 ! 19: .set C,1 ! 20: .set EXPL,0 ! 21: .set EXPW,0 ! 22: .set EXPB,0 ! 23: .set PSWMASK,0x003f ! 24: .globl _btcs ! 25: _btcs: ! 26: callf $4,_setjmp /* save context for error return */ ! 27: movab _btcs,_stpc /* address of subtest */ ! 28: movl $1,_subtst /* subtest number */ ! 29: 0: movl $ONES,r0 /*set r0 to all bits ones */ ! 30: btcs $0 /* check for 31 - vector in r0 */ ! 31: cmpl $0,r0 ! 32: jneq error1 ! 33: movl $2,_subtst /* subtest number */ ! 34: btcs $1 ! 35: cmpl $1,r0 ! 36: jneq error1 ! 37: movl $3,_subtst /* subtest number */ ! 38: btcs $2 ! 39: cmpl $2,r0 ! 40: jneq error1 ! 41: movl $4,_subtst /* subtest number */ ! 42: btcs $3 ! 43: cmpl $3,r0 ! 44: jneq error1 ! 45: movl $5,_subtst /* subtest number */ ! 46: btcs $4 ! 47: cmpl $4,r0 ! 48: jneq error1 ! 49: movl $6,_subtst /* subtest number */ ! 50: btcs $5 ! 51: cmpl $5,r0 ! 52: jneq error1 ! 53: movl $7,_subtst /* subtest number */ ! 54: btcs $6 ! 55: cmpl $6,r0 ! 56: jneq error1 ! 57: movl $8,_subtst /* subtest number */ ! 58: btcs $7 ! 59: cmpl $7,r0 ! 60: jneq error1 ! 61: movl $9,_subtst /* subtest number */ ! 62: btcs $8 ! 63: cmpl $8,r0 ! 64: jneq error1 ! 65: movl $0xa,_subtst /* subtest number */ ! 66: btcs $9 ! 67: cmpl $9,r0 ! 68: jneq error1 ! 69: movl $0xb,_subtst /* subtest number */ ! 70: btcs $10 ! 71: cmpl $10,r0 ! 72: jneq error1 ! 73: movl $0xc,_subtst /* subtest number */ ! 74: btcs $11 ! 75: cmpl $11,r0 ! 76: jneq error1 ! 77: movl $0xd,_subtst /* subtest number */ ! 78: btcs $12 ! 79: cmpl $12,r0 ! 80: jneq error1 ! 81: movl $0xe,_subtst /* subtest number */ ! 82: btcs $13 ! 83: cmpl $13,r0 ! 84: jneq error1 ! 85: movl $0xf,_subtst /* subtest number */ ! 86: btcs $14 ! 87: cmpl $14,r0 ! 88: jneq error1 ! 89: movl $0x10,_subtst /* subtest number */ ! 90: btcs $15 ! 91: cmpl $15,r0 ! 92: jneq error1 ! 93: movl $0x11,_subtst /* subtest number */ ! 94: btcs $16 ! 95: cmpl $16,r0 ! 96: jneq error1 ! 97: movl $0x12,_subtst /* subtest number */ ! 98: btcs $17 ! 99: cmpl $17,r0 ! 100: jneq error1 ! 101: movl $0x13,_subtst /* subtest number */ ! 102: btcs $18 ! 103: cmpl $18,r0 ! 104: jneq error1 ! 105: movl $0x14,_subtst /* subtest number */ ! 106: btcs $19 ! 107: cmpl $19,r0 ! 108: jneq error1 ! 109: movl $0x15,_subtst /* subtest number */ ! 110: btcs $20 ! 111: cmpl $20,r0 ! 112: jneq error1 ! 113: movl $0x16,_subtst /* subtest number */ ! 114: btcs $21 ! 115: cmpl $21,r0 ! 116: jneq error1 ! 117: movl $0x17,_subtst /* subtest number */ ! 118: btcs $22 ! 119: cmpl $22,r0 ! 120: jneq error1 ! 121: movl $0x18,_subtst /* subtest number */ ! 122: btcs $23 ! 123: cmpl $23,r0 ! 124: jneq error1 ! 125: movl $0x19,_subtst /* subtest number */ ! 126: btcs $24 ! 127: cmpl $24,r0 ! 128: jneq error1 ! 129: movl $0x1a,_subtst /* subtest number */ ! 130: btcs $25 ! 131: cmpl $25,r0 ! 132: jneq error1 ! 133: movl $0x1b,_subtst /* subtest number */ ! 134: btcs $26 ! 135: cmpl $26,r0 ! 136: jneq error1 ! 137: movl $0x1c,_subtst /* subtest number */ ! 138: btcs $27 ! 139: cmpl $27,r0 ! 140: jneq error1 ! 141: movl $0x1d,_subtst /* subtest number */ ! 142: btcs $28 ! 143: cmpl $28,r0 ! 144: jneq error1 ! 145: movl $0x1e,_subtst /* subtest number */ ! 146: btcs $29 ! 147: cmpl $29,r0 ! 148: jneq error1 ! 149: movl $0x1f,_subtst /* subtest number */ ! 150: btcs $30 ! 151: cmpl $30,r0 ! 152: jneq error1 ! 153: movl $0x20,_subtst /* subtest number */ ! 154: btcs $31 ! 155: cmpl $31,r0 ! 156: jneq error1 ! 157: movl $0x21,_subtst /* subtest number */ ! 158: movl $15,r5 /* check register addressing mode */ ! 159: btcs r5 ! 160: cmpl $15,r0 ! 161: jneq error1 ! 162: ! 163: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 164: jmp *return /* good, return to monitor */ ! 165: ! 166: error1: bbs $0,_scoplp,0b /* if set loop on error */ ! 167: movl $1,_ercode /* error code data miscompare */ ! 168: movl r0,_actual /* actual data */ ! 169: subl3 $1,_subtst,_expected /* expected value */ ! 170: jmp *badrtn /*error */ ! 171: ! 172: /* End of file */ ! 173:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.