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