|
|
1.1 ! root 1: ! 2: ! 3: /* ABSOLUTE INDEXED ADDRESSING MODE TEST */ ! 4: /* */ ! 5: /* */ ! 6: /* */ ! 7: /* Syst.s - Constants */ ! 8: /* */ ! 9: .set IPL,8 ! 10: .set HIGH,31 ! 11: .set ZERO,0 ! 12: .set ONES,0xffffffff ! 13: .set N,8 ! 14: .set Z,4 ! 15: .set V,2 ! 16: .set C,1 ! 17: .set T,16 ! 18: .set IV,32 ! 19: .set FU,64 ! 20: .set DV,128 ! 21: .set PSWMASK,0x003f ! 22: ! 23: .globl _absi_mode ! 24: _absi_mode: ! 25: movl $1,r1 /* subtest number */ ! 26: bicpsw $PSWMASK ! 27: clrl r3 ! 28: movb $3,r4 /*index */ ! 29: movb *$data_table[r4],r3 /*get third byte from data_table*/ ! 30: cmpl r3,$0x44 /*which is 0x44 */ ! 31: beql 1f ! 32: er1: ! 33: movpsl r5 ! 34: movl $1,r2 /*error code*/ ! 35: movl $0x44,r4 /*expected data; r3 = observed */ ! 36: jmp *badrtn /*display error */ ! 37: 1: cmpl $3,r4 /*check index reg r4 unchanged */ ! 38: beql 3f ! 39: er3: ! 40: movpsl r5 ! 41: movl $2,r2 /*error code*/ ! 42: movl r4,r4 /*expected data; r3 = observed */ ! 43: movl $3,r4 ! 44: jmp *badrtn /*display error */ ! 45: 3: movl $2,r1 ! 46: movw *$data_table[r4],r3 /*get third word from data_table*/ ! 47: cmpl r3,$0x7788 /*which is 0x7788 */ ! 48: beql 4f ! 49: er4: ! 50: movpsl r5 ! 51: movl $3,r2 /*error code*/ ! 52: movl $0x7788,r4 /*expected data; r3 = observed */ ! 53: jmp *badrtn /*display error */ ! 54: 4: movl $3,r1 ! 55: movl *$data_table[r4],r3 /*get third longword from table */ ! 56: cmpl r3,$0xddeeff00 /*which is 0xddeeff00 */ ! 57: beql 5f ! 58: er5: ! 59: movpsl r5 ! 60: movl $4,r2 /*error code*/ ! 61: movl $0xddeeff00,r4 /*expected data; r3 = observed */ ! 62: jmp *badrtn /*display error */ ! 63: 5: movl $0,r2 /*no error*/ ! 64: jmp *return /*end of test - goto monitor */ ! 65: ! 66: ! 67: /* Variables */ ! 68: ! 69: .align 2 ! 70: disp: .space 4 ! 71: data_table: ! 72: .fill 1,4,0x11223344 /*relative location 0*/ ! 73: .fill 1,4,0x55667788 /*rl 4 */ ! 74: .fill 1,4,0x99aabbcc /*rl 8 */ ! 75: .fill 1,4,0xddeeff00 /*rl 12 */ ! 76: .fill 1,4,0x00000000 ! 77: ! 78: .align 2 ! 79: dta1: .long disp ! 80: ! 81: add_table: ! 82: .space 5 ! 83: .align 2 ! 84: .long data_table ! 85: .space 12 ! 86: .align 2 ! 87: .long data_table ! 88: .space 13 ! 89: .align 2 ! 90: .long data_table ! 91: ! 92: .align 2 ! 93: base_add: ! 94: .long add_table ! 95: ! 96: /* end of file */ ! 97: ! 98: ! 99:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.