⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcidp.lst

📁 一个amccs5933芯片的驱动程序开发源程序和部分文档
💻 LST
📖 第 1 页 / 共 5 页
字号:
				   C _PATHSTART  ENDS
				   C 
				   C 
				   C _PATHDATA   SEGMENT DWORD PUBLIC  _FLAT 'LCODE'
				   C _PATHDATA   ENDS
				   C 
				   C 
				   C _PATHEND    SEGMENT DWORD PUBLIC  _FLAT 'LCODE'
				   C _PATHEND    ENDS
				   C endif
				   C 
				   C 
				   C ;_16ICODE    SEGMENT WORD USE16 PUBLIC '16ICODE'
				   C ;_16ICODE    ENDS
				   C 
				   C 
				   C ;_RCODE      SEGMENT WORD USE16 PUBLIC 'RCODE'
				   C ;_RCODE      ENDS
				   C 
				   C IFNDEF BLD_COFF
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 33 - 1


				   C _LGROUP   GROUP _LTEXT, _TEXT, _LDATA, _DATA, _BSS, CONST, _TLS
				   C _IGROUP   GROUP _ITEXT, _IDATA
				   C _SGROUP   GROUP _STEXT, _SDATA
				   C _DBOGROUP GROUP _DBOSTART, _DBOCODE, _DBODATA
				   C IF DEBLEVEL
				   C _PGROUP	  GROUP _PATHSTART, _PATHDATA, _PATHEND
				   C ENDIF
				   C ENDIF
				   C 
				   C endif
				   C 
				   C     ASSUME CS:FLAT, DS:FLAT, ES:FLAT, SS:FLAT
				   C 
 = OFFSET FLAT:			   C OFFSET32 EQU <OFFSET FLAT:>
				   C 
				   C 
				   C BeginDoc
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 34 - 1


				   C EndDoc
				   C 
				   C Begin_Service_Table MACRO Device_Name, Def_Segment
				   C 
				   C IFDEF   Device_Name&_Name_Based
				   C  IFNDEF @@NextInternalID
				   C     @@NextInternalID    = 0
				   C  ENDIF
				   C  @@NextInternalID = (@@NextInternalID + 1)
				   C  Device_Name&_Internal_ID   = @@NextInternalID + BASEID_FOR_NAMEBASEDVXD
				   C  DefineVxDName  Device_Name, %Device_Name&_Internal_ID
				   C ENDIF
				   C 
				   C IFB <Def_Segment>
				   C     BST2 Device_Name, VxD
				   C ELSE
				   C     BST2 Device_Name, Def_Segment
				   C ENDIF
				   C     ENDM
				   C 
				   C DefineVxDName   MACRO Device_Name, InternalID
				   C  @@VxDName&InternalID EQU   <___&Device_Name&STable>
				   C ENDM
				   C 
				   C 
				   C BST2 MACRO Device_Name, Def_Segment
				   C 
				   C Num_&Device_Name&_Services = 0
				   C 
				   C IFDEF Create_&Device_Name&_Service_Table
				   C 
				   C Def_Segment&_LOCKED_DATA_SEG
				   C 
				   C Device_Name&_Service_Table LABEL DWORD
				   C 
				   C Device_Name&_Service MACRO Procedure, Local_Seg, Condition
				   C LOCAL $$&Procedure
				   C 
				   C   IFNB <Condition>
				   C   $$&&Procedure MACRO extern
				   C     IFDEF &Condition
				   C       IFNB <extern>
				   C     EXTRN   Procedure:NEAR
				   C       ELSE
				   C     dd  OFFSET32 Procedure
				   C       ENDIF
				   C     ELSE
				   C       IFB <extern>
				   C       dd      0
				   C       ENDIF
				   C     ENDIF
				   C     ENDM
				   C   ENDIF
				   C 
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 35 - 1


				   C   IFDIFI <Procedure>, <RESERVED>
				   C     PUBLIC _&&Procedure
				   C      IF1
				   C     _&&Procedure LABEL DWORD
				   C      ENDIF
				   C      IFDIFI <Local_Seg>, <LOCAL>
				   C         IFNB <Local_Seg>
				   C Local_Seg&&_SEG
				   C        ELSE
				   C Def_Segment&_CODE_SEG
				   C         ENDIF
				   C         IFNB <Condition>
				   C     $$&&Procedure extern
				   C        ELSE
				   C     EXTRN   Procedure:NEAR
				   C         ENDIF
				   C         IFNB <Local_Seg>
				   C Local_Seg&&_ENDS
				   C         ELSE
				   C Def_Segment&_CODE_ENDS
				   C         ENDIF
				   C      ENDIF
				   C       IFNB <Condition>
				   C     $$&&Procedure
				   C       ELSE
				   C     dd  OFFSET32 Procedure
				   C       ENDIF
				   C 
				   C           IFDEF Device_Name&_Name_Based
				   C         @@&&Procedure = (Device_Name&_Internal_ID SHL 16) + Num_&Device_Name&_Services
				   C           ELSE
				   C         @@&&Procedure = (Device_Name&_Device_ID SHL 16) + Num_&Device_Name&_Services
				   C           ENDIF
				   C   ELSE
				   C     dd  0
				   C   ENDIF
				   C     Num_&Device_Name&_Services = Num_&Device_Name&_Services + 1
				   C   IFNB <Condition>
				   C     Purge $$&&Procedure
				   C   ENDIF
				   C     ENDM
				   C 
				   C ELSE
				   C 
				   C 
				   C 
				   C IFDEF   Device_Name&_Name_Based
				   C 
				   C Device_Name&_Service MACRO Procedure, Local_Seg, Condition
				   C 
				   C 
				   C   IFDIFI <Procedure>, <RESERVED>
				   C     @@&&Procedure = (Device_Name&_Internal_ID SHL 16) + Num_&Device_Name&_Services
				   C   ENDIF
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 36 - 1


				   C     Num_&Device_Name&_Services = Num_&Device_Name&_Services + 1
				   C 
				   C     ENDM
				   C ELSE
				   C 
				   C Device_Name&_Service MACRO Procedure, Local_Seg, Condition
				   C 
				   C   IFDIFI <Procedure>, <RESERVED>
				   C     @@&&Procedure = (Device_Name&_Device_ID SHL 16) + Num_&Device_Name&_Services
				   C   ENDIF
				   C     Num_&Device_Name&_Services = Num_&Device_Name&_Services + 1
				   C 
				   C     ENDM
				   C ENDIF
				   C 
				   C ENDIF
				   C 
				   C     ENDM
				   C 
				   C 
				   C 
				   C End_Service_Table MACRO Device_Name, Def_Segment
				   C 
				   C     PURGE   Device_Name&_Service
				   C 
				   C IFDEF Create_&Device_Name&_Service_Table
				   C 
				   C IFB <Def_Segment>
				   C VxD_LOCKED_DATA_ENDS
				   C ELSE
				   C Def_Segment&_LOCKED_DATA_ENDS
				   C ENDIF
				   C 
				   C ENDIF
				   C 
				   C     ENDM
				   C 
				   C GetVxDServiceOrdinal    macro   reg,service
				   C     mov reg,@@&service
				   C     endm
				   C 
				   C GetVxDServiceAddress    macro   reg,service
				   C     mov reg,OFFSET32 service
				   C     endm
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 37 - 1


				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C Begin_Win32_Services MACRO VxDName
				   C ifndef Create_Win32_Services
				   C     Create_Win32_Services = 0
				   C endif
				   C     .errb <VxDName>, <VxD name missing>
				   C     ??w32svcno = 0
				   C if Create_Win32_Services
				   C VxDName&_Win32_Services label dword
				   C     dd  csvc&VxDName, 0
				   C endif
				   C     ??inw32svc = 1
				   C 
				   C     VxDName&_Win32_Service MACRO Name
				   C         .erre ??inw32svc, <Missing Begin_Win32_Services>
				   C     if Create_Win32_Services
				   C         dd  OFFSET32 Name,cparm&&Name
				   C     endif
				   C         @32&&Name equ   ((VxDName&_Device_ID SHL 16) + ??w32svcno)
				   C         ??w32svcno = ??w32svcno + 1
				   C         ENDM
				   C     ENDM
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C End_Win32_Services MACRO VxDName
				   C     .errb <VxDName>, <VxD name misssing>
				   C if Create_Win32_Services
				   C     csvc&VxDName    equ ($ - VxDName&_Win32_Services)/8 - 1
				   C endif
				   C     ??inw32svc = 0
				   C     PURGE VxDName&_Win32_Service
				   C     ENDM
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 38 - 1


				   C 
				   C 
				   C 
				   C 
				   C Declare_Win32_Service MACRO Name, cParms
				   C ifndef Create_Win32_Services
				   C     Create_Win32_Services = 0
				   C endif
				   C if Create_Win32_Services
				   C     ?merge  <Name>,,,,<EQU>,<_>,<Name>,<@>,%(cParms*4 + 8)
				   C     ?merge  <cparm>,<Name>,,,<EQU>,<cParms>
				   C VxD_CODE_SEG
				   C     ?merge  <EXTRN>,,,,,<_>,<Name>,<@>,%(cParms*4 + 8),<:NEAR>
				   C VxD_CODE_ENDS
				   C endif
				   C     ENDM
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C Win32call MACRO Service, CallBack
				   C ifndef Create_Win32_Services
				   C     Create_Win32_Services = 0
				   C endif
				   C ife Create_Win32_Services
				   C     mov eax,@32&Service
				   C ifdef IS_16
				   C     movzx   esp,sp
				   C endif
				   C     call    fword ptr [CallBack]
				   C ifdef DEBUG
				   C     int 3
				   C endif
				   C endif
				   C     ENDM
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C Dword_Align MACRO Seg_Name
				   C     LOCAL segn
				   C IFDEF MASM6
				   C     align 4
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 39 - 1


				   C ELSE
				   C IFNB <Seg_Name>
				   C     segn equ Seg_Name
				   C ELSE
				   C IFE ?_LCODE
				   C     segn equ <_LTEXT>
				   C ELSE
				   C IFE ?_ICODE
				   C     segn equ <_ITEXT>
				   C ELSE
				   C IFE ?_PCODE
				   C     segn equ <_PTEXT>
				   C ELSE
				   C IFE ?_SCODE
				   C     segn equ <_STEXT>
				   C ELSE
				   C .err <Dword_Align not supported>
				   C ENDIF
				   C ENDIF
				   C ENDIF
				   C ENDIF
				   C ENDIF
				   C IF (($-OFFSET segn:0) MOD 4)
				   C db 4 - (($-OFFSET segn:0) MOD 4) DUP (90h)
				   C ENDIF
				   C ENDIF
				   C         ENDM
				   C 
				   C 
				   C BeginDoc
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C 
				   C EndDoc
				   C 
				   C Fatal_Error MACRO Msg_Ptr, Exit_Flags
				   C     pushad
				   C IFB <Msg_Ptr>
				   C     xor esi, esi
				   C ELSE
