|
|
1.1 ! root 1: ! 2: /* AUTODECREMENT/INCREMENT 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 _adec_mode ! 23: _adec_mode: ! 24: callf $4,_setjmp /* save context for error return */ ! 25: movab _adec_mode,_stpc /* save subtest pc */ ! 26: movl $1,_subtst /* subtest number */ ! 27: movl $1,_no_opr /* number of operands in use */ ! 28: movl spb4,_opr /* test operand */ ! 29: 0: movl $0x11223344,spbase-4 ! 30: movl $0x55667788,spbase-8 ! 31: movl $0x99aabbcc,spbase-12 ! 32: movl $0xddeeff00,spbase-16 ! 33: bicpsw $PSWMASK ! 34: movl spb,sp /* sp = stack base */ ! 35: movl $-1,r3 ! 36: movl r3,-(sp) ! 37: movab (sp),r3 ! 38: cmpl r3,spb4 /*check sp = oldsp - 4 */ ! 39: beql 8f ! 40: er8: ! 41: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 42: movl $1,_ercode /*error code*/ ! 43: movl r3,_actual /* actual data */ ! 44: movl spb4,_expected /*expected */ ! 45: jmp *badrtn /*display error */ ! 46: /*sp not decremented by 4 on-(sp) mode */ ! 47: 8: ! 48: cmpl $-1,(sp) ! 49: beql 9f ! 50: er9: ! 51: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 52: movl $3,_ercode /* error code operand modified */ ! 53: movl (sp),_actual /* actual data */ ! 54: movl $-1,_expected /*expected */ ! 55: jmp *badrtn /*-(sp) did not push correct value on stack*/ ! 56: 9: ! 57: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 58: 9: callf $4,_setjmp /* save context for error return */ ! 59: movab 9b,_stpc /* save subtest pc */ ! 60: movl $2,_subtst /* subtest number */ ! 61: movl $1,_no_opr /* number of operands in use */ ! 62: movl spb16,_opr /* test operand */ ! 63: 0: movl $1,-(sp) ! 64: movl $2,-(sp) ! 65: movl $3,-(sp) ! 66: movab (sp),r3 ! 67: cmpl r3,spb16 ! 68: beql 1f ! 69: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 70: movl $1,_ercode /* error code data miscompare */ ! 71: movl (sp),_actual /* actual data */ ! 72: movl $spb16,_expected /*expected */ ! 73: jmp *badrtn /*sp not decremented by 12 after 3 pushes*/ ! 74: 1: ! 75: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 76: 1: callf $4,_setjmp /* save context for error return */ ! 77: movab 1b,_stpc /* save subtest pc */ ! 78: movl $3,_subtst /* subtest number */ ! 79: movl $1,_no_opr /* number of operands in use */ ! 80: movl $3,_opr /* test operand */ ! 81: 0: movl $3,r4 ! 82: movl (sp)+,r3 ! 83: cmpl r3,r4 ! 84: beql 1f ! 85: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 86: movl $1,_ercode /* error code data miscompare */ ! 87: movl r3,_actual /* actual data */ ! 88: movl $3,_expected /*expected */ ! 89: jmp *badrtn /*-(sp) did not push correct value*/ ! 90: /*or (sp)+ did not pop correct value*/ ! 91: 1: ! 92: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 93: 1: callf $4,_setjmp /* save context for error return */ ! 94: movab 1b,_stpc /* save subtest pc */ ! 95: movl $4,_subtst /* subtest number */ ! 96: movl $1,_no_opr /* number of operands in use */ ! 97: movl spb12,_opr /* test operand */ ! 98: 0: movl spb12,r4 ! 99: movab (sp),r3 ! 100: cmpl r3,r4 ! 101: beql 1f ! 102: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 103: movl $1,_ercode /* error code data miscompare */ ! 104: movl r3,_actual /* actual data */ ! 105: movl spb12,_expected /*expected */ ! 106: jmp *badrtn /*sp not incremented properly in (sp)+ mode*/ ! 107: 1: ! 108: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 109: 1: callf $4,_setjmp /* save context for error return */ ! 110: movab 1b,_stpc /* save subtest pc */ ! 111: movl $5,_subtst /* subtest number */ ! 112: movl $1,_no_opr /* number of operands in use */ ! 113: movl $2,_opr /* test operand */ ! 114: 0: movl $2,r4 ! 115: movl (sp)+,r3 ! 116: cmpl r3,r4 ! 117: beql 1f ! 118: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 119: movl $1,_ercode /* error code data miscompare */ ! 120: movl r3,_actual /* actual data */ ! 121: movl $2,_expected /*expected */ ! 122: jmp *badrtn /*-(sp) did not push correct value*/ ! 123: ! 124: /*or (sp)+ did not pop correct value*/ ! 125: 1: ! 126: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 127: 1: callf $4,_setjmp /* save context for error return */ ! 128: movab 1b,_stpc /* save subtest pc */ ! 129: movl $6,_subtst /* subtest number */ ! 130: movl $1,_no_opr /* number of operands in use */ ! 131: movl spb8,_opr /* test operand */ ! 132: 0: movl spb8,r4 ! 133: movab (sp),r3 ! 134: cmpl r3,r4 ! 135: beql 1f ! 136: bbs $0,_scoplp,0b /* tight loop for scope loop */ ! 137: movl $1,_ercode /* error code data miscompare */ ! 138: movl r3,_actual /* actual data */ ! 139: movl spb8,_expected /*expected */ ! 140: jmp *badrtn /*sp not incremented properly in (sp)+ mode*/ ! 141: ! 142: ! 143: 1: bbs $0,_force_lp,0b /* if set loop on subtest */ ! 144: movl $0,_ercode /*no error*/ ! 145: jmp *return /*end of test - goto monitor */ ! 146: ! 147: ! 148: ! 149: /* Variables */ ! 150: /* */ ! 151: /* */ ! 152: ! 153: .align 2 ! 154: splimit: .space 100 ! 155: .align 2 ! 156: .fill 1,4,0xddeeff00 ! 157: .fill 1,4,0x99aabbcc ! 158: .fill 1,4,0x55667788 ! 159: .fill 1,4,0x11223344 ! 160: .align 2 ! 161: spbase: .space 4 ! 162: spb: .long spbase ! 163: spb1: .long spbase - 1 ! 164: spb2: .long spbase - 2 ! 165: spb3: .long spbase - 3 ! 166: spb4: .long spbase - 4 ! 167: spb5: .long spbase - 5 ! 168: spb6: .long spbase - 6 ! 169: spb7: .long spbase - 7 ! 170: spb8: .long spbase - 8 ! 171: spb9: .long spbase - 9 ! 172: spb10: .long spbase - 10 ! 173: spb11: .long spbase - 11 ! 174: spb12: .long spbase - 12 ! 175: spb13: .long spbase - 13 ! 176: spb14: .long spbase - 14 ! 177: spb15: .long spbase - 15 ! 178: spb16: .long spbase - 16 ! 179: spb17: .long spbase - 17 ! 180: spb18: .long spbase - 18 ! 181: spb19: .long spbase - 19 ! 182: ! 183: ! 184:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.