mi.fi

来自「开放源码的编译器open watcom 1.6.0版的源代码」· FI 代码 · 共 524 行 · 第 1/2 页

FI
524
字号
        parameter (MI_REGMASK = '00000038'x)
        integer  MI_REGSHIFT
        parameter (MI_REGSHIFT = 3)
        integer  MI_REGAX
        parameter (MI_REGAX = '00000000'x)
        integer  MI_REGCX
        parameter (MI_REGCX = '00000008'x)
        integer  MI_REGDX
        parameter (MI_REGDX = '00000010'x)
        integer  MI_REGBX
        parameter (MI_REGBX = '00000018'x)
        integer  MI_REG3
        parameter (MI_REG3 = '00000018'x)
        integer  MI_REGSP
        parameter (MI_REGSP = '00000020'x)
        integer  MI_REGBP
        parameter (MI_REGBP = '00000028'x)
        integer  MI_REGSI
        parameter (MI_REGSI = '00000030'x)
        integer  MI_REGDI
        parameter (MI_REGDI = '00000038'x)

        integer  MI_REGES
        parameter (MI_REGES = '00000000'x)
        integer  MI_REGCS
        parameter (MI_REGCS = '00000008'x)
        integer  MI_REGSS
        parameter (MI_REGSS = '00000010'x)
        integer  MI_REGDS
        parameter (MI_REGDS = '00000018'x)
        integer  MI_REGFS
        parameter (MI_REGFS = '00000020'x)
        integer  MI_REGGS
        parameter (MI_REGGS = '00000028'x)

        integer  MI_RMMASK
        parameter (MI_RMMASK = '00000007'x)
        integer  MI_RMSHIFT
        parameter (MI_RMSHIFT = 0)
        integer  MI_RMBXSI
        parameter (MI_RMBXSI = '00000000'x)
        integer  MI_RMBXDI
        parameter (MI_RMBXDI = '00000001'x)
        integer  MI_RMBPSI
        parameter (MI_RMBPSI = '00000002'x)
        integer  MI_RMBPDI
        parameter (MI_RMBPDI = '00000003'x)
        integer  MI_RMSI
        parameter (MI_RMSI = '00000004'x)
        integer  MI_RMDI
        parameter (MI_RMDI = '00000005'x)
        integer  MI_RMBP
        parameter (MI_RMBP = '00000006'x)
        integer  MI_RMBX
        parameter (MI_RMBX = '00000007'x)

        integer  MI_SIB_SSMASK
        parameter (MI_SIB_SSMASK = '000000c0'x)
        integer  MI_SIB_SSSHIFT
        parameter (MI_SIB_SSSHIFT = '00000006'x)

        integer  MI_SIB_INDEXMASK
        parameter (MI_SIB_INDEXMASK = '00000038'x)
        integer  MI_SIB_INDEXSHIFT
        parameter (MI_SIB_INDEXSHIFT = '00000003'x)
        integer  MI_SIB_INDEXNONE
        parameter (MI_SIB_INDEXNONE = '00000020'x)

        integer  MI_SIB_BASEMASK
        parameter (MI_SIB_BASEMASK = '00000007'x)
        integer  MI_SIB_BASESHIFT
        parameter (MI_SIB_BASESHIFT = '00000000'x)
        integer  MI_SIB_BASEESP
        parameter (MI_SIB_BASEESP = '00000004'x)
        integer  MI_SIB_BASENONE
        parameter (MI_SIB_BASENONE = '00000005'x)

        integer  MI_RMEDX
        parameter (MI_RMEDX = '00000002'x)
        integer  MI_RMSIB
        parameter (MI_RMSIB = '00000004'x)
        integer  MI_RMDISP
        parameter (MI_RMDISP = '00000005'x)
        integer  MI_RMEBP
        parameter (MI_RMEBP = '00000005'x)

        integer  MI_REG6
        parameter (MI_REG6 = '00000030'x)
        integer  MI_REGCR0
        parameter (MI_REGCR0 = '00000000'x)

        integer  MI_PUSH_AX
        parameter (MI_PUSH_AX = '00000050'x)
        integer  MI_PUSH_IMM
        parameter (MI_PUSH_IMM = '00000068'x)
        integer  MI_MOV_REG_IMM
        parameter (MI_MOV_REG_IMM = '000000B8'x)
        integer  MI_MOV_REG_IMMEDIATE
        parameter (MI_MOV_REG_IMMEDIATE = '000000B8'x)
        integer  MI_MOV_REG_REGMEM
        parameter (MI_MOV_REG_REGMEM = '0000008B'x)

        integer  MI_ADD_AX_IMM
        parameter (MI_ADD_AX_IMM = '00000005'x)
        integer  MI_CALL_NEAR_REL
        parameter (MI_CALL_NEAR_REL = '000000E8'x)
        integer  SIZE_CALL_NEAR_REL
        parameter (SIZE_CALL_NEAR_REL = 5)

        integer  MI_LMSW_OPCODE
        parameter (MI_LMSW_OPCODE = '00000001'x)

        integer  MI_GET_CRx_OPCODE
        parameter (MI_GET_CRx_OPCODE = '00000020'x)
        integer  MI_GET_DRx_OPCODE
        parameter (MI_GET_DRx_OPCODE = '00000021'x)
        integer  MI_SET_CRx_OPCODE
        parameter (MI_SET_CRx_OPCODE = '00000022'x)
        integer  MI_SET_DRx_OPCODE
        parameter (MI_SET_DRx_OPCODE = '00000023'x)
        integer  MI_GET_TRx_OPCODE
        parameter (MI_GET_TRx_OPCODE = '00000024'x)
        integer  MI_SET_TRx_OPCODE
        parameter (MI_SET_TRx_OPCODE = '00000026'x)

        integer  MI_MOV_REG8_MEM8
        parameter (MI_MOV_REG8_MEM8 = '0000008A'x)
        integer  MI_MOV_SEG_MEM_OPCODE
        parameter (MI_MOV_SEG_MEM_OPCODE = '0000008e'x)

        structure /w_s/
            integer*1 lobyte
            integer*1 hibyte
        end structure

        structure /dw_s/
            integer*2 loword
            integer*2 hiword
        end structure

        structure /FarPtr/
            integer*2 Offst
            integer*2 Segmt
        end structure

        structure /FarPtr32/
            integer*4 Offst32
            integer*2 Segmt32
            integer*2 Pad32
        end structure

        structure /RETF16/
            integer*2 retf16_ip
            integer*2 retf16_cs
        end structure

        structure /RETF32/
            integer*4 retf32_eip
            integer*2 retf32_cs
            integer*2 retf32_padcs
        end structure

        structure /IRET16/
            integer*2 iret16_ip
            integer*2 iret16_cs
            integer*2 iret16_flag
        end structure

        structure /Iret_s/
            record /FarPtr/  I_CSIP
            integer*2 I_FLAGS
        end structure

        structure /IretFrame/
            integer*2 IretIP
            integer*2 IretCS
            integer*2 IretFLAGS
        end structure

        structure /IRET32/
            integer*4 iret32_eip
            integer*2 iret32_cs
            integer*2 iret32_padcs
            integer*4 iret32_eflag
        end structure

        structure /Iret32_s/
            record /FarPtr32/ I32_CSEIP
            integer*4 I32_EFLAGS
        end structure

        structure /PLTIRET16/
            integer*2 pltiret16_ip
            integer*2 pltiret16_cs
            integer*2 pltiret16_flag
            integer*2 pltiret16_sp
            integer*2 pltiret16_ss
        end structure

        structure /PLTIret_s/
            record /FarPtr/  PI_CSIP
            integer*2 PI_FLAGS
            record /FarPtr/  PI_SSSP
        end structure

        structure /PLTIretFrame/
            integer*2 PLTIretIP
            integer*2 PLTIretCS
            integer*2 PLTIretFLAGS
            integer*2 PLTIretSP
            integer*2 PLTIretSS
        end structure

        structure /PLTIRET32/
            integer*4 pltiret32_eip
            integer*2 pltiret32_cs
            integer*2 pltiret32_padcs
            integer*4 pltiret32_eflag
            integer*4 pltiret32_esp
            integer*2 pltiret32_ss
            integer*2 pltiret32_padss
        end structure

        structure /PLTIret32_s/
            record /FarPtr32/ PI32_CSEIP
            integer*4 PI32_EFLAGS
            record /FarPtr32/ PI32_SSESP
        end structure

        structure /ptr_t/
            map
                record /FarPtr/ ptr_far16
            end map
            map
                integer*4 ptr_flat
            end map
        end structure

        structure /pusha_s/
            integer*2 pas_di
            integer*2 pas_si
            integer*2 pas_bp
            integer*2 pas_sp
            integer*2 pas_bx
            integer*2 pas_dx
            integer*2 pas_cx
            integer*2 pas_ax
        end structure

        structure /pushad_s/
            integer*4 pads_edi
            integer*4 pads_esi
            integer*4 pads_ebp
            integer*4 pads_esp
            integer*4 pads_ebx
            integer*4 pads_edx
            integer*4 pads_ecx
            integer*4 pads_eax
        end structure

c$reference

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?