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

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