|
|
1.1 ! root 1: ! 2: /* BYTE DISPLACEMENT ADDRESSING MODE TEST */ ! 3: /* */ ! 4: /* */ ! 5: /* */ ! 6: /* Syst.s - Constants */ ! 7: /* */ ! 8: .set IPL,8 ! 9: .set HIGH,31 ! 10: .set ZERO,0 ! 11: .set ONES,0xffffffff ! 12: .set N,8 ! 13: .set Z,4 ! 14: .set V,2 ! 15: .set C,1 ! 16: .set T,16 ! 17: .set IV,32 ! 18: .set FU,64 ! 19: .set DV,128 ! 20: .set PSWMASK,0x003f ! 21: ! 22: .globl _bdisp_mode ! 23: _bdisp_mode: ! 24: callf $4,_setjmp /* save context for error return */ ! 25: movab _bdisp_mode,_stpc /* save subtest pc */ ! 26: movl $1,_subtst /* subttest number */ ! 27: movl $1,_no_opr /* number of operands */ ! 28: movl bb1,_opr /* operand used in test */ ! 29: 0: bicpsw $PSWMASK ! 30: movl bb1,r3 /*move address of label bbase1 */ ! 31: movb $0x55,b^127(r3) /*change byte 127 of bbase1 */ ! 32: cmpl bbasel,$0xffffff55 /*see if it happened */ ! 33: beql 1f ! 34: er1: ! 35: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 36: movl $1,_ercode /*error code*/ ! 37: movl bbasel,_actual /*observed*/ ! 38: movl $0xffffff55,_expected /*expected*/ ! 39: jmp *badrtn /*byte disp mode did not change */ ! 40: /*right byte */ ! 41: 1: cmpl r3,bb1 /*check r3 did not changed */ ! 42: beql 2f ! 43: er2: ! 44: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 45: movl $3,_ercode /*error code operand miscompare */ ! 46: movl r3,_actual /*observed*/ ! 47: movl bb1,_expected /*expected*/ ! 48: jmp *badrtn /*byte disp mode changed the base*/ ! 49: /*which was r3; r3 = changed base*/ ! 50: /*r4 = original base loaded in r3*/ ! 51: 2: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 52: 2: callf $4,_setjmp /* save context for error return */ ! 53: movab 2b,_stpc /* save subtest pc */ ! 54: movl $2,_subtst /* subttest number */ ! 55: movl $1,_no_opr /* number of operands */ ! 56: movl r3,_opr /* operand used in test */ ! 57: 0: movb b^1(r3),b^126(r3) ! 58: cmpl bbasel,$0xffff2255 ! 59: beql 3f ! 60: er3: ! 61: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 62: movl $1,_ercode /*error code - data miscompare */ ! 63: movl bbase1,_actual /*observed*/ ! 64: movl $0xffff2255,_expected /*expected*/ ! 65: jmp *badrtn /*byte disp mode did not change */ ! 66: /*right byte */ ! 67: 3: cmpl r3,bb1 ! 68: beql 4f ! 69: er4: ! 70: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 71: movl $3,_ercode /*error code operand miscompare */ ! 72: movl r3,_actual /*observed*/ ! 73: movl bb1,_expected /*expected*/ ! 74: jmp *badrtn /*byte disp mode changed the base*/ ! 75: /*which was r3; r3 = changed base*/ ! 76: /*r4 = original base loaded in r3*/ ! 77: 4: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 78: 4: callf $4,_setjmp /* save context for error return */ ! 79: movab 4b,_stpc /* save subtest pc */ ! 80: movl $3,_subtst /* subttest number */ ! 81: movl $1,_no_opr /* number of operands */ ! 82: movl r3,_opr /* operand used in test */ ! 83: 0: movb 2(r3),125(r3) ! 84: cmpl bbasel,$0xff112255 ! 85: beql 5f ! 86: er5: ! 87: bbs $0,_scoplp,0b /* if set tight loop for scope */ ! 88: movl $1,_ercode /*error code - data miscompare */ ! 89: movl bbase1,_actual /*observed*/ ! 90: movl $0xff112255,_expected /*expected*/ ! 91: jmp *badrtn /*byte disp mode did not change */ ! 92: /*right byte */ ! 93: 5: ! 94: bbs $0,_force_lp,0b /* if set loop on last subtest */ ! 95: movl $0,_ercode /*no error*/ ! 96: movl $0x33221100,bbase1 ! 97: movl $0xaaaaaaaa,bbase2 ! 98: movl $0xbbbbbbbb,bbase3 ! 99: movl $0xffffffff,bbasel ! 100: jmp *return ! 101: /*end of test - goto monitor */ ! 102: ! 103: ! 104: ! 105: /* Variables */ ! 106: .align 2 ! 107: bbase1: .fill 1,4,0x33221100 /*relative location 0*/ ! 108: bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */ ! 109: bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */ ! 110: .space 112 ! 111: bbasel: .fill 1,4,0xffffffff /*rl 124 */ ! 112: ! 113: bb1: .long bbase1 ! 114: bbl: .long bbasel ! 115:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.