Annotation of cci/d/entry/autodi_mode.s, revision 1.1

1.1     ! root        1: 
        !             2: /*             AUTODECREMENT/INCREMENT  ADDRESSING MODE TEST           */
        !             3: /*                                                                     */
        !             4: /*                                                                     */
        !             5: /*                                                                     */
        !             6: /*     Syst.s - Constants                                              */
        !             7: /*                                                                     */
        !             8:        .set    IPL,8
        !             9:        .set    HIGH,31
        !            10:        .set    ZERO,0
        !            11:        .set    ONES,0xffffffff
        !            12:        .set    N,8
        !            13:        .set    Z,4
        !            14:        .set    V,2
        !            15:        .set    C,1
        !            16:        .set    T,16
        !            17:        .set    IV,32
        !            18:        .set    FU,64
        !            19:        .set    DV,128
        !            20:        .set    PSWMASK,0x003f
        !            21: 
        !            22:        .globl  _adec_mode
        !            23: _adec_mode:
        !            24:        callf   $4,_setjmp              /* save context for error return */
        !            25:        movab   _adec_mode,_stpc        /* save subtest pc */
        !            26:        movl    $1,_subtst              /* subtest number */
        !            27:        movl    $1,_no_opr              /* number of operands in use */
        !            28:        movl    spb4,_opr               /* test operand */
        !            29: 0:     movl    $0x11223344,spbase-4
        !            30:        movl    $0x55667788,spbase-8
        !            31:        movl    $0x99aabbcc,spbase-12
        !            32:        movl    $0xddeeff00,spbase-16
        !            33:        bicpsw  $PSWMASK
        !            34:        movl    spb,sp                  /* sp = stack base              */
        !            35:        movl    $-1,r3
        !            36:        movl    r3,-(sp)                
        !            37:        movab   (sp),r3
        !            38:        cmpl    r3,spb4                 /*check sp = oldsp - 4          */
        !            39:        beql    8f
        !            40: er8:
        !            41:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !            42:        movl    $1,_ercode                      /*error code*/
        !            43:        movl    r3,_actual              /* actual data */
        !            44:        movl    spb4,_expected                  /*expected */
        !            45:        jmp     *badrtn                 /*display error                 */
        !            46:                                /*sp not decremented by 4 on-(sp) mode  */
        !            47: 8:
        !            48:        cmpl    $-1,(sp)
        !            49:        beql    9f
        !            50: er9:
        !            51:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !            52:        movl    $3,_ercode              /* error code operand modified */
        !            53:        movl    (sp),_actual            /* actual data */
        !            54:        movl    $-1,_expected                   /*expected */
        !            55:        jmp     *badrtn                 /*-(sp) did not push correct value on stack*/
        !            56: 9:
        !            57:        bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !            58: 9:     callf   $4,_setjmp              /* save context for error return */
        !            59:        movab   9b,_stpc        /* save subtest pc */
        !            60:        movl    $2,_subtst              /* subtest number */
        !            61:        movl    $1,_no_opr              /* number of operands in use */
        !            62:        movl    spb16,_opr              /* test operand */
        !            63: 0:     movl    $1,-(sp)
        !            64:        movl    $2,-(sp)
        !            65:        movl    $3,-(sp)
        !            66:        movab   (sp),r3
        !            67:        cmpl    r3,spb16
        !            68:        beql    1f
        !            69:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !            70:        movl    $1,_ercode              /* error code data miscompare */
        !            71:        movl    (sp),_actual            /* actual data */
        !            72:        movl    $spb16,_expected                        /*expected */
        !            73:        jmp     *badrtn                 /*sp not decremented by 12 after 3 pushes*/
        !            74: 1:
        !            75:        bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !            76: 1:     callf   $4,_setjmp              /* save context for error return */
        !            77:        movab   1b,_stpc        /* save subtest pc */
        !            78:        movl    $3,_subtst              /* subtest number */
        !            79:        movl    $1,_no_opr              /* number of operands in use */
        !            80:        movl    $3,_opr         /* test operand */
        !            81: 0:     movl    $3,r4
        !            82:        movl    (sp)+,r3
        !            83:        cmpl    r3,r4
        !            84:        beql    1f
        !            85:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !            86:        movl    $1,_ercode              /* error code data miscompare */
        !            87:        movl    r3,_actual              /* actual data */
        !            88:        movl    $3,_expected                    /*expected */
        !            89:        jmp     *badrtn                         /*-(sp) did not push correct value*/
        !            90:                                        /*or (sp)+ did not pop correct value*/
        !            91: 1:
        !            92:        bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !            93: 1:     callf   $4,_setjmp              /* save context for error return */
        !            94:        movab   1b,_stpc        /* save subtest pc */
        !            95:        movl    $4,_subtst              /* subtest number */
        !            96:        movl    $1,_no_opr              /* number of operands in use */
        !            97:        movl    spb12,_opr              /* test operand */
        !            98: 0:     movl    spb12,r4
        !            99:        movab   (sp),r3
        !           100:        cmpl    r3,r4
        !           101:        beql    1f
        !           102:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !           103:        movl    $1,_ercode              /* error code data miscompare */
        !           104:        movl    r3,_actual              /* actual data */
        !           105:        movl    spb12,_expected                 /*expected */
        !           106:        jmp     *badrtn                 /*sp not incremented properly in (sp)+ mode*/
        !           107: 1:
        !           108:        bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !           109: 1:     callf   $4,_setjmp              /* save context for error return */
        !           110:        movab   1b,_stpc                /* save subtest pc */
        !           111:        movl    $5,_subtst              /* subtest number */
        !           112:        movl    $1,_no_opr              /* number of operands in use */
        !           113:        movl    $2,_opr                 /* test operand */
        !           114: 0:     movl    $2,r4
        !           115:        movl    (sp)+,r3
        !           116:        cmpl    r3,r4
        !           117:        beql    1f
        !           118:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !           119:        movl    $1,_ercode              /* error code data miscompare */
        !           120:        movl    r3,_actual              /* actual data */
        !           121:        movl    $2,_expected                    /*expected */
        !           122:        jmp     *badrtn                         /*-(sp) did not push correct value*/
        !           123: 
        !           124:                                        /*or (sp)+ did not pop correct value*/
        !           125: 1:
        !           126:        bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !           127: 1:     callf   $4,_setjmp              /* save context for error return */
        !           128:        movab   1b,_stpc                /* save subtest pc */
        !           129:        movl    $6,_subtst              /* subtest number */
        !           130:        movl    $1,_no_opr              /* number of operands in use */
        !           131:        movl    spb8,_opr                       /* test operand */
        !           132: 0:     movl    spb8,r4
        !           133:        movab   (sp),r3
        !           134:        cmpl    r3,r4
        !           135:        beql    1f
        !           136:        bbs     $0,_scoplp,0b           /* tight loop for scope loop */
        !           137:        movl    $1,_ercode              /* error code data miscompare */
        !           138:        movl    r3,_actual              /* actual data */
        !           139:        movl    spb8,_expected                  /*expected */
        !           140:        jmp     *badrtn                 /*sp not incremented properly in (sp)+ mode*/
        !           141: 
        !           142: 
        !           143: 1:     bbs     $0,_force_lp,0b         /* if set loop on subtest */
        !           144:        movl    $0,_ercode              /*no error*/
        !           145:        jmp     *return                 /*end of test - goto monitor            */
        !           146: 
        !           147: 
        !           148: 
        !           149: /*     Variables                                                       */
        !           150: /*                                                                     */
        !           151: /*                                                                     */
        !           152: 
        !           153:        .align  2
        !           154: splimit:       .space  100
        !           155:        .align  2
        !           156:        .fill   1,4,0xddeeff00
        !           157:        .fill   1,4,0x99aabbcc
        !           158:        .fill   1,4,0x55667788
        !           159:        .fill   1,4,0x11223344
        !           160:        .align  2
        !           161: spbase:        .space  4
        !           162: spb:   .long   spbase
        !           163: spb1:  .long   spbase - 1
        !           164: spb2:  .long   spbase - 2
        !           165: spb3:  .long   spbase - 3
        !           166: spb4:  .long   spbase - 4
        !           167: spb5:  .long   spbase - 5
        !           168: spb6:  .long   spbase - 6
        !           169: spb7:  .long   spbase - 7
        !           170: spb8:  .long   spbase - 8
        !           171: spb9:  .long   spbase - 9
        !           172: spb10: .long   spbase - 10
        !           173: spb11: .long   spbase - 11
        !           174: spb12: .long   spbase - 12
        !           175: spb13: .long   spbase - 13
        !           176: spb14: .long   spbase - 14
        !           177: spb15: .long   spbase - 15
        !           178: spb16: .long   spbase - 16
        !           179: spb17: .long   spbase - 17
        !           180: spb18: .long   spbase - 18
        !           181: spb19: .long   spbase - 19
        !           182: 
        !           183: 
        !           184: 

unix.superglobalmegacorp.com

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