|
|
1.1 ! root 1: /* (BYTE, WORD, LONGWORD) DISPLACEMENT ADDRESSING MODES TEST */ ! 2: /* */ ! 3: /* */ ! 4: /* */ ! 5: /* Syst.s - Constants */ ! 6: /* */ ! 7: .set IPL,8 ! 8: .set HIGH,31 ! 9: .set ZERO,0 ! 10: .set ONES,0xffffffff ! 11: .set N,8 ! 12: .set Z,4 ! 13: .set V,2 ! 14: .set C,1 ! 15: .set T,16 ! 16: .set IV,32 ! 17: .set FU,64 ! 18: .set DV,128 ! 19: .set PSWMASK,0x003f ! 20: ! 21: .globl _dispd_mode ! 22: _dispd_mode: ! 23: movl $1,r1 /* subtest number */ ! 24: movl base_add,r3 /*base of the address_table*/ ! 25: movl *b^4(r3),r4 /*byte disp deferred mode*/ ! 26: cmpl r4,$0x33221100 ! 27: beql 1f ! 28: er1: ! 29: movl $1,r2 /*error code*/ ! 30: movl bbase1,r3 /*expected; r4 = observed*/ ! 31: jmp *badrtn /*byte disp def mode did not move right value */ ! 32: 1: movl $2,r1 /* subtest number */ ! 33: movl $0x55555555,r4 ! 34: movl r4,*b^4(r3) ! 35: cmpl bbase1,$0x55555555 /*this is the actual location */ ! 36: /*changed by the previous inst */ ! 37: beql 2f ! 38: er2: ! 39: movl $2,r2 /*error code*/ ! 40: movl bbase1,r3 /*observed; r4 = expected*/ ! 41: jmp *badrtn /*byte disp def mode did not move right value */ ! 42: 2: ! 43: movl $3,r1 /* subtest number */ ! 44: movl base_add,r3 /*base of the address_table*/ ! 45: movl *w^32012(r3),r4 /*word disp deferred mode*/ ! 46: cmpl r4,$0xaaaaaaaa ! 47: beql 3f ! 48: er3: ! 49: movl $3,r2 /*error code*/ ! 50: movl bbase2,r3 /*expected; r4 = observed*/ ! 51: jmp *badrtn /*byte disp def mode did not move right value */ ! 52: 3: movl $4,r1 /* subtest number */ ! 53: movl $0x55555555,r4 ! 54: movl r4,*w^32012(r3) ! 55: cmpl bbase2,$0x55555555 /*this is the actual location */ ! 56: /*changed by the previous inst */ ! 57: beql 4f ! 58: er4: ! 59: movl $4,r2 /*error code*/ ! 60: movl bbase2,r3 /*observed; r4 = expected*/ ! 61: jmp *badrtn /*byte disp def mode did not move right value */ ! 62: 4: ! 63: movl $5,r1 /* subtest number */ ! 64: movl base_add,r3 /*base of the address_table*/ ! 65: movl *l^64020(r3),r4 /*longword disp deferred mode*/ ! 66: cmpl r4,$0xbbbbbbbb ! 67: beql 5f ! 68: er5: ! 69: movl $5,r2 /*error code*/ ! 70: movl bbase3,r3 /*expected; r2 = observed*/ ! 71: jmp *badrtn /*byte disp def mode did not move right value */ ! 72: 5: movl $6,r1 /* subtest number */ ! 73: movl $0x55555555,r4 ! 74: movl r4,*l^64020(r3) ! 75: cmpl bbase3,$0x55555555 /*this is the actual location */ ! 76: /*changed by the previous inst */ ! 77: beql 6f ! 78: er6: ! 79: movl $6,r2 /*error code*/ ! 80: movl bbase3,r3 /*observed; r2 = expected*/ ! 81: jmp *badrtn /*byte disp def mode did not move right value */ ! 82: 6: ! 83: movl $0,r2 /*no error*/ ! 84: movl $0x33221100,bbase1 ! 85: movl $0xaaaaaaaa,bbase2 ! 86: movl $0xbbbbbbbb,bbase3 ! 87: jmp *return /*end of test */ ! 88: ! 89: ! 90: /* Variables */ ! 91: .align 2 ! 92: bbase1: .fill 1,4,0x33221100 /*relative location 0*/ ! 93: bbase2: .fill 1,4,0xaaaaaaaa /*rl 4 */ ! 94: bbase3: .fill 1,4,0xbbbbbbbb /*rl 8 */ ! 95: .space 112 ! 96: bbasel: .fill 1,4,0xffffffff /*rl 124 */ ! 97: ! 98: ! 99: bb1: .long bbase1 ! 100: bbl: .long bbasel ! 101: ! 102: /*address table */ ! 103: .align 2 ! 104: add_table: ! 105: .space 4 ! 106: .align 2 ! 107: .long bbase1 /* relative location 4 */ ! 108: .space 32002 ! 109: .align 2 ! 110: .long bbase2 /*relative location 32012 */ ! 111: .space 32003 ! 112: .align 2 ! 113: .long bbase3 /*relative location 64020 */ ! 114: ! 115: base_add: ! 116: .long add_table ! 117: ! 118: ! 119: ! 120: /*end of file */ ! 121: ! 122:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.