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

1.1     ! root        1: 
        !             2: /*             LITERAL ADDRESSING MODE TEST                            */
        !             3: /*                                                                     */
        !             4: /*                                                                     */
        !             5: /*Test name = l_mode                                                   */
        !             6: /*This test checks the literal addressing mode. Note that literal,     */
        !             7: /*relative, immidiate, and register modes have been extensively used in */
        !             8: /*the previous tests, and so part of what we do here is somewhat       */
        !             9: /*redundent.                                                           */
        !            10: /*                                                                     */
        !            11: /*                                                                     */
        !            12: /*                                                                     */
        !            13: /*     Syst.s - Constants                                              */
        !            14: /*                                                                     */
        !            15:        .set    IPL,8
        !            16:        .set    HIGH,31
        !            17:        .set    ZERO,0
        !            18:        .set    ONES,0xffffffff
        !            19:        .set    N,8
        !            20:        .set    Z,4
        !            21:        .set    V,2
        !            22:        .set    C,1
        !            23:        .set    T,16
        !            24:        .set    IV,32
        !            25:        .set    FU,64
        !            26:        .set    DV,128
        !            27:        .set    PSWMASK,0x003f
        !            28: 
        !            29: 
        !            30:        .globl  _l_mode
        !            31: _l_mode:
        !            32:        callf   $4,_setjmp              /* save context for error return */
        !            33:        movab   _l_mode,_stpc           /* save subtest pc */
        !            34:        movl    $1,_subtst              /* subtest number */
        !            35:        movl    $1,_no_opr              /* number of operands used */
        !            36: 0:     bicpsw  $PSWMASK                /*psw = 0                       */
        !            37:        movl    $1,r3                   /*r3 = literal value            */
        !            38:        movl    r3,_opr                 /* first operand */
        !            39:        cmpl    r3,$1                   /*r3 = literal value?           */
        !            40:        beql    1f                      /*if yes, goto next test        */
        !            41:        movl    $1,r2                   /* error code */
        !            42: er1:   bbs     $0,_scoplp,0b           /* if set scope loop on error */
        !            43:        movl    $1,_ercode              /* error code data miscompare */
        !            44:        movl    r3,_actual              /* actual data */
        !            45:        movl    $1,_expected            /* expected data */
        !            46:        jmp     *badrtn                 /*error - dislay error  */
        !            47:                                /*                                      */
        !            48: 1:
        !            49:        bbs     $0,_force_lp,0b         /* if set loop on last subtest */
        !            50: 1:     callf   $4,_setjmp              /* save context for error return */
        !            51:        movab   1b,_stpc                /* save subtest pc */
        !            52:        movl    $2,_subtst              /* subtest number */
        !            53:        movl    $1,_no_opr              /* number of operands used */
        !            54: 0:     bicpsw  $PSWMASK                /*psw = 0                       */
        !            55:        movl    $18,r3                  /*r3 = literal value            */
        !            56:        movl    r3,_opr                 /* first operand */
        !            57:        cmpl    r3,$18                  /*r3 = literal value?           */
        !            58:        beql    2f                      /*if yes, goto next test        */
        !            59: er2:   bbs     $0,_scoplp,0b           /* if set scope loop on error */
        !            60:        movl    $1,_ercode              /* error code data miscompare */
        !            61:        movl    r3,_actual              /* actual data */
        !            62:        movl    $18,_expected           /* expected data */
        !            63:        jmp     *badrtn                 /*error - dislay error  */
        !            64:                                /*                                      */
        !            65: 2:
        !            66:        bbs     $0,_force_lp,0b         /* if set loop on last subtest */
        !            67: 2:     callf   $4,_setjmp              /* save context for error return */
        !            68:        movab   2b,_stpc                /* save subtest pc */
        !            69:        movl    $3,_subtst              /* subtest number */
        !            70:        movl    $1,_no_opr              /* number of operands used */
        !            71: 0:     bicpsw  $PSWMASK                /*psw = 0                       */
        !            72:        movl    $36,r3                  /*r3 = literal value            */
        !            73:        movl    r3,_opr                 /* first operand */
        !            74:        cmpl    r3,$36                  /*r3 = literal value?           */
        !            75:        beql    3f                      /*if yes, goto next test        */
        !            76: er3:   bbs     $0,_scoplp,0b           /* if set scope loop on error */
        !            77:        movl    $1,_ercode              /* error code data miscompare */
        !            78:        movl    r3,_actual              /* actual data */
        !            79:        movl    $36,_expected           /* expected data */
        !            80:        jmp     *badrtn                 /*error - dislay error  */
        !            81:                                /*                                      */
        !            82: 3:
        !            83:        bbs     $0,_force_lp,0b         /* if set loop on last subtest */
        !            84: 3:     callf   $4,_setjmp              /* save context for error return */
        !            85:        movab   3b,_stpc                /* save subtest pc */
        !            86:        movl    $4,_subtst              /* subtest number */
        !            87:        movl    $1,_no_opr              /* number of operands used */
        !            88: 0:     bicpsw  $PSWMASK                /*psw = 0                       */
        !            89:        movl    $63,r3                  /*r3 = literal value            */
        !            90:        movl    r3,_opr                 /* first operand */
        !            91:        cmpl    r3,$63                  /*r3 = literal value?           */
        !            92:        beql    4f                      /*if yes, goto next test        */
        !            93: er4:   bbs     $0,_scoplp,0b           /* if set scope loop on error */
        !            94:        movl    $1,_ercode              /* error code data miscompare */
        !            95:        movl    r3,_actual              /* actual data */
        !            96:        movl    $36,_expected           /* expected data */
        !            97:        jmp     *badrtn                 /*error - dislay error  */
        !            98:                                /*                                      */
        !            99: 4:
        !           100:        bbs     $0,_force_lp,0b         /* if set loop on last subtest */
        !           101:        movl    $0,_ercode                      /* no error */
        !           102:        jmp     *return         /*end of test - goto monitor            */
        !           103: 
        !           104: 
        !           105: 

unix.superglobalmegacorp.com

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