Annotation of cci/d/entry/loadr.s, revision 1.1

1.1     ! root        1: /*     This program tests the instruction LOADR.       */
        !             2: #      R2 : error code
        !             3: #           1 = error in flags
        !             4: #           2 = mask operand changed
        !             5: #           3 = register did not get loaded correctly
        !             6: 
        !             7:        .set    N,8
        !             8:        .set    Z,4
        !             9:        .set    V,2
        !            10:        .set    C,1
        !            11:        
        !            12:        .globl  _loadr
        !            13: _loadr:
        !            14:        callf   $4,_setjmp      /* save context for return from error */
        !            15:        movab   _loadr,_stpc    /* save subtest starting address */
        !            16:        movl    $1,_subtst      /* subtest number */
        !            17:        movl    $1,_no_opr      /* number of operands in use */
        !            18:        movl    $0,_opr         /* first operand */
        !            19: 0:     movl    $0xffffffff,r0          /* load r0 - r13 with known data */
        !            20:        movl    r0,r1
        !            21:        movl    r1,r2
        !            22:        movl    r2,r3
        !            23:        movl    r3,r4
        !            24:        movl    r4,r5
        !            25:        movl    r5,r6
        !            26:        movl    r6,r7
        !            27:        movl    r7,r8
        !            28:        movl    r8,r9
        !            29:        movl    r9,r10
        !            30:        movl    r10,r11
        !            31:        movl    r11,r12
        !            32:        movl    r12,r13
        !            33: 
        !            34:        movl    $0,mask         /* set mask */
        !            35:        bicpsw  $(Z|V)          /* clear z,v flags                      */
        !            36:        bispsw  $(N|C)          /* set n,c flag         */
        !            37:        loadr   mask,l0         /* this is the tested instruction       */
        !            38:        jeql    error0          /* error if Z set */
        !            39:        jvs     error0          /* error if V set */
        !            40:        jgeq    error0          /* error if N not set */
        !            41:        jcc     error0          /* error if C not set */
        !            42:        jmp     1f
        !            43: error0:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
        !            44:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            45:        movl    $2,_ercode      /* error code flag failure */
        !            46:        jmp     *badrtn
        !            47: 
        !            48: 1:     cmpl    $0,mask                 /* check if mask changed */
        !            49:        jeql    1f
        !            50:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            51:        movl    $3,_ercode      /* error code operand was changed */
        !            52:        movl    mask,_actual    /* actual data */
        !            53:        movl    $0,_expected    /* expected data */
        !            54:        jmp     *badrtn
        !            55: 1:     cmpl    $0xffffffff,r0
        !            56:        jeql    1f
        !            57:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            58:        movl    $1,_ercode      /* error code data miscompare */
        !            59:        movl    r0,_actual      /* actual data */
        !            60:        movl    $0xffffffff,_expected /* expected data */
        !            61:        jmp     *badrtn
        !            62: 1:     cmpl    $0xffffffff,r1
        !            63:        jeql    1f
        !            64:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            65:        movl    $1,_ercode      /* error code data miscompare */
        !            66:        movl    r1,_actual      /* actual data */
        !            67:        movl    $0xffffffff,_expected /* expected data */
        !            68:        jmp     *badrtn
        !            69: 1:     cmpl    $0xffffffff,r2
        !            70:        jeql    1f
        !            71:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            72:        movl    $1,_ercode      /* error code data miscompare */
        !            73:        movl    r2,_actual      /* actual data */
        !            74:        movl    $0xffffffff,_expected /* expected data */
        !            75:        jmp     *badrtn
        !            76: 1:     cmpl    $0xffffffff,r3
        !            77:        jeql    1f
        !            78:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            79:        movl    $1,_ercode      /* error code data miscompare */
        !            80:        movl    r3,_actual      /* actual data */
        !            81:        movl    $0xffffffff,_expected /* expected data */
        !            82:        jmp     *badrtn
        !            83: 1:     cmpl    $0xffffffff,r4
        !            84:        jeql    1f
        !            85:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            86:        movl    $1,_ercode      /* error code data miscompare */
        !            87:        movl    r4,_actual      /* actual data */
        !            88:        movl    $0xffffffff,_expected /* expected data */
        !            89:        jmp     *badrtn
        !            90: 1:     cmpl    $0xffffffff,r5
        !            91:        jeql    1f
        !            92:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !            93:        movl    $1,_ercode      /* error code data miscompare */
        !            94:        movl    r5,_actual      /* actual data */
        !            95:        movl    $0xffffffff,_expected /* expected data */
        !            96:        jmp     *badrtn
        !            97: 1:     cmpl    $0xffffffff,r6
        !            98:        jeql    1f
        !            99:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           100:        movl    $1,_ercode      /* error code data miscompare */
        !           101:        movl    r6,_actual      /* actual data */
        !           102:        movl    $0xffffffff,_expected /* expected data */
        !           103:        jmp     *badrtn
        !           104: 1:     cmpl    $0xffffffff,r7
        !           105:        jeql    1f
        !           106:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           107:        movl    $1,_ercode      /* error code data miscompare */
        !           108:        movl    r7,_actual      /* actual data */
        !           109:        movl    $0xffffffff,_expected /* expected data */
        !           110:        jmp     *badrtn
        !           111: 1:     cmpl    $0xffffffff,r8
        !           112:        jeql    1f
        !           113:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           114:        movl    $1,_ercode      /* error code data miscompare */
        !           115:        movl    r8,_actual      /* actual data */
        !           116:        movl    $0xffffffff,_expected /* expected data */
        !           117:        jmp     *badrtn
        !           118: 1:     cmpl    $0xffffffff,r9
        !           119:        jeql    1f
        !           120:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           121:        movl    $1,_ercode      /* error code data miscompare */
        !           122:        movl    r9,_actual      /* actual data */
        !           123:        movl    $0xffffffff,_expected /* expected data */
        !           124:        jmp     *badrtn
        !           125: 1:     cmpl    $0xffffffff,r10
        !           126:        jeql    1f
        !           127:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           128:        movl    $1,_ercode      /* error code data miscompare */
        !           129:        movl    r10,_actual     /* actual data */
        !           130:        movl    $0xffffffff,_expected /* expected data */
        !           131:        jmp     *badrtn
        !           132: 1:     cmpl    $0xffffffff,r11
        !           133:        jeql    1f
        !           134:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           135:        movl    $1,_ercode      /* error code data miscompare */
        !           136:        movl    r11,_actual     /* actual data */
        !           137:        movl    $0xffffffff,_expected /* expected data */
        !           138:        jmp     *badrtn
        !           139: 1:     cmpl    $0xffffffff,r12
        !           140:        jeql    1f
        !           141:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           142:        movl    $1,_ercode      /* error code data miscompare */
        !           143:        movl    r12,_actual     /* actual data */
        !           144:        movl    $0xffffffff,_expected /* expected data */
        !           145:        jmp     *badrtn
        !           146: 1:     cmpl    $0xffffffff,r13
        !           147:        jeql    next
        !           148:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           149:        movl    $1,_ercode      /* error code data miscompare */
        !           150:        movl    r13,_actual     /* actual data */
        !           151:        movl    $0xffffffff,_expected /* expected data */
        !           152:        jmp     *badrtn
        !           153: 
        !           154: next:
        !           155:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
        !           156: al2:   callf   $4,_setjmp      /* save context for return from error */
        !           157:        movab   al2,_stpc       /* save subtest starting address */
        !           158:        movl    $2,_subtst      /* subtest number */
        !           159:        movl    $1,_no_opr      /* number of operands in use */
        !           160:        movl    $0x2ad5,_opr            /* first operand */
        !           161: 0:     movw    $0x2ad5,mask    /* Set mask to load r0,r2,r4,r6,r7,r9,r11,r13 */
        !           162:        movw    mask,r10        /* use a register to contain mask */
        !           163:        bicpsw  $(Z|V|N|C)      /* clear all flags                      */
        !           164:        loadr   r10,l0          /* this is the tested instruction       */
        !           165:        jeql    error1          /* error if Z set */
        !           166:        jvs     error1          /* error if V set */
        !           167:        jlss    error1          /* error if N set */
        !           168:        jcs     error1          /* error if C set */
        !           169:        jmp     1f
        !           170: error1:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
        !           171:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           172:        movl    $2,_ercode      /* error code flag failure */
        !           173:        jmp     *badrtn
        !           174: 
        !           175: 1:     cmpl    $0x2ad5,r10
        !           176:        jeql    1f
        !           177:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           178:        movl    $3,_ercode      /* error code operand was changed */
        !           179:        movl    r10,_actual     /* actual data */
        !           180:        movl    $0x2ad5,_expected       /* expected data */
        !           181:        jmp     *badrtn
        !           182: 1:     cmpl    $0,r0           /* Check if registers loaded correctly */
        !           183:        jeql    1f
        !           184:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           185:        movl    $1,_ercode      /* error code data miscompare */
        !           186:        movl    r0,_actual      /* actual data */
        !           187:        movl    $0,_expected /* expected data */
        !           188:        jmp     *badrtn
        !           189: 1:     cmpl    $0xffffffff,r1
        !           190:        jeql    1f
        !           191:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           192:        movl    $1,_ercode      /* error code data miscompare */
        !           193:        movl    r1,_actual      /* actual data */
        !           194:        movl    $0xffffffff,_expected /* expected data */
        !           195:        jmp     *badrtn
        !           196: 1:     cmpl    $0x11111111,r2
        !           197:        jeql    1f
        !           198:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           199:        movl    $1,_ercode      /* error code data miscompare */
        !           200:        movl    r2,_actual      /* actual data */
        !           201:        movl    $0x11111111,_expected /* expected data */
        !           202:        jmp     *badrtn
        !           203: 1:     cmpl    $0xffffffff,r3
        !           204:        jeql    1f
        !           205:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           206:        movl    $1,_ercode      /* error code data miscompare */
        !           207:        movl    r3,_actual      /* actual data */
        !           208:        movl    $0xffffffff,_expected /* expected data */
        !           209:        jmp     *badrtn
        !           210: 1:     cmpl    $0x22222222,r4
        !           211:        jeql    1f
        !           212:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           213:        movl    $1,_ercode      /* error code data miscompare */
        !           214:        movl    r4,_actual      /* actual data */
        !           215:        movl    $0x22222222,_expected /* expected data */
        !           216:        jmp     *badrtn
        !           217: 1:     cmpl    $0xffffffff,r5
        !           218:        jeql    1f
        !           219:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           220:        movl    $1,_ercode      /* error code data miscompare */
        !           221:        movl    r5,_actual      /* actual data */
        !           222:        movl    $0xffffffff,_expected /* expected data */
        !           223:        jmp     *badrtn
        !           224: 1:     cmpl    $0x33333333,r6
        !           225:        jeql    1f
        !           226:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           227:        movl    $1,_ercode      /* error code data miscompare */
        !           228:        movl    r6,_actual      /* actual data */
        !           229:        movl    $0x33333333,_expected /* expected data */
        !           230:        jmp     *badrtn
        !           231: 1:     cmpl    $0x44444444,r7
        !           232:        jeql    1f
        !           233:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           234:        movl    $1,_ercode      /* error code data miscompare */
        !           235:        movl    r7,_actual      /* actual data */
        !           236:        movl    $0x44444444,_expected /* expected data */
        !           237:        jmp     *badrtn
        !           238: 1:     cmpl    $0xffffffff,r8
        !           239:        jeql    1f
        !           240:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           241:        movl    $1,_ercode      /* error code data miscompare */
        !           242:        movl    r8,_actual      /* actual data */
        !           243:        movl    $0xffffffff,_expected /* expected data */
        !           244:        jmp     *badrtn
        !           245: 1:     cmpl    $0x55555555,r9
        !           246:        jeql    1f
        !           247:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           248:        movl    $1,_ercode      /* error code data miscompare */
        !           249:        movl    r9,_actual      /* actual data */
        !           250:        movl    $0x55555555,_expected /* expected data */
        !           251:        jmp     *badrtn
        !           252: 1:     cmpl    $0x66666666,r11
        !           253:        jeql    1f
        !           254:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           255:        movl    $1,_ercode      /* error code data miscompare */
        !           256:        movl    r11,_actual     /* actual data */
        !           257:        movl    $0x66666666,_expected /* expected data */
        !           258:        jmp     *badrtn
        !           259: 1:     cmpl    $0xffffffff,r12
        !           260:        jeql    1f
        !           261:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           262:        movl    $1,_ercode      /* error code data miscompare */
        !           263:        movl    r12,_actual     /* actual data */
        !           264:        movl    $0xffffffff,_expected /* expected data */
        !           265:        jmp     *badrtn
        !           266: 1:     cmpl    $0x77777777,r13
        !           267:        jeql    next1
        !           268:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           269:        movl    $1,_ercode      /* error code data miscompare */
        !           270:        movl    r13,_actual     /* actual data */
        !           271:        movl    $0x77777777,_expected /* expected data */
        !           272:        jmp     *badrtn
        !           273:        
        !           274: next1:
        !           275:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
        !           276: al3:   callf   $4,_setjmp      /* save context for return from error */
        !           277:        movab   al3,_stpc       /* save subtest starting address */
        !           278:        movl    $3,_subtst      /* subtest number */
        !           279:        movl    $1,_no_opr      /* number of operands in use */
        !           280:        movl    $0x3fff,_opr            /* first operand */
        !           281: 0:     movl    $0xffffffff,r0          /* load r0 - r13 with known data */
        !           282:        movl    r0,r1
        !           283:        movl    r1,r2
        !           284:        movl    r2,r3
        !           285:        movl    r3,r4
        !           286:        movl    r4,r5
        !           287:        movl    r5,r6
        !           288:        movl    r6,r7
        !           289:        movl    r7,r8
        !           290:        movl    r8,r9
        !           291:        movl    r9,r10
        !           292:        movl    r10,r11
        !           293:        movl    r11,r12
        !           294:        movl    r12,r13
        !           295: 
        !           296:        movw    $0x3fff,mask    /* Set mask to load all registers */
        !           297:        bicpsw  $(Z|V|N|C)      /* clear all flags                      */
        !           298:        loadr   mask,l0         /* this is the tested instruction       */
        !           299:        jeql    error2          /* error if Z set */
        !           300:        jvs     error2          /* error if V set */
        !           301:        jlss    error2          /* error if N set */
        !           302:        jcs     error2          /* error if C set */
        !           303:        jmp     1f
        !           304: error2:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
        !           305:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           306:        movl    $2,_ercode      /* error code flag failure */
        !           307:        jmp     *badrtn
        !           308: 
        !           309: 1:     cmpl    $0x3fff0000,mask
        !           310:        jeql    1f
        !           311:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           312:        movl    $3,_ercode      /* error code operand was changed */
        !           313:        movl    mask,_actual    /* actual data */
        !           314:        movl    $0x3fff0000,_expected   /* expected data */
        !           315:        jmp     *badrtn
        !           316: 1:     cmpl    $0,r0           /* Check if registers loaded correctly */
        !           317:        jeql    1f
        !           318:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           319:        movl    $1,_ercode      /* error code data miscompare */
        !           320:        movl    r0,_actual      /* actual data */
        !           321:        movl    $0,_expected /* expected data */
        !           322:        jmp     *badrtn
        !           323: 1:     cmpl    $0x11111111,r1
        !           324:        jeql    1f
        !           325:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           326:        movl    $1,_ercode      /* error code data miscompare */
        !           327:        movl    r1,_actual      /* actual data */
        !           328:        movl    $0x11111111,_expected /* expected data */
        !           329:        jmp     *badrtn
        !           330: 1:     cmpl    $0x22222222,r2
        !           331:        jeql    1f
        !           332:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           333:        movl    $1,_ercode      /* error code data miscompare */
        !           334:        movl    r2,_actual      /* actual data */
        !           335:        movl    $0x22222222,_expected /* expected data */
        !           336:        jmp     *badrtn
        !           337: 1:     cmpl    $0x33333333,r3
        !           338:        jeql    1f
        !           339:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           340:        movl    $1,_ercode      /* error code data miscompare */
        !           341:        movl    r3,_actual      /* actual data */
        !           342:        movl    $0x33333333,_expected /* expected data */
        !           343:        jmp     *badrtn
        !           344: 1:     cmpl    $0x44444444,r4
        !           345:        jeql    1f
        !           346:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           347:        movl    $1,_ercode      /* error code data miscompare */
        !           348:        movl    r4,_actual      /* actual data */
        !           349:        movl    $0x44444444,_expected /* expected data */
        !           350:        jmp     *badrtn
        !           351: 1:     cmpl    $0x55555555,r5
        !           352:        jeql    1f
        !           353:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           354:        movl    $1,_ercode      /* error code data miscompare */
        !           355:        movl    r5,_actual      /* actual data */
        !           356:        movl    $0x55555555,_expected /* expected data */
        !           357:        jmp     *badrtn
        !           358: 1:     cmpl    $0x66666666,r6
        !           359:        jeql    1f
        !           360:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           361:        movl    $1,_ercode      /* error code data miscompare */
        !           362:        movl    r6,_actual      /* actual data */
        !           363:        movl    $0x66666666,_expected /* expected data */
        !           364:        jmp     *badrtn
        !           365: 1:     cmpl    $0x77777777,r7
        !           366:        jeql    1f
        !           367:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           368:        movl    $1,_ercode      /* error code data miscompare */
        !           369:        movl    r7,_actual      /* actual data */
        !           370:        movl    $0x77777777,_expected /* expected data */
        !           371:        jmp     *badrtn
        !           372: 1:     cmpl    $0x88888888,r8
        !           373:        jeql    1f
        !           374:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           375:        movl    $1,_ercode      /* error code data miscompare */
        !           376:        movl    r8,_actual      /* actual data */
        !           377:        movl    $0x88888888,_expected /* expected data */
        !           378:        jmp     *badrtn
        !           379: 1:     cmpl    $0x99999999,r9
        !           380:        jeql    1f
        !           381:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           382:        movl    $1,_ercode      /* error code data miscompare */
        !           383:        movl    r9,_actual      /* actual data */
        !           384:        movl    $0x99999999,_expected /* expected data */
        !           385:        jmp     *badrtn
        !           386: 1:     cmpl    $0xaaaaaaaa,r10
        !           387:        jeql    1f
        !           388:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           389:        movl    $1,_ercode      /* error code data miscompare */
        !           390:        movl    r10,_actual     /* actual data */
        !           391:        movl    $0xaaaaaaaa,_expected /* expected data */
        !           392:        jmp     *badrtn
        !           393: 1:     cmpl    $0xbbbbbbbb,r11
        !           394:        jeql    1f
        !           395:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           396:        movl    $1,_ercode      /* error code data miscompare */
        !           397:        movl    r11,_actual     /* actual data */
        !           398:        movl    $0xbbbbbbbb,_expected /* expected data */
        !           399:        jmp     *badrtn
        !           400: 1:     cmpl    $0xcccccccc,r12
        !           401:        jeql    1f
        !           402:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           403:        movl    $1,_ercode      /* error code data miscompare */
        !           404:        movl    r12,_actual     /* actual data */
        !           405:        movl    $0xcccccccc,_expected /* expected data */
        !           406:        jmp     *badrtn
        !           407: 1:     cmpl    $0xdddddddd,r13
        !           408:        jeql    aldn
        !           409:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
        !           410:        movl    $1,_ercode      /* error code data miscompare */
        !           411:        movl    r13,_actual     /* actual data */
        !           412:        movl    $0xdddddddd,_expected /* expected data */
        !           413:        jmp     *badrtn
        !           414: 
        !           415: aldn:  bbs     $0,_force_lp,0b /* if set loop on last subtest */
        !           416:        jmp     *return
        !           417: 
        !           418: /*     data space      */
        !           419: 
        !           420:        .align 2
        !           421: mask:
        !           422:        .long   0
        !           423: 
        !           424: l0:    .long   0
        !           425: l1:    .long   0x11111111
        !           426: l2:    .long   0x22222222
        !           427: l3:    .long   0x33333333
        !           428: l4:    .long   0x44444444
        !           429: l5:    .long   0x55555555
        !           430: l6:    .long   0x66666666
        !           431: l7:    .long   0x77777777
        !           432: l8:    .long   0x88888888
        !           433: l9:    .long   0x99999999
        !           434: l10:   .long   0xaaaaaaaa
        !           435: l11:   .long   0xbbbbbbbb
        !           436: l12:   .long   0xcccccccc
        !           437: l13:   .long   0xdddddddd
        !           438:        .long   0xabababab
        !           439: where: .long   0

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.