Annotation of cci/d/entry/calls.s, revision 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.