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

1.1       root        1: 
                      2: 
                      3: 
                      4: /*             B (branch on condition) test                            */
                      5: /*                                                                     */
                      6: /*Test name = bxxxx                                                    */
                      7: /*Description =                                                                */
                      8: /*     This test checks 'branch on condition' instructions as follows: */
                      9: /*     (1) forward & backward branch on condition  true                */
                     10: /*     (2) no branch (continue with the next instruction) on           */
                     11: /*     condition false.                                                */
                     12: /*                                                                     */
                     13: /*                                                                     */
                     14: /*                                                                     */
                     15: /*     Syst.s - Constants                                              */
                     16: /*                                                                     */
                     17:        .set    IPL,8
                     18:        .set    HIGH,31
                     19:        .set    ZERO,0
                     20:        .set    ONES,0xffffffff
                     21:        .set    N,8
                     22:        .set    Z,4
                     23:        .set    V,2
                     24:        .set    C,1
                     25:        .set    T,16
                     26:        .set    IV,32
                     27:        .set    FU,64
                     28:        .set    DV,128
                     29:        .set    PSWMASK,0x003f
                     30: 
                     31: 
                     32: /*                                                                     */
                     33: /*     beql & bneq     (Z flag On & OFF) test                          */
                     34: /*                                                                     */
                     35:        .globl  _b_cond
                     36: _b_cond:
                     37:        callf   $4,_setjmp      /* save context for error return */
                     38:        movab   _b_cond,_stpc   /* save address of subtest */
                     39:        movl    $1,_subtst      /* subtest number */
                     40:        movl    $0,_no_opr      /* number of operands in use */
                     41: 0:     bicpsw  $PSWMASK        /*Z TEST                                */
                     42:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                     43:        beql    erz             /*should not branch                     */
                     44:        bneq    fwdz0           /*check forward branch on Z off         */
                     45:        jmp     *$9f
                     46: 9:     movpsl  _actual         /* actual data */
                     47:        bbs     $0,_scoplp,0b   /* if set loop on error */
                     48:        movl    $2,_ercode      /* flag failure did not jump */
                     49:        bicpsw  $PSWMASK        /*Z TEST                                */
                     50:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                     51:        movpsl  _expected       /* expected data */
                     52:        jmp     *badrtn         /* error - did not branch               */
                     53: 
                     54: backz0:
                     55:        bneq    z1              /*goto Z on test                        */
                     56:        .space  4                       /*bad -should never come here   */
                     57: erz:   .space  20
                     58: 
                     59: fwdz0:
                     60:        bneq    backz0          /*ckeck backward branch on Z off        */
                     61:        movpsl  _actual         /* actual data */
                     62:        bbs     $0,_scoplp,0b   /* if set loop on error */
                     63:        movl    $2,_ercode      /* flag failure did not jump */
                     64:        bicpsw  $PSWMASK        /*Z TEST                                */
                     65:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                     66:        movpsl  _expected       /* expected data */
                     67:        jmp     *badrtn         /* error - did not branch               */
                     68: 
                     69: z1:    bbs     $0,_force_lp,0b /* if set loop on last subtest */
                     70: b2:    callf   $4,_setjmp      /* save context for error return */
                     71:        movab   b2,_stpc        /* save address of subtest */
                     72:        movl    $2,_subtst      /* subtest number */
                     73: 0:     bicpsw  $PSWMASK        /*Z ON test                             */
                     74:        bispsw  $Z              /*turn Z ON                             */
                     75:        bneq    erz             /*should not branch                     */
                     76:        beql    fwdz1           /*forward branch on Z on                */
                     77:        movpsl  _actual         /* actual data */
                     78:        bbs     $0,_scoplp,0b   /* if set loop on error */
                     79:        movl    $2,_ercode      /* flag failure did not jump */
                     80:        bicpsw  $PSWMASK        /*Z TEST                                */
                     81:        bispsw  $Z              /*turn Z ON                             */
                     82:        movpsl  _expected       /* expected data */
                     83:        jmp     *badrtn         /* error - did not branch               */
                     84: backz1:
                     85:        beql    n0              /*next test                             */
                     86:        .space  50
                     87: fwdz1:
                     88:        beql    backz1          /*backward branch on Z on               */
                     89:        movpsl  _actual         /* actual data */
                     90:        bbs     $0,_scoplp,0b   /* if set loop on error */
                     91:        movl    $2,_ercode      /* flag failure did not jump */
                     92:        bicpsw  $PSWMASK        /*Z TEST                                */
                     93:        bispsw  $Z              /*turn Z ON                             */
                     94:        movpsl  _expected       /* expected data */
                     95:        jmp     *badrtn         /* error - did not branch               */
                     96: 
                     97: /*                                                                     */
                     98: /*     blss & bgeq (N flag ON & OFF) test                              */
                     99: /*                                                                     */
                    100: 
                    101: n0:
                    102:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    103: b3:    callf   $4,_setjmp      /* save context for error return */
                    104:        movab   b3,_stpc        /* save address of subtest */
                    105:        movl    $3,_subtst      /* subtest number */
                    106: 0:     bicpsw  $PSWMASK        /*N TEST                                */
                    107:        bispsw  $(Z|V|C)        /*N off; others ON                      */
                    108:        blss    ern             /*should not branch                     */
                    109:        bgeq    fwdn0           /*check forward branch on N off         */
                    110:        movpsl  _actual         /* actual data */
                    111:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    112:        movl    $2,_ercode      /* flag failure did not jump */
                    113:        bicpsw  $PSWMASK        /*Z TEST                                */
                    114:        bispsw  $(Z|V|C)        /*N off; others ON                      */
                    115:        movpsl  _expected       /* expected data */
                    116:        jmp     *badrtn         /* error - did not branch               */
                    117: 
                    118: backn0:
                    119:        bgeq    n1              /*goto N on test                        */
                    120:        .space  4               /*bad -should never come here   */
                    121: ern:   .space  20
                    122: fwdn0:
                    123:        bgeq    backn0          /*ckeck backward branch on N off        */
                    124:        movpsl  _actual         /* actual data */
                    125:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    126:        movl    $2,_ercode      /* flag failure did not jump */
                    127:        bicpsw  $PSWMASK        /*Z TEST                                */
                    128:        bispsw  $(Z|V|C)        /*N off; others ON                      */
                    129:        movpsl  _expected       /* expected data */
                    130:        jmp     *badrtn         /* error - did not branch               */
                    131: 
                    132: n1:
                    133:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    134: b4:    callf   $4,_setjmp      /* save context for error return */
                    135:        movab   b4,_stpc        /* save address of subtest */
                    136:        movl    $4,_subtst      /* subtest number */
                    137: 0:     bicpsw  $PSWMASK        /*N ON test                             */
                    138:        bispsw  $N              /*turn N ON                             */
                    139:        bgeq    ern             /*should not branch                     */
                    140:        blss    fwdn1           /*forward branch on N on                */
                    141:        jmp     *$9f
                    142: 9:     movpsl  _actual         /* actual data */
                    143:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    144:        movl    $2,_ercode      /* flag failure did not jump */
                    145:        bicpsw  $PSWMASK        /*Z TEST                                */
                    146:        bispsw  $N              /*turn N ON                             */
                    147:        movpsl  _expected       /* expected data */
                    148:        jmp     *badrtn         /* error - did not branch               */
                    149: backn1:
                    150:        blss    v0              /*next test                             */
                    151:        .space  50
                    152: fwdn1:
                    153:        blss    backn1          /*backward branch on N on               */
                    154:        movpsl  _actual         /* actual data */
                    155:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    156:        movl    $2,_ercode      /* flag failure did not jump */
                    157:        bicpsw  $PSWMASK        /*Z TEST                                */
                    158:        bispsw  $N              /*turn N ON                             */
                    159:        movpsl  _expected       /* expected data */
                    160:        jmp     *badrtn         /* error - did not branch               */
                    161: 
                    162: /*                                                                     */
                    163: /*     bvc & bvs (V flag ON & OFF) test                                */
                    164: /*                                                                     */
                    165: 
                    166: v0:    bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    167: b5:    callf   $4,_setjmp      /* save context for error return */
                    168:        movab   b5,_stpc        /* save address of subtest */
                    169:        movl    $5,_subtst      /* subtest number */
                    170: 0:     bicpsw  $PSWMASK        /*V TEST                                */
                    171:        bispsw  $(N|Z|C)        /*V off; others ON                      */
                    172:        bvs     erv             /*should not branch                     */
                    173:        bvc     fwdv0           /*check forward branch on V off         */
                    174:        movpsl  _actual         /* actual data */
                    175:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    176:        movl    $2,_ercode      /* flag failure did not jump */
                    177:        bicpsw  $PSWMASK        /*Z TEST                                */
                    178:        bispsw  $(N|Z|C)        /*V off; others ON                      */
                    179:        movpsl  _expected       /* expected data */
                    180:        jmp     *badrtn         /* error - did not branch               */
                    181: backv0:
                    182:        bvc     v1              /*goto V on test                        */
                    183:        .space  4               /*bad -should never come here   */
                    184: erv:   .space  20
                    185: fwdv0:
                    186:        bvc     backv0          /*ckeck backward branch on V off        */
                    187:        movpsl  _actual         /* actual data */
                    188:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    189:        movl    $2,_ercode      /* flag failure did not jump */
                    190:        bicpsw  $PSWMASK        /*Z TEST                                */
                    191:        bispsw  $(N|Z|C)        /*V off; others ON                      */
                    192:        movpsl  _expected       /* expected data */
                    193:        jmp     *badrtn         /* error - did not branch               */
                    194: 
                    195: v1:    bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    196: b6:    callf   $4,_setjmp      /* save context for error return */
                    197:        movab   b6,_stpc        /* save address of subtest */
                    198:        movl    $6,_subtst      /* subtest number */
                    199: 0:     bicpsw  $PSWMASK        /*V ON test                             */
                    200:        bispsw  $V              /*turn V ON                             */
                    201:        bvc     erv             /*should not branch                     */
                    202:        bvs     fwdv1           /*forward branch on V on                */
                    203:        movpsl  _actual         /* actual data */
                    204:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    205:        movl    $2,_ercode      /* flag failure did not jump */
                    206:        bicpsw  $PSWMASK        /*Z TEST                                */
                    207:        bispsw  $V              /*turn V ON                             */
                    208:        movpsl  _expected       /* expected data */
                    209:        jmp     *badrtn         /* error - did not branch               */
                    210: 
                    211: backv1:
                    212:        bvs     c0              /*next test                             */
                    213:        .space  50
                    214: fwdv1:
                    215:        bvs     backv1          /*backward branch on V on               */
                    216:        movpsl  _actual         /* actual data */
                    217:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    218:        movl    $2,_ercode      /* flag failure did not jump */
                    219:        bicpsw  $PSWMASK        /*Z TEST                                */
                    220:        bispsw  $V              /*turn V ON                             */
                    221:        movpsl  _expected       /* expected data */
                    222:        jmp     *badrtn         /* error - did not branch               */
                    223: 
                    224: /*                                                                     */
                    225: /*     bcs & bcc (C flag ON & OFF) test                                */
                    226: /*                                                                     */
                    227: 
                    228: c0:
                    229:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    230: b7:    callf   $4,_setjmp      /* save context for error return */
                    231:        movab   b7,_stpc        /* save address of subtest */
                    232:        movl    $7,_subtst      /* subtest number */
                    233: 0:     bicpsw  $PSWMASK        /*C TEST                                */
                    234:        bispsw  $(N|V|Z)        /*C off; others ON                      */
                    235:        bcs     erc             /*should not branch                     */
                    236:        bcc     fwdc0           /*check forward branch on C off         */
                    237:        movpsl  _actual         /* actual data */
                    238:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    239:        movl    $2,_ercode      /* flag failure did not jump */
                    240:        bicpsw  $PSWMASK        /*Z TEST                                */
                    241:        bispsw  $(N|V|Z)        /*C off; others ON                      */
                    242:        movpsl  _expected       /* expected data */
                    243:        jmp     *badrtn         /* error - did not branch               */
                    244: 
                    245: backc0:
                    246:        bcc     c1              /*goto C on test                        */
                    247:        .space  4               /*bad -should never come here   */
                    248: erc:   .space  20
                    249: fwdc0:
                    250:        bcc     backc0          /*ckeck backward branch on C off        */
                    251:        movpsl  _actual         /* actual data */
                    252:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    253:        movl    $2,_ercode      /* flag failure did not jump */
                    254:        bicpsw  $PSWMASK        /*Z TEST                                */
                    255:        bispsw  $(N|V|Z)        /*C off; others ON                      */
                    256:        movpsl  _expected       /* expected data */
                    257:        jmp     *badrtn         /* error - did not branch               */
                    258: 
                    259: c1:
                    260:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    261: b8:    callf   $4,_setjmp      /* save context for error return */
                    262:        movab   b8,_stpc        /* save address of subtest */
                    263:        movl    $8,_subtst      /* subtest number */
                    264: 0:     bicpsw  $PSWMASK        /*C ON test                             */
                    265:        bispsw  $C              /*turn C ON                             */
                    266:        bcc     erc             /*should not branch                     */
                    267:        bcs     fwdc1           /*forward branch on C on                */
                    268:        movpsl  _actual         /* actual data */
                    269:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    270:        movl    $2,_ercode      /* flag failure did not jump */
                    271:        bicpsw  $PSWMASK        /*Z TEST                                */
                    272:        bispsw  $C              /*turn C ON                             */
                    273:        movpsl  _expected       /* expected data */
                    274:        jmp     *badrtn         /* error - did not branch               */
                    275: backc1:
                    276:        bcs     zn0             /*next test                             */
                    277:        .space  50
                    278: fwdc1:
                    279:        bcs     backc1          /*backward branch on C on               */
                    280:        movpsl  _actual         /* actual data */
                    281:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    282:        movl    $2,_ercode      /* flag failure did not jump */
                    283:        bicpsw  $PSWMASK        /*Z TEST                                */
                    284:        bispsw  $C              /*turn C ON                             */
                    285:        movpsl  _expected       /* expected data */
                    286:        jmp     *badrtn         /* error - did not branch               */
                    287: 
                    288: /*                                                                     */
                    289: /*     bgtr & bleq (N|Z ON & OFF) test                                 */
                    290: /*                                                                     */
                    291: 
                    292: zn0:
                    293:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    294: b9:    callf   $4,_setjmp      /* save context for error return */
                    295:        movab   b9,_stpc        /* save address of subtest */
                    296:        movl    $9,_subtst      /* subtest number */
                    297: 0:     bicpsw  $PSWMASK        /*Z TEST                                */
                    298:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    299:        bgtr    erzn            /*should not branch                     */
                    300:        bleq    fwdzn0          /*check forward branch on Z off         */
                    301:        movpsl  _actual         /* actual data */
                    302:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    303:        movl    $2,_ercode      /* flag failure did not jump */
                    304:        bicpsw  $PSWMASK        /*Z TEST                                */
                    305:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    306:        movpsl  _expected       /* expected data */
                    307:        jmp     *badrtn         /* error - did not branch               */
                    308: 
                    309: backzn0:
                    310:        bleq    zn1             /*goto Z on test                        */
                    311:        .space  4               /*bad -should never come here   */
                    312: erzn:  .space  20
                    313: fwdzn0:
                    314:        bleq    backzn0         /*ckeck backward branch on Z off        */
                    315:        movpsl  _actual         /* actual data */
                    316:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    317:        movl    $2,_ercode      /* flag failure did not jump */
                    318:        bicpsw  $PSWMASK        /*Z TEST                                */
                    319:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    320:        movpsl  _expected       /* expected data */
                    321:        jmp     *badrtn         /* error - did not branch               */
                    322: 
                    323: zn1:
                    324:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    325: b10:   callf   $4,_setjmp      /* save context for error return */
                    326:        movab   b10,_stpc       /* save address of subtest */
                    327:        movl    $0xa,_subtst    /* subtest number */
                    328: 0:     bicpsw  $PSWMASK        /*Z ON test                             */
                    329:        bispsw  $Z              /*turn Z ON                             */
                    330:        bgtr    erzn            /*should not branch                     */
                    331:        bleq    fwdzn1          /*forward branch on Z on                */
                    332:        movpsl  _actual         /* actual data */
                    333:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    334:        movl    $2,_ercode      /* flag failure did not jump */
                    335:        bicpsw  $PSWMASK        /*Z TEST                                */
                    336:        bispsw  $Z              /*turn Z ON                             */
                    337:        movpsl  _expected       /* expected data */
                    338:        jmp     *badrtn         /* error - did not branch               */
                    339: backzn1:
                    340:        bleq    nz0             /*next test                             */
                    341:        .space  50
                    342: fwdzn1:
                    343:        bleq    backzn1         /*backward branch on Z on               */
                    344:        movpsl  _actual         /* actual data */
                    345:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    346:        movl    $2,_ercode      /* flag failure did not jump */
                    347:        bicpsw  $PSWMASK        /*Z TEST                                */
                    348:        bispsw  $Z              /*turn Z ON                             */
                    349:        movpsl  _expected       /* expected data */
                    350:        jmp     *badrtn         /* error - did not branch               */
                    351: nz0:
                    352:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    353: b11:   callf   $4,_setjmp      /* save context for error return */
                    354:        movab   b11,_stpc       /* save address of subtest */
                    355:        movl    $0xb,_subtst    /* subtest number */
                    356:        bicpsw  $PSWMASK        /*N TEST                                */
                    357:        bispsw  $(V|C)          /*N off; Z off;  others ON              */
                    358:        bleq    ernz            /*should not branch                     */
                    359:        bgtr    fwdnz0          /*check forward branch on N off */
                    360:        movpsl  _actual         /* actual data */
                    361:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    362:        movl    $2,_ercode      /* flag failure did not jump */
                    363:        bicpsw  $PSWMASK        /*Z TEST                                */
                    364:        bispsw  $(V|C)          /*N off; Z off;  others ON              */
                    365:        movpsl  _expected       /* expected data */
                    366:        jmp     *badrtn         /* error - did not branch               */
                    367: backnz0:
                    368:        bgtr    zc0             /*goto N on test                        */
                    369:        .space  4               /*bad -should never come here   */
                    370: ernz:  .space  50
                    371: fwdnz0:
                    372:        bgtr    backnz0         /*ckeck backward branch on N off        */
                    373:        movpsl  _actual         /* actual data */
                    374:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    375:        movl    $2,_ercode      /* flag failure did not jump */
                    376:        bicpsw  $PSWMASK        /*Z TEST                                */
                    377:        bispsw  $(V|C)          /*N off; Z off;  others ON              */
                    378:        movpsl  _expected       /* expected data */
                    379:        jmp     *badrtn         /* error - did not branch               */
                    380: /*     bgtru & blequ (C|Z flags ON & OFF) test                         */
                    381: /*                                                                     */
                    382: 
                    383: zc0:
                    384:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    385: b12:   callf   $4,_setjmp      /* save context for error return */
                    386:        movab   b12,_stpc       /* save address of subtest */
                    387:        movl    $0xc,_subtst    /* subtest number */
                    388:        bicpsw  $PSWMASK        /*Z TEST                                */
                    389:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    390:        blequ   erzc            /*should not branch                     */
                    391:        bgtru   fwdzc0          /*check forward branch on Z off         */
                    392:        movpsl  _actual         /* actual data */
                    393:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    394:        movl    $2,_ercode      /* flag failure did not jump */
                    395:        bicpsw  $PSWMASK        /*Z TEST                                */
                    396:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    397:        movpsl  _expected       /* expected data */
                    398:        jmp     *badrtn         /* error - did not branch               */
                    399: backzc0:
                    400:        bgtru   zc1             /*goto Z on test                        */
                    401:        .space  4               /*bad -should never come here   */
                    402: erzc:  .space  20
                    403: fwdzc0:
                    404:        bgtru   backzc0         /*ckeck backward branch on Z off        */
                    405:        movpsl  _actual         /* actual data */
                    406:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    407:        movl    $2,_ercode      /* flag failure did not jump */
                    408:        bicpsw  $PSWMASK        /*Z TEST                                */
                    409:        bispsw  $(N|V|C)        /*Z off; others ON                      */
                    410:        movpsl  _expected       /* expected data */
                    411:        jmp     *badrtn         /* error - did not branch               */
                    412: 
                    413: zc1:
                    414:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    415: b13:   callf   $4,_setjmp      /* save context for error return */
                    416:        movab   b13,_stpc       /* save address of subtest */
                    417:        movl    $0xd,_subtst    /* subtest number */
                    418:        bicpsw  $PSWMASK        /*Z ON test                             */
                    419:        bispsw  $Z              /*turn Z ON                             */
                    420:        bgtru   erzc            /*should not branch                     */
                    421:        blequ   fwdzc1          /*forward branch on Z on                */
                    422:        movpsl  _actual         /* actual data */
                    423:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    424:        movl    $2,_ercode      /* flag failure did not jump */
                    425:        bicpsw  $PSWMASK        /*Z TEST                                */
                    426:        bispsw  $Z              /*turn Z ON                             */
                    427:        movpsl  _expected       /* expected data */
                    428:        jmp     *badrtn         /* error - did not branch               */
                    429: backzc1:
                    430:        blequ   x0              /*next test                             */
                    431:        .space  50
                    432: fwdzc1:
                    433:        blequ   backzc1         /*backward branch on Z on               */
                    434:        movpsl  _actual         /* actual data */
                    435:        bbs     $0,_scoplp,0b   /* if set loop on error */
                    436:        movl    $2,_ercode      /* flag failure did not jump */
                    437:        bicpsw  $PSWMASK        /*Z TEST                                */
                    438:        bispsw  $Z              /*turn Z ON                             */
                    439:        movpsl  _expected       /* expected data */
                    440:        jmp     *badrtn         /* error - did not branch               */
                    441: 
                    442: x0:
                    443:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    444:        jmp     *return         /* good, return to monitor */
                    445: 
                    446: 
                    447: 
                    448: 
                    449: 

unix.superglobalmegacorp.com

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