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

1.1       root        1: /*     CALLS 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  _callsx
                     34: _callsx:
                     35:        bicpsw  $(IV|T)         /* disable exceptions           */
                     36: /*                                                             */
                     37: start:
                     38:        callf   $4,_setjmp      /* save contextfor error return */
                     39:        movab   start,_stpc     /* save address of subtest */
                     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  calls        */
                     64:        subl2   $(3*4),estk     /* Space for fp,MASK,PC                 */
                     65:        subl2   $(11*4),estk    /* Space for r2-r12                     */
                     66: /*     compute expected fp after  calls        */
                     67:        movl    fp,efp
                     68:        subl2   $(4*4),efp
                     69:        bicpsw  $(N|Z|V|C)      /* clear all flags                      */
                     70:        bispsw  $(V|C)          /* set V,C flags                        */
                     71:        calls   $(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 data */
                     79:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                     80:        movl    $2,_ercode      /* error code flag failure */
                     81:        jmp     *badrtn
                     82: 1:     cmpl    r2,$2           /* check if r2 - r12 get restored properly */
                     83:        jeql    1f
                     84:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                     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:        jeql    1f
                     91:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                     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:        jeql    1f
                     98:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                     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:        jeql    1f
                    105:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    112:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    119:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    126:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    133:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    140:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    147:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    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:        jeql    1f
                    154:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    155:        movl    $1,_ercode      /* error code data miscompare */
                    156:        movl    r12,_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:        jeql    1f
                    162:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    163:        movl    $1,_ercode      /* error code data miscompare */
                    164:        movl    r0,_actual      /* actual data */
                    165:        movl    bfp,_expected   /* expected data */
                    166:        jmp     *badrtn
                    167:        cmpl    fp,bfp
                    168:        jeql    callp2
                    169:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    170:        movl    $1,_ercode      /* error code data miscompare */
                    171:        movl    fp,_actual      /* actual data */
                    172:        movl    bfp,_expected   /* expected data */
                    173:        jmp     *badrtn
                    174: 
                    175: 
                    176: callp2:
                    177:        bbs     $0,_force_lp,0b /* if set loop on last subtest */
                    178: c2:    callf   $4,_setjmp      /* save contextfor error return */
                    179:        movab   c2,_stpc        /* save address of subtest */
                    180:        movl    $2,_subtst      /* subtest number */
                    181:        movl    $2,_no_opr      /* number of operands in use */
                    182:        movl    $NOARG2,_opr    /* first operand */
                    183:        movl    $MASK2,_opr + 4 /* second operand */
                    184: 0:     movw    $MASK2,proc2    /* set entry mask in called procedure   */
                    185:        pushl   $ARG1
                    186:        pushl   $ARG2
                    187:        movl    $3,r3           /* init. r3,r5,r7,r9,r11                */
                    188:        movl    $5,r5
                    189:        movl    $7,r7
                    190:        movl    $0x9,r9
                    191:        movl    $0xb,r11
                    192:        movab   (r14),estk      /* save sp                              */
                    193: /*     compute expected sp after  calls        */
                    194:        subl2   $(3*4),estk     /* Space for fp,MASK,PC                 */
                    195:        subl2   $(5*4),estk     /* Space for r3,5,7,9,11                */ 
                    196: /*     compute expected fp after  calls        */
                    197:        movl    fp,efp
                    198:        subl2   $(3*4),efp
                    199:        movab   proc2,r12
                    200:        movl    $(NOARG2*4+4),r6        /* load reg with argument info  */
                    201:        bispsw  $(N|V)          /* set n,v flags                        */
                    202:        bicpsw  $(Z|C)          /* clear z,c flags                      */
                    203:        calls   r6,(r12)        /* call procedure with 2 arguments */
                    204: retcall2:
                    205:        jneq    error2          /* error if z,c flags clear             */
                    206:        jcc     error2
                    207:        jlss    error2          /* error if n,v flags set               */
                    208:        jvs     error2
                    209:        jeql    1f
                    210: error2:        movpsl  _actual         /* actual data */
                    211:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    212:        movl    $2,_ercode      /* error code flag failure */
                    213:        jmp     *badrtn
                    214: 1:     cmpl    r3,$3           /* check if r3,5,7,9,11 restored properly */
                    215:        jeql    1f
                    216:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    217:        movl    $1,_ercode      /* error code data miscompare */
                    218:        movl    r3,_actual      /* actual data */
                    219:        movl    $3,_expected    /* expected data */
                    220:        jmp     *badrtn
                    221: 1:     cmpl    r5,$5
                    222:        jeql    1f
                    223:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    224:        movl    $1,_ercode      /* error code data miscompare */
                    225:        movl    r5,_actual      /* actual data */
                    226:        movl    $5,_expected    /* expected data */
                    227:        jmp     *badrtn
                    228: 1:     cmpl    r7,$7
                    229:        jeql    1f
                    230:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    231:        movl    $1,_ercode      /* error code data miscompare */
                    232:        movl    r7,_actual      /* actual data */
                    233:        movl    $3,_expected    /* expected data */
                    234:        jmp     *badrtn
                    235: 1:     cmpl    r9,$0x9
                    236:        jeql    1f
                    237:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    238:        movl    $1,_ercode      /* error code data miscompare */
                    239:        movl    r9,_actual      /* actual data */
                    240:        movl    $9,_expected    /* expected data */
                    241:        jmp     *badrtn
                    242: 1:     cmpl    r11,$0xb
                    243:        jeql    1f
                    244:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    245:        movl    $1,_ercode      /* error code data miscompare */
                    246:        movl    r11,_actual     /* actual data */
                    247:        movl    $0xb,_expected  /* expected data */
                    248:        jmp     *badrtn
                    249: 1:     movab   (r14),r0
                    250:        cmpl    r0,bfp          /* check if sp,fp restored properly     */
                    251:        jeql    1f
                    252:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    253:        movl    $1,_ercode      /* error code data miscompare */
                    254:        movl    r0,_actual      /* actual data */
                    255:        movl    bfp,_expected   /* expected data */
                    256:        jmp     *badrtn
                    257: 1:     cmpl    fp,bfp
                    258:        jeql    1f
                    259:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    260:        movl    $1,_ercode      /* error code data miscompare */
                    261:        movl    fp,_actual      /* actual data */
                    262:        movl    bfp,_expected   /* expected data */
                    263:        jmp     *badrtn
                    264: 1:     jmp     *return
                    265: 
                    266: 
                    267: /*     TEST DATA               */
                    268:        .align  2
                    269: stack:
                    270:        .space  400             /* 400 bytes for the stack      */
                    271: stkbase:
                    272:        .long   0
                    273: prevpc1:
                    274:        .long   retcall1
                    275: prevpc2:
                    276:        .long   retcall2
                    277: prono:
                    278:        .long   0               /* current procedure called : 1/2 */
                    279: astk:
                    280:        .long   0               /* actual sp after calls          */
                    281: estk:
                    282:        .long   0               /* expected sp after calls        */
                    283: efp:   .long   0               /* expected fp after calls        */
                    284: bfp:   .long   0               /* fp before calls                */
                    285: 
                    286: temp0: .long   0
                    287: temp1: .long   0
                    288: 
                    289: /*     PROCEDURE 1             */
                    290: proc1:
                    291:        .word   0               /* entry mask                           */
                    292:        jlss    error3          /* error if N set */
                    293:        jeql    error3          /* error if Z set */
                    294:        jvc     error3          /* error if v,c clear */
                    295:        jcc     error3
                    296:        jmp     1f
                    297: error3:        movpsl  _actual         /* actual data */
                    298:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    299:        movl    $2,_ercode      /* error code flag failure */
                    300:        jmp     *badrtn
                    301: 1:     movab   (r14),astk
                    302:        cmpl    astk,estk       /* check if sp decremented properly     */
                    303:        jeql    1f
                    304:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    305:        movl    $1,_ercode      /* error code data miscompare */
                    306:        movl    astk,_actual    /* actual data */
                    307:        movl    estk,_expected  /* expected data */
                    308:        jmp     *badrtn
                    309: 1:     cmpl    fp,efp          /* check if fp decrmented properly      */
                    310:        jeql    1f
                    311:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    312:        movl    $1,_ercode      /* error code data miscompare */
                    313:        movl    fp,_actual      /* actual data */
                    314:        movl    efp,_expected   /* expected data */
                    315:        jmp     *badrtn
                    316: 1:     cmpl    (fp),bfp        /* check previous fp saved on the stack */
                    317:        jeql    1f
                    318:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    319:        movl    $1,_ercode      /* error code data miscompare */
                    320:        movl    (fp),_actual    /* actual data */
                    321:        movl    bfp,_expected   /* expected data */
                    322:        jmp     *badrtn
                    323: 1:     movl    fp,temp0
                    324:        subl2   $4,temp0
                    325:        movl    *(temp0),temp0  /* get mask/argument longword from stack */
                    326:        movl    $MASK1,temp1
                    327:        shll    $16,temp1,temp1
                    328:        addl2   $(4*NOARG1+4),temp1
                    329:        cmpl    temp0,temp1     /* check mask/argnum longword           */
                    330:        jeql    1f
                    331:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    332:        movl    $1,_ercode      /* error code data miscompare */
                    333:        movl    temp0,_actual   /* actual data */
                    334:        movl    temp1,_expected /* expected data */
                    335:        jmp     *badrtn
                    336: 1:     cmpl    -8(fp),prevpc1  /* check saved PC on the stack          */
                    337:        jeql    1f
                    338:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    339:        movl    $1,_ercode      /* error code data miscompare */
                    340:        movl    -8(fp),_actual  /* actual data */
                    341:        movl    prevpc1,_expected       /* expected data */
                    342:        jmp     *badrtn
                    343: 1:     cmpl    (sp),$2         /* check saved r2 - r12 on stack        */
                    344:        jeql    1f      
                    345:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    346:        movl    $1,_ercode      /* error code data miscompare */
                    347:        movl    (sp),_actual    /* actual data */
                    348:        movl    $0x2,_expected  /* expected data */
                    349:        jmp     *badrtn
                    350: 1:     cmpl    4(sp),$3
                    351:        jeql    1f      
                    352:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    353:        movl    $1,_ercode      /* error code data miscompare */
                    354:        movl    4(sp),_actual   /* actual data */
                    355:        movl    $0x3,_expected  /* expected data */
                    356:        jmp     *badrtn
                    357: 1:     cmpl    8(sp),$4
                    358:        jeql    1f      
                    359:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    360:        movl    $1,_ercode      /* error code data miscompare */
                    361:        movl    8(sp),_actual   /* actual data */
                    362:        movl    $0x4,_expected  /* expected data */
                    363:        jmp     *badrtn
                    364: 1:     cmpl    12(sp),$5
                    365:        jeql    1f      
                    366:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    367:        movl    $1,_ercode      /* error code data miscompare */
                    368:        movl    12(sp),_actual  /* actual data */
                    369:        movl    $0x5,_expected  /* expected data */
                    370:        jmp     *badrtn
                    371: 1:     cmpl    16(sp),$6
                    372:        jeql    1f      
                    373:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    374:        movl    $1,_ercode      /* error code data miscompare */
                    375:        movl    16(sp),_actual  /* actual data */
                    376:        movl    $0x6,_expected  /* expected data */
                    377:        jmp     *badrtn
                    378: 1:     cmpl    20(sp),$7
                    379:        jeql    1f      
                    380:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    381:        movl    $1,_ercode      /* error code data miscompare */
                    382:        movl    20(sp),_actual  /* actual data */
                    383:        movl    $0x7,_expected  /* expected data */
                    384:        jmp     *badrtn
                    385: 1:     cmpl    24(sp),$0x8
                    386:        jeql    1f      
                    387:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    388:        movl    $1,_ercode      /* error code data miscompare */
                    389:        movl    24(sp),_actual  /* actual data */
                    390:        movl    $0x8,_expected  /* expected data */
                    391:        jmp     *badrtn
                    392: 1:     cmpl    28(sp),$0x9
                    393:        jeql    1f      
                    394:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    395:        movl    $1,_ercode      /* error code data miscompare */
                    396:        movl    28(sp),_actual  /* actual data */
                    397:        movl    $0x9,_expected  /* expected data */
                    398:        jmp     *badrtn
                    399: 1:     cmpl    32(sp),$0xa
                    400:        jeql    1f      
                    401:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    402:        movl    $1,_ercode      /* error code data miscompare */
                    403:        movl    32(sp),_actual  /* actual data */
                    404:        movl    $0xa,_expected  /* expected data */
                    405:        jmp     *badrtn
                    406: 1:     cmpl    36(sp),$0xb
                    407:        jeql    1f      
                    408:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    409:        movl    $1,_ercode      /* error code data miscompare */
                    410:        movl    36(sp),_actual  /* actual data */
                    411:        movl    $0xb,_expected  /* expected data */
                    412:        jmp     *badrtn
                    413: 1:     cmpl    40(sp),$0xc
                    414:        jeql    1f      
                    415:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    416:        movl    $1,_ercode      /* error code data miscompare */
                    417:        movl    40(sp),_actual  /* actual data */
                    418:        movl    $0xc,_expected  /* expected data */
                    419:        jmp     *badrtn
                    420: 
                    421: /*     all checked out         */
                    422: 1:     movl    $0,r2           /* zero out r2 - r12                    */
                    423:        movl    r2,r3
                    424:        movl    r2,r4
                    425:        movl    r2,r5
                    426:        movl    r2,r6
                    427:        movl    r2,r7
                    428:        movl    r2,r8
                    429:        movl    r2,r9
                    430:        movl    r2,r10
                    431:        movl    r2,r11
                    432:        movl    r2,r12
                    433:        bicpsw  $(N|Z|V|C)      /* clear all flags                      */
                    434:        ret                     /* TESTING RET .....                    */
                    435:                                /* RET does not work                    */
                    436:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    437:        jmp     *badrtn
                    438: 
                    439: 
                    440: 
                    441: /*     PROCEDURE 2             */
                    442:        .align  2
                    443: proc2:
                    444:        .word   0               /* entry mask                           */
                    445:        jgeq    error5          /* error if n,v flag clear              */
                    446:        jvc     error5
                    447:        jeql    error5          /* error if z,c flag set                */
                    448:        jcs     error5
                    449:        jmp     1f
                    450: error5:        movpsl  _actual         /* actual data */
                    451:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    452:        movl    $2,_ercode      /* error code flag failure */
                    453:        jmp     *badrtn
                    454: 1:     movab   (r14),astk
                    455:        cmpl    astk,estk       /* check if sp get decrement            */
                    456:        jeql    1f
                    457:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    458:        movl    $1,_ercode      /* error code data miscompare */
                    459:        movl    astk,_actual    /* actual data */
                    460:        movl    estk,_expected  /* expected data */
                    461:        jmp     *badrtn
                    462: 1:     cmpl    fp,efp          /* check if fp get decrement properly   */
                    463:        jeql    1f
                    464:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    465:        movl    $1,_ercode      /* error code data miscompare */
                    466:        movl    fp,_actual      /* actual data */
                    467:        movl    efp,_expected   /* expected data */
                    468:        jmp     *badrtn
                    469: 1:     cmpl    (fp),bfp        /* check previous fp saved on stack     */
                    470:        jeql    1f
                    471:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    472:        movl    $1,_ercode      /* error code data miscompare */
                    473:        movl    (fp),_actual    /* actual data */
                    474:        movl    bfp,_expected   /* expected data */
                    475:        jmp     *badrtn
                    476: 1:     movl    fp,temp0
                    477:        subl2   $4,temp0
                    478:        movl    *(temp0),temp0  /* get mask/argument longword from stack */
                    479:        movl    $MASK2,temp1
                    480:        shll    $16,temp1,temp1
                    481:        addl2   $(4*NOARG2+4),temp1
                    482:        cmpl    temp0,temp1     /* check mask/argnum longword           */
                    483:        jeql    1f
                    484:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    485:        movl    $1,_ercode      /* error code data miscompare */
                    486:        movl    temp0,_actual   /* actual data */
                    487:        movl    temp1,_expected /* expected data */
                    488:        jmp     *badrtn
                    489: 1:     cmpl    -8(fp),prevpc2  /* check saved PC on the stack          */
                    490:        jeql    1f
                    491:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    492:        movl    $1,_ercode      /* error code data miscompare */
                    493:        movl    -8(fp),_actual  /* actual data */
                    494:        movl    prevpc2,_expected       /* expected data */
                    495:        jmp     *badrtn
                    496: 1:     cmpl    (sp),$3         /* check saved r3,5,7,9,11 saved on stack */
                    497:        jeql    1f
                    498:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    499:        movl    $1,_ercode      /* error code data miscompare */
                    500:        movl    (sp),_actual    /* actual data */
                    501:        movl    $0x3,_expected  /* expected data */
                    502:        jmp     *badrtn
                    503: 1:     cmpl    4(sp),$5
                    504:        jeql    1f
                    505:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    506:        movl    $1,_ercode      /* error code data miscompare */
                    507:        movl    4(sp),_actual   /* actual data */
                    508:        movl    $0x5,_expected  /* expected data */
                    509:        jmp     *badrtn
                    510: 1:     cmpl    8(sp),$7
                    511:        jeql    1f
                    512:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    513:        movl    $1,_ercode      /* error code data miscompare */
                    514:        movl    8(sp),_actual   /* actual data */
                    515:        movl    $0x7,_expected  /* expected data */
                    516:        jmp     *badrtn
                    517: 1:     cmpl    12(sp),$9
                    518:        jeql    1f
                    519:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    520:        movl    $1,_ercode      /* error code data miscompare */
                    521:        movl    19(sp),_actual  /* actual data */
                    522:        movl    $0x9,_expected  /* expected data */
                    523:        jmp     *badrtn
                    524: 1:     cmpl    16(sp),$0xb
                    525:        jeql    1f
                    526:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    527:        movl    $1,_ercode      /* error code data miscompare */
                    528:        movl    16(sp),_actual  /* actual data */
                    529:        movl    $0xb,_expected  /* expected data */
                    530:        jmp     *badrtn
                    531: /*     all checked out         */
                    532: 1:     movl    $0,r3           /* zero out r3,5,7,9,11                 */
                    533:        movl    $0,r5
                    534:        movl    $0,r7
                    535:        movl    $0,r9
                    536:        movl    $0,r11
                    537:        bispsw  $(Z|C)          /* set z,c flags                        */
                    538:        bicpsw  $(N|V)          /* clear n,v flags                      */
                    539:        ret                     /* TESTING RET                          */
                    540:        nop                     /* ret does not work !!!                */
                    541: error6:        movpsl  _actual         /* actual data */
                    542:        bbs     $0,_scoplp,0b   /* if set scope loop on error */
                    543:        movl    $1,_ercode      /* error code data miscompare */
                    544:        jmp     *badrtn
                    545: 

unix.superglobalmegacorp.com

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