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

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