Annotation of cci/d/entry/cmp_w.s, revision 1.1.1.1

1.1       root        1: 
                      2: 
                      3: /*             CMPW (compare word) test                                */
                      4: /*                                                                     */
                      5: /*Test name = cmpw                                                     */
                      6: /*Description =                                                                */
                      7: /*     This test checks 'cmpw' instruction as follows:                 */
                      8: /*     src1            src2            N Z V C (flags)                 */
                      9: /*     ____            ____            _______________                 */
                     10: /*     +       =       +               0 1 0 1                         */
                     11: /*     -       =       -               0 1 0 1                         */
                     12: /*     +       >       +               1 0 0 0                         */
                     13: /*     -       <       -               1 0 0 0                         */
                     14: /*     -       =       +               1 0 0 1                         */
                     15: /*     -       >       +               1 0 0 1                         */
                     16: /*     -       <       +               1 0 0 1                         */
                     17: /*     +       <       -               0 0 0 0                         */
                     18: /*     +       =       -               0 0 0 0                         */
                     19: /*     +       >       -               0 0 0 0                         */
                     20: /*     -       >       -               0 0 0 1                         */
                     21: /*     +       >       +               0 0 0 1                         */
                     22: /*     M     ----      M               -------                         */
                     23: /*     R     ----      M               -------                         */
                     24: /*                                                                     */
                     25: /*                                                                     */
                     26: /*                                                                     */
                     27: 
                     28: /*                                                                     */
                     29: /*     constants definition for 'cmpx' tests.                          */
                     30: /*                                                                     */
                     31: 
                     32:        .set    SRC1B1,0x7f     /*+127, highest +ve number, byte        */
                     33:        .set    SRC1W1,0x7fff
                     34:        .set    SRC1L1,0x7fffffff
                     35:        .set    SRC2B1,0x5555557f
                     36:        .set    SRC2W1,0x55557fff
                     37:        .set    SRC2L1,SRC1L1
                     38:        .set    SRC1B2,0xff     /*-1, highest -ve number, byte          */
                     39:        .set    SRC1W2,0xffff
                     40:        .set    SRC1L2,0xffffffff
                     41:        .set    SRC2B2,SRC1B2
                     42:        .set    SRC2W2,SRC1W2
                     43:        .set    SRC2L2,SRC1L2
                     44:        .set    SRC1B3,0x01
                     45:        .set    SRC1W3,0X0001
                     46:        .set    SRC1L3,0x00000001
                     47:        .set    SRC2B3,0x02
                     48:        .set    SRC2W3,0x0002
                     49:        .set    SRC2L3,0x00000002
                     50:        .set    SRC1B4,0xfe     /*-2                                    */
                     51:        .set    SRC1W4,0xfffe
                     52:        .set    SRC1L4,0xfffffffe
                     53:        .set    SRC2B4,0xff     /*-1                                    */
                     54:        .set    SRC2W4,0xffff
                     55:        .set    SRC2L4,0xffffffff
                     56:        .set    SRC1B5,0x81     /*-127                                  */
                     57:        .set    SRC1W5,0x8001
                     58:        .set    SRC1L5,0x80000001
                     59:        .set    SRC2B5,0x7f     /*+127                                  */
                     60:        .set    SRC2W5,0x7fff
                     61:        .set    SRC2L5,0x7fffffff
                     62:        .set    SRC1B6,SRC1B4   /*-2                                    */
                     63:        .set    SRC1W6,SRC1W4
                     64:        .set    SRC1L6,SRC1L4
                     65:        .set    SRC2B6,SRC1B3   /*+1                                    */
                     66:        .set    SRC2W6,SRC1W3
                     67:        .set    SRC2L6,SRC1L3
                     68:        .set    SRC1B7,SRC2B4   /*-1                                    */
                     69:        .set    SRC1W7,SRC2W4
                     70:        .set    SRC1L7,SRC2L4
                     71:        .set    SRC2B7,SRC2B3
                     72:        .set    SRC2W7,SRC2W3
                     73:        .set    SRC2L7,SRC2L3
                     74:        .set    SRC1B8,SRC2B6   /*+1*/
                     75:        .set    SRC1W8,SRC2W6
                     76:        .set    SRC1L8,SRC2L6
                     77:        .set    SRC2B8,SRC1B4   /*-2*/
                     78:        .set    SRC2W8,SRC1W4
                     79:        .set    SRC2L8,SRC1L4
                     80:        .set    SRC1B9,SRC1B1   /*127*/
                     81:        .set    SRC1W9,SRC1W1
                     82:        .set    SRC1L9,SRC1L1
                     83:        .set    SRC2B9,SRC1B5   /*-127*/
                     84:        .set    SRC2W9,SRC1W5
                     85:        .set    SRC2L9,SRC1L5
                     86:        .set    SRC1B10,SRC2B3  /*2*/
                     87:        .set    SRC1W10,SRC2W3
                     88:        .set    SRC1L10,SRC2L3
                     89:        .set    SRC2B10,SRC1B2  /*-1*/
                     90:        .set    SRC2W10,SRC1W2
                     91:        .set    SRC2L10,SRC1L2
                     92:        .set    SRC1B11,SRC1B2  /*-1*/
                     93:        .set    SRC1W11,SRC1W2
                     94:        .set    SRC1L11,SRC1L2
                     95:        .set    SRC2B11,SRC1B4  /*-2*/
                     96:        .set    SRC2W11,SRC1W4
                     97:        .set    SRC2L11,SRC1L4
                     98:        .set    SRC1B12,SRC2B3  /*2*/
                     99:        .set    SRC1W12,SRC2W3
                    100:        .set    SRC1L12,SRC2L3
                    101:        .set    SRC2B12,SRC1B3  /*1*/
                    102:        .set    SRC2W12,SRC1W3
                    103:        .set    SRC2L12,SRC1L3
                    104: 
                    105: /*                                                                     */
                    106: /*     Syst.s - Constants                                              */
                    107: /*                                                                     */
                    108:        .set    IPL,8
                    109:        .set    HIGH,31
                    110:        .set    ZERO,0
                    111:        .set    ONES,0xffffffff
                    112:        .set    N,8
                    113:        .set    Z,4
                    114:        .set    V,2
                    115:        .set    C,1
                    116:        .set    T,16
                    117:        .set    IV,32
                    118:        .set    FU,64
                    119:        .set    DV,128
                    120:        .set    PSWMASK,0x003f
                    121: /*                                                                     */
                    122: /*     t1loc = M, t2loc = M                                            */
                    123: /*                                                                     */
                    124:        .globl  _cmp_w
                    125: _cmp_w:
                    126:        callf   $4,_setjmp      /* save context for error return */
                    127:        movab   _cmp_w,_stpc    /* save subtest starting address */
                    128:        movl    $1,_subtst      /* subtest number */
                    129:        movl    $2,_no_opr      /* number of operands in use */
                    130:        movl    $SRC1W1,_opr    /* first operand */
                    131:        movl    $SRC2W1,_opr + 4 /* second operand */
                    132: 0:     movl    $SRC1W1,tloc1   /*tloc1 = source1                       */
                    133:        movl    $SRC2W1,tloc2   /*tloc2 = source2                       */
                    134:        bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    135:        bispsw  $(N|V|C)        /*turn neg, overflow, & carry ON        */
                    136:        cmpw    tloc1+2,tloc2+2 /*execute compare memory to memory      */
                    137:        bneq    error1          /*error if Z = 0                        */
                    138:        blss    error1          /*error if N = 1                        */
                    139:        bvs     error1          /*error if V = 1                        */
                    140:        bcc     error1          /*error if C = 0                        */
                    141:        jmp     1f
                    142: error1:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    143:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    144:        movl    $2,_ercode      /* error code flag failure */
                    145:        jmp     *badrtn
                    146: 1:     bicpsw  $Z              /*clear Z flag                          */
                    147:        cmpl    $SRC1W1,tloc1   /*check tloc1+2 & tlco2 unchanged               */
                    148:        beql    1f              /* no error then continue */
                    149:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    150:        movl    $3,_ercode      /* error code operand was changed */
                    151:        movl    tloc1,_actual   /* actual data */
                    152:        movl    $SRC1W1,_expected /* expected data */
                    153:        jmp     *badrtn
                    154: 1:     bicpsw  $Z
                    155:        movl    $SRC2W1,r4
                    156:        cmpl    $SRC2W1,tloc2
                    157:        beql    c2              /* no error then continue */
                    158:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    159:        movl    $3,_ercode      /* error code operand was changed */
                    160:        movl    tloc1,_actual   /* actual data */
                    161:        movl    $SRC1W1,_expected /* expected data */
                    162:        jmp     *badrtn
                    163: /*                                                                     */
                    164: /*     different patterns for source1 & source2                        */
                    165: /*                                                                     */
                    166: c2:
                    167:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    168: ac2:   callf   $4,_setjmp      /* save context for error return */
                    169:        movab   ac2,_stpc       /* save subtest starting address */
                    170:        movl    $2,_subtst      /* subtest number */
                    171:        movl    $2,_no_opr      /* number of operands in use */
                    172:        movl    $SRC1W2,_opr    /* first operand */
                    173:        movl    $-1,_opr + 4 /* second operand */
                    174: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    175:        movl    $SRC1W2,tloc1   /*tloc1 = source1                       */
                    176:        bispsw  $(N|V|C)        /*turn neg, overflow, & carry ON        */
                    177:        cmpw    tloc1+2,$-1     /*execute compare memory to data        */
                    178:        bneq    error2          /*error if Z = 0                        */
                    179:        blss    error2          /*error if N = 1                        */
                    180:        bvs     error2          /*error if V = 1                        */
                    181:        bcc     error2          /*error if C = 0                        */
                    182:        jmp     cmpwnc
                    183: error2:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    184:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    185:        movl    $2,_ercode      /* error code flag failure */
                    186:        jmp     *badrtn
                    187: 
                    188: cmpwnc:
                    189: 
                    190:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    191: ac3:   callf   $4,_setjmp      /* save context for error return */
                    192:        movab   ac3,_stpc       /* save subtest starting address */
                    193:        movl    $3,_subtst      /* subtest number */
                    194:        movl    $2,_no_opr      /* number of operands in use */
                    195:        movl    $SRC1W3,_opr    /* first operand */
                    196:        movl    $SRC2W3,_opr + 4 /* second operand */
                    197: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    198:        movl    $SRC2W3,tloc2   /*tloc2 = source2                       */
                    199:        bispsw  $(Z|V)          /*turn overflow, & zero ON              */
                    200:        cmpw    $SRC1W3,tloc2+2 /*execute compare       e data to mem   */
                    201:        beql    error3          /*error if Z = 1                        */
                    202:        bgeq    error3          /*error if N = 0                        */
                    203:        bvs     error3          /*error if V = 1                        */
                    204:        bcs     error3          /*error if C = 1                        */
                    205:        jmp     c4
                    206: error3:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    207:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    208:        movl    $2,_ercode      /* error code flag failure */
                    209:        jmp     *badrtn
                    210: /*                                                                     */
                    211: /*     different patterns for source1 & source2                        */
                    212: /*                                                                     */
                    213: c4:
                    214:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    215: ac4:   callf   $4,_setjmp      /* save context for error return */
                    216:        movab   ac4,_stpc       /* save subtest starting address */
                    217:        movl    $4,_subtst      /* subtest number */
                    218:        movl    $2,_no_opr      /* number of operands in use */
                    219:        movl    $SRC1W4,_opr    /* first operand */
                    220:        movl    $SRC2W4,_opr + 4 /* second operand */
                    221: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    222:        movl    $SRC1W4,r3      /* r3 = source1                 */
                    223:        movl    $SRC2W4,r4      /* r4 = source2                 */
                    224:        bispsw  $(Z|V)          /*turn overflow, & zero ON              */
                    225:        cmpw    r3,r4           /*execute compare reg to reg            */
                    226:        beql    error4          /*error if Z = 1                        */
                    227:        bgeq    error4          /*error if N = 0                        */
                    228:        bvs     error4          /*error if V = 1                        */
                    229:        bcs     error4          /*error if C = 1                        */
                    230:        jmp     cmpwn
                    231: error4:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    232:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    233:        movl    $2,_ercode      /* error code flag failure */
                    234:        jmp     *badrtn
                    235: 
                    236: 
                    237: cmpwn:
                    238:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    239: ac5:   callf   $4,_setjmp      /* save context for error return */
                    240:        movab   ac5,_stpc       /* save subtest starting address */
                    241:        movl    $5,_subtst      /* subtest number */
                    242:        movl    $2,_no_opr      /* number of operands in use */
                    243:        movl    $SRC1W5,_opr    /* first operand */
                    244:        movl    $SRC2W5,_opr + 4 /* second operand */
                    245: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    246:        movl    $SRC2W5,r4      /*tloc2 = source2                       */
                    247:        bispsw  $(Z|V|C)        /*turn zero, overflow, & carry ON       */
                    248:        cmpw    $SRC1W5,r4      /*execute compare data to reg           */
                    249:        beql    error5          /*error if Z = 1                        */
                    250:        blss    error5          /*error if N = 1                        */
                    251:        bvs     error5          /*error if V = 1                        */
                    252:        bcc     error5          /*error if C = 0                        */
                    253:        jmp     c6
                    254: error5:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    255:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    256:        movl    $2,_ercode      /* error code flag failure */
                    257:        jmp     *badrtn
                    258: /*                                                                     */
                    259: /*     different patterns for source1 & source2                        */
                    260: /*                                                                     */
                    261: c6:
                    262:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    263: ac6:   callf   $4,_setjmp      /* save context for error return */
                    264:        movab   ac6,_stpc       /* save subtest starting address */
                    265:        movl    $6,_subtst      /* subtest number */
                    266:        movl    $2,_no_opr      /* number of operands in use */
                    267:        movl    $SRC1W6,_opr    /* first operand */
                    268:        movl    $SRC2W6,_opr + 4 /* second operand */
                    269: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    270:        movl    $SRC1W6,r3      /*tloc1 = source1                       */
                    271:        movl    $SRC2W6,tloc2   /*tloc2 = source2                       */
                    272:        bispsw  $(Z|V|C)        /*turn zero, overflow, & carry ON       */
                    273:        cmpw    r3,tloc2+2      /*execute compare reg to memory         */
                    274:        beql    error6          /*error if Z = 1                        */
                    275:        blss    error6          /*error if N = 0                        */
                    276:        bvs     error6          /*error if V = 1                        */
                    277:        bcc     error6          /*error if C = 0                        */
                    278:        jmp     c7
                    279: error6:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    280:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    281:        movl    $2,_ercode      /* error code flag failure */
                    282:        jmp     *badrtn
                    283: /*                                                                     */
                    284: /*     different patterns for source1 & source2                        */
                    285: /*                                                                     */
                    286: c7:
                    287:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    288: ac7:   callf   $4,_setjmp      /* save context for error return */
                    289:        movab   ac7,_stpc       /* save subtest starting address */
                    290:        movl    $7,_subtst      /* subtest number */
                    291:        movl    $2,_no_opr      /* number of operands in use */
                    292:        movl    $SRC1W7,_opr    /* first operand */
                    293:        movl    $SRC2W7,_opr + 4 /* second operand */
                    294: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    295:        movl    $SRC1W7,r3      /*tloc1 = source1                       */
                    296:        bispsw  $(Z|V|C)        /*turn zero, overflow, & carry ON       */
                    297:        cmpw    r3,$SRC2W7      /*execute compare reg to data           */
                    298:        beql    error7          /*error if Z = 1                        */
                    299:        blss    error7          /*error if N = 0                        */
                    300:        bvs     error7          /*error if V = 1                        */
                    301:        bcc     error7          /*error if C = 0                        */
                    302:        jmp     cmpwc
                    303: error7:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    304:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    305:        movl    $2,_ercode      /* error code flag failure */
                    306:        jmp     *badrtn
                    307: 
                    308: cmpwc:
                    309:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    310: ac8:   callf   $4,_setjmp      /* save context for error return */
                    311:        movab   ac8,_stpc       /* save subtest starting address */
                    312:        movl    $8,_subtst      /* subtest number */
                    313:        movl    $2,_no_opr      /* number of operands in use */
                    314:        movl    $SRC1W8,_opr    /* first operand */
                    315:        movl    $SRC2W8,_opr + 4 /* second operand */
                    316: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    317:        movl    $SRC1W8,tloc1   /*tloc1 = source1                       */
                    318:        movl    $SRC2W8,tloc2   /*tloc2 = source2                       */
                    319:        bispsw  $(Z|V|N)        /*turn zero, overflow, & neg ON         */
                    320:        cmpw    tloc1+2,tloc2+2 /*execute compare                       */
                    321:        beql    error8          /*error if Z = 1                        */
                    322:        blss    error8          /*error if N = 1                        */
                    323:        bvs     error8          /*error if V = 1                        */
                    324:        bcs     error8          /*error if C = 1                        */
                    325:        jmp     c9
                    326: error8:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    327:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    328:        movl    $2,_ercode      /* error code flag failure */
                    329:        jmp     *badrtn
                    330: /*                                                                     */
                    331: /*     different patterns for source1 & source2                        */
                    332: /*                                                                     */
                    333: c9:
                    334:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    335: ac9:   callf   $4,_setjmp      /* save context for error return */
                    336:        movab   ac9,_stpc       /* save subtest starting address */
                    337:        movl    $9,_subtst      /* subtest number */
                    338:        movl    $2,_no_opr      /* number of operands in use */
                    339:        movl    $SRC1W9,_opr    /* first operand */
                    340:        movl    $SRC2W9,_opr + 4 /* second operand */
                    341: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    342:        movl    $SRC1W9,tloc1   /*tloc1 = source1                       */
                    343:        movl    $SRC2W9,tloc2   /*tloc2 = source2                       */
                    344:        bispsw  $(Z|V|N)        /*turn zero, overflow, & neg ON         */
                    345:        cmpw    tloc1+2,tloc2+2 /*execute compare                       */
                    346:        beql    error9          /*error if Z = 1                        */
                    347:        blss    error9          /*error if N = 1                        */
                    348:        bvs     error9          /*error if V = 1                        */
                    349:        bcs     error9          /*error if C = 1                        */
                    350:        jmp     c10
                    351: error9:        movpsl  _actual         /* actual = psl MAYBE it is incorrect */
                    352:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    353:        movl    $2,_ercode      /* error code flag failure */
                    354:        jmp     *badrtn
                    355: /*                                                                     */
                    356: /*     different patterns for source1 & source2                        */
                    357: /*                                                                     */
                    358: c10:
                    359:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    360: ac10:  callf   $4,_setjmp      /* save context for error return */
                    361:        movab   ac10,_stpc      /* save subtest starting address */
                    362:        movl    $0xa,_subtst    /* subtest number */
                    363:        movl    $2,_no_opr      /* number of operands in use */
                    364:        movl    $SRC1W10,_opr   /* first operand */
                    365:        movl    $SRC2W10,_opr + 4 /* second operand */
                    366: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    367:        movl    $SRC1W10,tloc1  /*tloc1 = source1                       */
                    368:        movl    $SRC2W10,tloc2  /*tloc2 = source2                       */
                    369:        bispsw  $(Z|V|N)        /*turn zero, overflow, & neg ON         */
                    370:        cmpw    tloc1+2,tloc2+2 /*execute compare                       */
                    371:        jeql    error10         /*error if Z = 1                        */
                    372:        jlss    error10         /*error if N = 1                        */
                    373:        jvs     error10         /*error if V = 1                        */
                    374:        jcs     error10         /*error if C = 1                        */
                    375:        jmp     cmpwoff
                    376: error10: movpsl        _actual         /* actual = psl MAYBE it is incorrect */
                    377:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    378:        movl    $2,_ercode      /* error code flag failure */
                    379:        jmp     *badrtn
                    380: 
                    381: cmpwoff:
                    382:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    383: ac11:  callf   $4,_setjmp      /* save context for error return */
                    384:        movab   ac11,_stpc      /* save subtest starting address */
                    385:        movl    $0xb,_subtst    /* subtest number */
                    386:        movl    $2,_no_opr      /* number of operands in use */
                    387:        movl    $SRC1W11,_opr   /* first operand */
                    388:        movl    $SRC2W11,_opr + 4 /* second operand */
                    389: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    390:        movl    $SRC1W11,tloc1  /*tloc1 = source1                       */
                    391:        movl    $SRC2W11,tloc2  /*tloc2 = source2                       */
                    392:        bispsw  $(Z|N|V|C)      /*turn Z, neg, overflow, & carry ON     */
                    393:        cmpw    tloc1+2,tloc2+2 /*execute compare                       */
                    394:        beql    error11         /*error if Z = 1                        */
                    395:        blss    error11         /*error if N = 1                        */
                    396:        bvs     error11         /*error if V = 1                        */
                    397:        bcc     error11         /*error if C = 0                        */
                    398:        jmp     cmpwoff1
                    399: error11: movpsl        _actual         /* actual = psl MAYBE it is incorrect */
                    400:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    401:        movl    $2,_ercode      /* error code flag failure */
                    402:        jmp     *badrtn
                    403: 
                    404: cmpwoff1:
                    405:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    406: ac12:  callf   $4,_setjmp      /* save context for error return */
                    407:        movab   ac12,_stpc      /* save subtest starting address */
                    408:        movl    $0xc,_subtst    /* subtest number */
                    409:        movl    $2,_no_opr      /* number of operands in use */
                    410:        movl    $SRC1W12,_opr   /* first operand */
                    411:        movl    $SRC2W12,_opr + 4 /* second operand */
                    412: 0:     bicpsw  $PSWMASK        /*disable overflow & other enable bits  */
                    413:        movl    $SRC1W12,tloc1  /*tloc1 = source1                       */
                    414:        movl    $SRC2W12,tloc2  /*tloc2 = source2                       */
                    415:        bispsw  $(Z|N|V|C)      /*turn Z, neg, overflow, & carry ON     */
                    416:        cmpw    tloc1+2,tloc2+2 /*execute compare                       */
                    417:        beql    error12         /*error if Z = 1                        */
                    418:        blss    error12         /*error if N = 1                        */
                    419:        bvs     error12         /*error if V = 1                        */
                    420:        bcc     error12         /*error if C = 0                        */
                    421:        jmp     aldn
                    422: error12: movpsl        _actual         /* actual = psl MAYBE it is incorrect */
                    423:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    424:        movl    $2,_ercode      /* error code flag failure */
                    425:        jmp     *badrtn
                    426: 
                    427: aldn:  bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    428:        jmp     *return         /* good, return to monitor */
                    429: 
                    430: 
                    431: /*     Variables       */
                    432:        .align  2
                    433: tloc1: .space  4
                    434: tloc2: .space  4
                    435: 
                    436: /*     end of file     */

unix.superglobalmegacorp.com

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