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

1.1       root        1: /*     CALLF RET instruction test              */
                      2: /*       Privilege registers           */
                      3: 
                      4:        .set    IPL,8
                      5:        .set    MAPEN,9
                      6:        .set    KSP,19
                      7: 
                      8: /*       PSL fields                    */
                      9:        .set    IV,32
                     10:        .set    T,16
                     11:        .set    N,8
                     12:        .set    Z,4
                     13:        .set    V,2
                     14:        .set    C,1
                     15: 
                     16: /*       constants                     */
                     17:        .set    DISABLE,0
                     18:        .set    ENABLE,1
                     19:        .set    HIGH,31                 /* highest interrupt priority   */
                     20: 
                     21:        .set    NOARG1,3
                     22:        .set    NOARG2,2
                     23:        .set    ARG1,0xf
                     24:        .set    ARG2,0xff
                     25:        .set    ARG3,0xfff
                     26:        .set    R0_12,0x3fff            /* mask to save r0 thru r12     */
                     27:        .set    R2_12,0x1ffc            /* mask to save r2 thru r12     */
                     28:        .set    R357911,0xaa8           /* mask to save r3,r5,r7,r9,r11 */
                     29:        .set    MASK1,R2_12             /* save r2-r12 */
                     30:        .set    MASK2,R357911           /* save r3,5,7,9,11 */
                     31: 
                     32: 
                     33:        .globl  _callfx
                     34: _callfx:
                     35:        bicpsw  $(IV|T)         /* disable exceptions           */
                     36: /*                                                             */
                     37: strt:
                     38:        callf   $4,_setjmp      /* save context for error return */
                     39:        movab   strt,_stpc      /* save subtest address */
                     40:        movl    $1,_subtst      /* subtest number */
                     41:        movl    $2,_no_opr      /* number of operands in use */
                     42:        movl    $NOARG1,_opr    /* first operand */
                     43:        movl    $MASK1,_opr + 4 /* second operand */
                     44: 0:     movab   stkbase,sp      /* init. stack pointer                  */
                     45:        movab   stkbase,fp      /* init. frame pointer                  */
                     46:        movl    fp,bfp          /* save fp                              */
                     47:        movw    $MASK1,proc1    /* set entry mask in called procedure   */
                     48:        pushl   $ARG1
                     49:        pushl   $ARG2
                     50:        pushl   $ARG3           /* push 3 arguments on stacks           */
                     51:        movl    $2,r2           /* initialize r2 - r12                  */
                     52:        movl    $3,r3
                     53:        movl    $4,r4
                     54:        movl    $5,r5
                     55:        movl    $6,r6
                     56:        movl    $7,r7
                     57:        movl    $0x8,r8
                     58:        movl    $0x9,r9
                     59:        movl    $0xa,r10
                     60:        movl    $0xb,r11
                     61:        movl    $0xc,r12
                     62:        movab   (r14),estk      /* save sp                              */
                     63: /*     compute expected sp after  callf        */
                     64:        subl2   $(3*4),estk     /* Space for fp,MASK,PC                 */
                     65:        subl2   $(11*4),estk    /* Space for r2-r12                     */
                     66: /*     compute expected fp after  callf        */
                     67:        movl    fp,efp
                     68:        subl2   $(4*4),efp
                     69:        bicpsw  $(N|Z|V|C)      /* clear all flags                      */
                     70:        bispsw  $(N|V|C)        /* set all flags                        */
                     71:        callf   $(4*NOARG1+4),proc1     /* call procedure with 3 arguments */
                     72: retcall1:
                     73:        blss    error1          /* error if any of the n,z,v,c flags set */
                     74:        beql    error1
                     75:        bvs     error1
                     76:        bcs     error1
                     77:        jmp     1f
                     78: error1:        movpsl  _actual         /* actual = psl */
                     79:        bbs     $0,_scoplp,0b
                     80:        movl    $2,_ercode      /* error code flag miscompare */
                     81:        jmp     *badrtn
                     82: 1:     cmpl    r2,$2           /* check if r2 - r12 get restored properly */
                     83:        beql    1f
                     84:        bbs     $0,_scoplp,0b
                     85:        movl    $1,_ercode      /* error code data miscompare */
                     86:        movl    r2,_actual      /* actual data */
                     87:        movl    $2,_expected    /* expected data */
                     88:        jmp     *badrtn
                     89: 1:     cmpl    r3,$3
                     90:        beql    1f
                     91:        bbs     $0,_scoplp,0b
                     92:        movl    $1,_ercode      /* error code data miscompare */
                     93:        movl    r3,_actual      /* actual data */
                     94:        movl    $3,_expected    /* expected data */
                     95:        jmp     *badrtn
                     96: 1:     cmpl    r4,$4
                     97:        beql    1f
                     98:        bbs     $0,_scoplp,0b
                     99:        movl    $1,_ercode      /* error code data miscompare */
                    100:        movl    r4,_actual      /* actual data */
                    101:        movl    $4,_expected    /* expected data */
                    102:        jmp     *badrtn
                    103: 1:     cmpl    r5,$5
                    104:        beql    1f
                    105:        bbs     $0,_scoplp,0b
                    106:        movl    $1,_ercode      /* error code data miscompare */
                    107:        movl    r5,_actual      /* actual data */
                    108:        movl    $5,_expected    /* expected data */
                    109:        jmp     *badrtn
                    110: 1:     cmpl    r6,$6
                    111:        beql    1f
                    112:        bbs     $0,_scoplp,0b
                    113:        movl    $1,_ercode      /* error code data miscompare */
                    114:        movl    r6,_actual      /* actual data */
                    115:        movl    $6,_expected    /* expected data */
                    116:        jmp     *badrtn
                    117: 1:     cmpl    r7,$7
                    118:        beql    1f
                    119:        bbs     $0,_scoplp,0b
                    120:        movl    $1,_ercode      /* error code data miscompare */
                    121:        movl    r7,_actual      /* actual data */
                    122:        movl    $7,_expected    /* expected data */
                    123:        jmp     *badrtn
                    124: 1:     cmpl    r8,$0x8
                    125:        beql    1f
                    126:        bbs     $0,_scoplp,0b
                    127:        movl    $1,_ercode      /* error code data miscompare */
                    128:        movl    r8,_actual      /* actual data */
                    129:        movl    $8,_expected    /* expected data */
                    130:        jmp     *badrtn
                    131: 1:     cmpl    r9,$0x9
                    132:        beql    1f
                    133:        bbs     $0,_scoplp,0b
                    134:        movl    $1,_ercode      /* error code data miscompare */
                    135:        movl    r9,_actual      /* actual data */
                    136:        movl    $9,_expected    /* expected data */
                    137:        jmp     *badrtn
                    138: 1:     cmpl    r10,$0xa
                    139:        beql    1f
                    140:        bbs     $0,_scoplp,0b
                    141:        movl    $1,_ercode      /* error code data miscompare */
                    142:        movl    r10,_actual     /* actual data */
                    143:        movl    $0xa,_expected  /* expected data */
                    144:        jmp     *badrtn
                    145: 1:     cmpl    r11,$0xb
                    146:        beql    1f
                    147:        bbs     $0,_scoplp,0b
                    148:        movl    $1,_ercode      /* error code data miscompare */
                    149:        movl    r11,_actual     /* actual data */
                    150:        movl    $0xb,_expected  /* expected data */
                    151:        jmp     *badrtn
                    152: 1:     cmpl    r12,$0xc
                    153:        beql    1f
                    154:        bbs     $0,_scoplp,0b
                    155:        movl    $1,_ercode      /* error code data miscompare */
                    156:        movl    r11,_actual     /* actual data */
                    157:        movl    $0xc,_expected  /* expected data */
                    158:        jmp     *badrtn
                    159: 1:     movab   (r14),r0
                    160:        cmpl    r0,bfp          /* check if sp,fp get restored properly */
                    161:        beql    1f
                    162:        bbs     $0,_scoplp,0b
                    163:        movl    $1,_ercode      /* error code data miscompare */
                    164:        movl    r0,_actual      /* actual data */
                    165:        movl    bfp,_expected   /* expected data */
                    166:        jmp     *badrtn
                    167: 1:     cmpl    fp,bfp
                    168:        beql    1f
                    169:        bbs     $0,_scoplp,0b
                    170:        movl    $1,_ercode      /* error code data miscompare */
                    171:        movl    fp,_actual      /* actual data */
                    172:        movl    bfp,_expected   /* expected data */
                    173:        jmp     *badrtn
                    174: 1:     jmp     callp2          /* call procedure no. 2                 */
                    175: 
                    176: 
                    177: callp2:
                    178:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    179: c2:    callf   $4,_setjmp      /* save context for error return */
                    180:        movab   c2,_stpc        /* save subtest address */
                    181:        movl    $2,_subtst      /* subtest number */
                    182:        movl    $2,_no_opr      /* number of operands in use */
                    183:        movl    $NOARG2,_opr    /* first operand */
                    184:        movl    $MASK2,_opr + 4 /* second operand */
                    185: 0:     movw    $MASK2,proc2    /* set entry mask in called procedure   */
                    186:        pushl   $ARG1
                    187:        pushl   $ARG2
                    188:        movl    $3,r3           /* init. r3,r5,r7,r9,r11                */
                    189:        movl    $5,r5
                    190:        movl    $7,r7
                    191:        movl    $0x9,r9
                    192:        movl    $0xb,r11
                    193:        movab   (r14),estk      /* save sp                              */
                    194: /*     compute expected sp after  callf        */
                    195:        subl2   $(3*4),estk     /* Space for fp,MASK,PC                 */
                    196:        subl2   $(5*4),estk     /* Space for r3,5,7,9,11                */ 
                    197: /*     compute expected fp after  callf        */
                    198:        movl    fp,efp
                    199:        subl2   $(3*4),efp
                    200:        movab   proc2,r12
                    201:        movl    $(NOARG2*4+4),r6        /* load reg with argument data  */
                    202:        bispsw  $(N|V)          /* set n,v flags                        */
                    203:        bicpsw  $(Z|C)          /* clear z,c flags                      */
                    204:        callf   $(NOARG2*4+4),proc2     /* cll procedure with 2 argu    */
                    205: retcall2:
                    206:        jneq    error2          /* error if z,c flags clear             */
                    207:        jcc     error2
                    208:        jlss    error2          /* error if n,v flags set               */
                    209:        jvs     error2
                    210:        jmp     1f
                    211: error2:        movpsl  _actual         /* actual = psl */
                    212:        bbs     $0,_scoplp,0b
                    213:        movl    $2,_ercode      /* error code flag miscompare */
                    214:        jmp     *badrtn
                    215: 1:     cmpl    r3,$3           /* check if r3,5,7,9,11 restored properly */
                    216:        beql    1f
                    217:        bbs     $0,_scoplp,0b
                    218:        movl    $1,_ercode      /* error code data miscompare */
                    219:        movl    r3,_actual      /* actual data */
                    220:        movl    $3,_expected    /* expected data */
                    221:        jmp     *badrtn
                    222: 1:     cmpl    r5,$5
                    223:        beql    1f
                    224:        bbs     $0,_scoplp,0b
                    225:        movl    $1,_ercode      /* error code data miscompare */
                    226:        movl    r5,_actual      /* actual data */
                    227:        movl    $5,_expected    /* expected data */
                    228:        jmp     *badrtn
                    229: 1:     cmpl    r7,$7
                    230:        beql    1f
                    231:        bbs     $0,_scoplp,0b
                    232:        movl    $1,_ercode      /* error code data miscompare */
                    233:        movl    r7,_actual      /* actual data */
                    234:        movl    $7,_expected    /* expected data */
                    235:        jmp     *badrtn
                    236: 1:     cmpl    r9,$0x9
                    237:        beql    1f
                    238:        bbs     $0,_scoplp,0b
                    239:        movl    $1,_ercode      /* error code data miscompare */
                    240:        movl    r9,_actual      /* actual data */
                    241:        movl    $0x9,_expected  /* expected data */
                    242:        jmp     *badrtn
                    243: 1:     cmpl    r11,$0xb
                    244:        beql    1f
                    245:        bbs     $0,_scoplp,0b
                    246:        movl    $1,_ercode      /* error code data miscompare */
                    247:        movl    r11,_actual     /* actual data */
                    248:        movl    $0xb,_expected  /* expected data */
                    249:        jmp     *badrtn
                    250: 1:     movab   (r14),r0
                    251:        cmpl    r0,bfp          /* check if sp,fp restored properly     */
                    252:        beql    1f
                    253:        bbs     $0,_scoplp,0b
                    254:        movl    $1,_ercode      /* error code data miscompare */
                    255:        movl    r0,_actual      /* actual data */
                    256:        movl    bfp,_expected   /* expected data */
                    257:        jmp     *badrtn
                    258: 1:     cmpl    fp,bfp
                    259:        beql    1f
                    260:        bbs     $0,_scoplp,0b
                    261:        movl    $1,_ercode      /* error code data miscompare */
                    262:        movl    fp,_actual      /* actual data */
                    263:        movl    bfp,_expected   /* expected data */
                    264:        jmp     *badrtn
                    265: 1:     bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    266:        jmp     *return
                    267: 
                    268: 
                    269: /*     TEST DATA               */
                    270:        .align  2
                    271: stack:
                    272:        .space  400             /* 400 bytes for the stack      */
                    273: stkbase:
                    274:        .long   0
                    275: prevpc1:
                    276:        .long   retcall1
                    277: prevpc2:
                    278:        .long   retcall2
                    279: prono:
                    280:        .long   0               /* current procedure called : 1/2 */
                    281: astk:
                    282:        .long   0               /* actual sp after callf          */
                    283: estk:
                    284:        .long   0               /* expected sp after callf        */
                    285: efp:   .long   0               /* expected fp after callf        */
                    286: bfp:   .long   0               /* fp before callf                */
                    287: 
                    288: temp0: .long   0
                    289: temp1: .long   0
                    290: 
                    291: /*     PROCEDURE 1             */
                    292: proc1:
                    293:        .word   0               /* entry mask                           */
                    294:        jgeq    err1            /* error if any of n,v,c flag clear     */
                    295:        jeql    err1
                    296:        jvc     err1
                    297:        jcc     err1
                    298:        jmp     1f
                    299: err1:  movpsl  _actual         /* actal psl MAYBE it is incorrect */
                    300:        bbs     $0,_scoplp,0b
                    301:        movl    $2,_ercode      /* error code flag failure */
                    302:        jmp     *badrtn
                    303: 1:     movab   (r14),astk
                    304:        cmpl    astk,estk       /* check if sp decremented properly     */
                    305:        jeql    1f
                    306:        bbs     $0,_scoplp,0b
                    307:        movl    $1,_ercode      /* error code data miscompare */
                    308:        movl    astk,_actual    /* actual data */
                    309:        movl    estk,_expected  /* expected data */
                    310:        jmp     *badrtn
                    311: 1:     cmpl    fp,efp          /* check if fp decrmented properly      */
                    312:        jeql    1f
                    313:        bbs     $0,_scoplp,0b
                    314:        movl    $1,_ercode      /* error code data miscompare */
                    315:        movl    fp,_actual      /* actual data */
                    316:        movl    efp,_expected   /* expected data */
                    317:        jmp     *badrtn
                    318: 1:     cmpl    (fp),bfp        /* check previous fp saved on the stack */
                    319:        jeql    1f
                    320:        bbs     $0,_scoplp,0b
                    321:        movl    $1,_ercode      /* error code data miscompare */
                    322:        movl    (fp),_actual    /* actual data */
                    323:        movl    bfp,_expected   /* expected data */
                    324:        jmp     *badrtn
                    325: 1:     movl    fp,temp0
                    326:        subl2   $4,temp0
                    327:        movl    *(temp0),temp0  /* get mask/argument longword from stack */
                    328:        movl    $MASK1,temp1
                    329:        shll    $16,temp1,temp1
                    330:        addl2   $(4*NOARG1+4),temp1
                    331:        cmpl    temp0,temp1     /* check mask/argnum longword           */
                    332:        jeql    1f
                    333:        bbs     $0,_scoplp,0b
                    334:        movl    $1,_ercode      /* error code data miscompare */
                    335:        movl    temp0,_actual   /* actual data */
                    336:        movl    temp1,_expected /* expected data */
                    337:        jmp     *badrtn
                    338:        cmpl    -8(fp),prevpc1  /* check saved PC on the stack          */
                    339:        jeql    1f
                    340:        bbs     $0,_scoplp,0b
                    341:        movl    $1,_ercode      /* error code data miscompare */
                    342:        movl    -8(fp),_actual  /* actual data */
                    343:        movl    prevpc1,_expected       /* expected data */
                    344:        jmp     *badrtn
                    345: 1:     cmpl    (sp),$2         /* check saved r2 - r12 on stack        */
                    346:        jeql    1f
                    347:        bbs     $0,_scoplp,0b
                    348:        movl    $1,_ercode      /* error code data miscompare */
                    349:        movl    (sp),_actual    /* actual data */
                    350:        movl    $2,_expected    /* expected data */
                    351:        jmp     *badrtn
                    352: 1:     cmpl    4(sp),$3
                    353:        jeql    1f
                    354:        bbs     $0,_scoplp,0b
                    355:        movl    $1,_ercode      /* error code data miscompare */
                    356:        movl    4(sp),_actual   /* actual data */
                    357:        movl    $3,_expected    /* expected data */
                    358:        jmp     *badrtn
                    359: 1:     cmpl    8(sp),$4
                    360:        jeql    1f
                    361:        bbs     $0,_scoplp,0b
                    362:        movl    $1,_ercode      /* error code data miscompare */
                    363:        movl    8(sp),_actual   /* actual data */
                    364:        movl    $4,_expected    /* expected data */
                    365:        jmp     *badrtn
                    366: 1:     cmpl    12(sp),$5
                    367:        jeql    1f
                    368:        bbs     $0,_scoplp,0b
                    369:        movl    $1,_ercode      /* error code data miscompare */
                    370:        movl    12(sp),_actual  /* actual data */
                    371:        movl    $5,_expected    /* expected data */
                    372:        jmp     *badrtn
                    373: 1:     cmpl    16(sp),$6
                    374:        jeql    1f
                    375:        bbs     $0,_scoplp,0b
                    376:        movl    $1,_ercode      /* error code data miscompare */
                    377:        movl    16(sp),_actual  /* actual data */
                    378:        movl    $6,_expected    /* expected data */
                    379:        jmp     *badrtn
                    380: 1:     cmpl    20(sp),$7
                    381:        jeql    1f
                    382:        bbs     $0,_scoplp,0b
                    383:        movl    $1,_ercode      /* error code data miscompare */
                    384:        movl    20(sp),_actual  /* actual data */
                    385:        movl    $7,_expected    /* expected data */
                    386:        jmp     *badrtn
                    387: 1:     cmpl    24(sp),$0x8
                    388:        jeql    1f
                    389:        bbs     $0,_scoplp,0b
                    390:        movl    $1,_ercode      /* error code data miscompare */
                    391:        movl    24(sp),_actual  /* actual data */
                    392:        movl    $8,_expected    /* expected data */
                    393:        jmp     *badrtn
                    394: 1:     cmpl    28(sp),$0x9
                    395:        jeql    1f
                    396:        bbs     $0,_scoplp,0b
                    397:        movl    $1,_ercode      /* error code data miscompare */
                    398:        movl    28(sp),_actual  /* actual data */
                    399:        movl    $9,_expected    /* expected data */
                    400:        jmp     *badrtn
                    401: 1:     cmpl    32(sp),$0xa
                    402:        jeql    1f
                    403:        bbs     $0,_scoplp,0b
                    404:        movl    $1,_ercode      /* error code data miscompare */
                    405:        movl    32(sp),_actual  /* actual data */
                    406:        movl    $0xa,_expected  /* expected data */
                    407:        jmp     *badrtn
                    408: 1:     cmpl    36(sp),$0xb
                    409:        jeql    1f
                    410:        bbs     $0,_scoplp,0b
                    411:        movl    $1,_ercode      /* error code data miscompare */
                    412:        movl    36(sp),_actual  /* actual data */
                    413:        movl    $0xb,_expected  /* expected data */
                    414:        jmp     *badrtn
                    415: 1:     cmpl    40(sp),$0xc
                    416:        jeql    1f
                    417:        bbs     $0,_scoplp,0b
                    418:        movl    $1,_ercode      /* error code data miscompare */
                    419:        movl    40(sp),_actual  /* actual data */
                    420:        movl    $0xc,_expected  /* expected data */
                    421:        jmp     *badrtn
                    422: 
                    423: /*     all checked out         */
                    424: 1:     movl    $0,r2           /* zero out r2 - r12                    */
                    425:        movl    r2,r3
                    426:        movl    r2,r4
                    427:        movl    r2,r5
                    428:        movl    r2,r6
                    429:        movl    r2,r7
                    430:        movl    r2,r8
                    431:        movl    r2,r9
                    432:        movl    r2,r10
                    433:        movl    r2,r11
                    434:        movl    r2,r12
                    435:        bicpsw  $(N|Z|V|C)      /* clear all flags                      */
                    436:        ret                     /* TESTING RET .....                    */
                    437:        bbs     $0,_scoplp,0b
                    438:        movl    $3,_ercode      /* error code operand was modified did not ret*/
                    439:        jmp     *badrtn
                    440: 
                    441: 
                    442: /*     PROCEDURE 2             */
                    443:        .align  2
                    444: proc2:
                    445:        .word   0               /* entry mask                           */
                    446:        jgeq    error4          /* error if n,v flag clear              */
                    447:        jvc     error4
                    448:        jeql    error4          /* error if z,c flag set                */
                    449:        jcs     error4
                    450:        jmp     1f
                    451: error4: movpsl _actual         /* actal psl MAYBE it is incorrect */
                    452:        bbs     $0,_scoplp,0b
                    453:        movl    $2,_ercode      /* error code flag failure */
                    454:        jmp     *badrtn
                    455: 1:     movab   (r14),astk
                    456:        cmpl    astk,estk       /* check if sp get decrement            */
                    457:        jeql    1f
                    458:        bbs     $0,_scoplp,0b
                    459:        movl    $1,_ercode      /* error code data miscompare */
                    460:        movl    astk,_actual    /* actual data */
                    461:        movl    estk,_expected  /* expected data */
                    462:        jmp     *badrtn
                    463: 1:     cmpl    fp,efp          /* check if fp get decrement properly   */
                    464:        jeql    1f
                    465:        bbs     $0,_scoplp,0b
                    466:        movl    $1,_ercode      /* error code data miscompare */
                    467:        movl    fp,_actual      /* actual data */
                    468:        movl    efp,_expected   /* expected data */
                    469:        jmp     *badrtn
                    470: 1:     cmpl    (fp),bfp        /* check previous fp saved on stack     */
                    471:        jeql    1f
                    472:        bbs     $0,_scoplp,0b
                    473:        movl    $1,_ercode      /* error code data miscompare */
                    474:        movl    (fp),_actual    /* actual data */
                    475:        movl    bfp,_expected   /* expected data */
                    476:        jmp     *badrtn
                    477: 
                    478: 1:     movl    fp,temp0
                    479:        subl2   $4,temp0
                    480:        movl    *(temp0),temp0  /* get mask/argument longword from stack */
                    481:        movl    $MASK2,temp1
                    482:        shll    $16,temp1,temp1
                    483:        addl2   $(4*NOARG2+4),temp1
                    484: 1:     cmpl    temp0,temp1     /* check mask/argnum longword           */
                    485:        jeql    1f
                    486:        bbs     $0,_scoplp,0b
                    487:        movl    $1,_ercode      /* error code data miscompare */
                    488:        movl    temp0,_actual   /* actual data */
                    489:        movl    temp1,_expected /* expected data */
                    490:        jmp     *badrtn
                    491:        cmpl    -8(fp),prevpc2  /* check saved PC on the stack          */
                    492:        jeql    1f
                    493:        bbs     $0,_scoplp,0b
                    494:        movl    $1,_ercode      /* error code data miscompare */
                    495:        movl    -8(fp),_actual  /* actual data */
                    496:        movl    prevpc2,_expected       /* expected data */
                    497:        jmp     *badrtn
                    498: 
                    499: 1:     cmpl    (sp),$3         /* check saved r3,5,7,9,11 saved on stack */
                    500:        jeql    1f
                    501:        bbs     $0,_scoplp,0b
                    502:        movl    $1,_ercode      /* error code data miscompare */
                    503:        movl    (sp),_actual    /* actual data */
                    504:        movl    $0x3,_expected  /* expected data */
                    505:        jmp     *badrtn
                    506: 1:     cmpl    4(sp),$5
                    507:        jeql    1f
                    508:        bbs     $0,_scoplp,0b
                    509:        movl    $1,_ercode      /* error code data miscompare */
                    510:        movl    4(sp),_actual   /* actual data */
                    511:        movl    $0x5,_expected  /* expected data */
                    512:        jmp     *badrtn
                    513: 1:     cmpl    8(sp),$7
                    514:        jeql    1f
                    515:        bbs     $0,_scoplp,0b
                    516:        movl    $1,_ercode      /* error code data miscompare */
                    517:        movl    8(sp),_actual   /* actual data */
                    518:        movl    $0x7,_expected  /* expected data */
                    519:        jmp     *badrtn
                    520: 1:     cmpl    12(sp),$9
                    521:        jeql    1f
                    522:        bbs     $0,_scoplp,0b
                    523:        movl    $1,_ercode      /* error code data miscompare */
                    524:        movl    12(sp),_actual  /* actual data */
                    525:        movl    $0x9,_expected  /* expected data */
                    526:        jmp     *badrtn
                    527: 1:     cmpl    16(sp),$0xb
                    528:        jeql    1f
                    529:        bbs     $0,_scoplp,0b
                    530:        movl    $1,_ercode      /* error code data miscompare */
                    531:        movl    16(sp),_actual  /* actual data */
                    532:        movl    $0xb,_expected  /* expected data */
                    533:        jmp     *badrtn
                    534: /*     all checked out         */
                    535: 1:     movl    $0,r3           /* zero out r3,5,7,9,11                 */
                    536:        movl    $0,r5
                    537:        movl    $0,r7
                    538:        movl    $0,r9
                    539:        movl    $0,r11
                    540:        bispsw  $(Z|C)          /* set z,c flags                        */
                    541:        bicpsw  $(N|V)          /* clear n,v flags                      */
                    542:        ret                     /* TESTING RET                          */
                    543: 

unix.superglobalmegacorp.com

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