Microsoft (R) Macro Assembler Version 6.11c		    11/11/00 07:07:33
PCIDP.ASM -						     Page 40 - 1


				   C     mov esi, Msg_Ptr
				   C IFB <Exit_Flags>
				   C     xor eax, eax
				   C ELSE
				   C     mov eax, Exit_Flags
				   C ENDIF
				   C ENDIF
				   C     VMMCall Fatal_Error_Handler
				   C     ENDM
				   C 
 = 0001				   C EF_Hang_On_Exit     EQU     1h
				   C 
				   C 
 0014				   C cb_s	STRUC
 0000  00000000			   C CB_VM_Status	DD	?
 0004  00000000			   C CB_High_Linear	DD	?
 0008  00000000			   C CB_Client_Pointer	DD	?
 000C  00000000			   C CB_VMID	DD	?
 0010  00000000			   C CB_Signature	DD	?
				   C cb_s	ENDS
 = 62634D56			   C VMCB_ID	EQU	62634D56H
 = 0000				   C VMSTAT_EXCLUSIVE_BIT	EQU	00H
 = 0001				   C VMSTAT_EXCLUSIVE	EQU	(1 SHL VMSTAT_EXCLUSIVE_BIT)
 = 0001				   C VMSTAT_BACKGROUND_BIT	EQU	01H
 = 0002				   C VMSTAT_BACKGROUND	EQU	(1 SHL VMSTAT_BACKGROUND_BIT)
 = 0002				   C VMSTAT_CREATING_BIT	EQU	02H
 = 0004				   C VMSTAT_CREATING	EQU	(1 SHL VMSTAT_CREATING_BIT)
 = 0003				   C VMS

⌨️ 快捷键说明

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