Annotation of qemu/tests/lm32/macros.inc, revision 1.1

1.1     ! root        1: 
        !             2: .macro test_name name
        !             3:        .data
        !             4: tn_\name:
        !             5:        .asciz "\name"
        !             6:        .text
        !             7:        mvhi r13, hi(tn_\name)
        !             8:        ori r13, r13, lo(tn_\name)
        !             9:        sw (r12+8), r13
        !            10: .endm
        !            11: 
        !            12: .macro load reg val
        !            13:        mvhi \reg, hi(\val)
        !            14:        ori \reg, \reg, lo(\val)
        !            15: .endm
        !            16: 
        !            17: .macro tc_pass
        !            18:        mvi r13, 0
        !            19:        sw (r12+4), r13
        !            20: .endm
        !            21: 
        !            22: .macro tc_fail
        !            23:        mvi r13, 1
        !            24:        sw (r12+4), r13
        !            25: .endm
        !            26: 
        !            27: .macro check_r3 val
        !            28:        mvhi r13, hi(\val)
        !            29:        ori r13, r13, lo(\val)
        !            30:        be r3, r13, 1f
        !            31:        tc_fail
        !            32:        bi 2f
        !            33: 1:
        !            34:        tc_pass
        !            35: 2:
        !            36: .endm
        !            37: 
        !            38: .macro check_mem adr val
        !            39:        mvhi r13, hi(\adr)
        !            40:        ori r13, r13, lo(\adr)
        !            41:        mvhi r14, hi(\val)
        !            42:        ori r14, r14, lo(\val)
        !            43:        lw r13, (r13+0)
        !            44:        be r13, r14, 1f
        !            45:        tc_fail
        !            46:        bi 2f
        !            47: 1:
        !            48:        tc_pass
        !            49: 2:
        !            50: .endm
        !            51: 
        !            52: .macro check_excp excp
        !            53:        andi r13, r25, \excp
        !            54:        bne r13, r0, 1f
        !            55:        tc_fail
        !            56:        bi 2f
        !            57: 1:
        !            58:        tc_pass
        !            59: 2:
        !            60: .endm
        !            61: 
        !            62: .macro start
        !            63:        .global _main
        !            64:        .text
        !            65: _main:
        !            66:        mvhi r12, hi(0xffff0000)      # base address of test block
        !            67:        ori r12, r12, lo(0xffff0000)
        !            68: .endm
        !            69: 
        !            70: .macro end
        !            71:        sw (r12+0), r0
        !            72: 1:
        !            73:        bi 1b
        !            74: .endm
        !            75: 
        !            76: # base +
        !            77: #  0  ctrl
        !            78: #  4  pass/fail
        !            79: #  8  ptr to test name

unix.superglobalmegacorp.com

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