Annotation of cci/d/entry/storer.s, revision 1.1.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.