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

📄 bul16550.cod

📁 以嵌入式处理器pxa270为硬件平台的wince系统rs232驱动
💻 COD
📖 第 1 页 / 共 5 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4345 

	TTL	F:\wm520\PLATFORM\intel_dbpxa27x\Public\CSP\ARM\INTEL\PXA27X\SERIAL\.\bul16550.cpp
	CODE32

  00000			 AREA	 |.drectve|, DRECTVE
	DCB	"-defaultlib:coredll.lib "
	DCB	"-defaultlib:corelibc.lib "


  00000			 AREA	 |.data|, DATA
|s_HighWaterPairs| DCD 0x0
	DCD	0x1
	DCD	0x40
	DCD	0x8
	DCD	0x80
	DCD	0x10
	DCD	0xc0
	DCD	0x20
	EXPORT	|PulseEvent|
	IMPORT	|EventModify|
; File f:\wm520\public\common\sdk\inc\kfuncs.h

  00000			 AREA	 |.text| { |PulseEvent| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$PulseEvent|, PDATA, SELECTION=5, ASSOC=|.text| { |PulseEvent| } ; comdat associative
|$T33406| DCD	|$L33405|
	DCD	0x40000501
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |PulseEvent| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |PulseEvent| PROC

; 160  : _inline BOOL PulseEvent(HANDLE h) {

  00000		 |$L33405|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33403|

; 161  : 	return EventModify(h,EVENT_PULSE);

  00004	e3a01001	 mov         r1, #1
  00008	eb000000	 bl          EventModify

; 162  : }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$M33404|

			 ENDP  ; |PulseEvent|

	EXPORT	|ResetEvent|

  00000			 AREA	 |.text| { |ResetEvent| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$ResetEvent|, PDATA, SELECTION=5, ASSOC=|.text| { |ResetEvent| } ; comdat associative
|$T33416| DCD	|$L33415|
	DCD	0x40000501
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |ResetEvent| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |ResetEvent| PROC

; 172  : _inline BOOL ResetEvent(HANDLE h) {

  00000		 |$L33415|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33413|

; 173  : 	return EventModify(h,EVENT_RESET);

  00004	e3a01002	 mov         r1, #2
  00008	eb000000	 bl          EventModify

; 174  : }

  0000c	e49de004	 ldr         lr, [sp], #4
  00010	e12fff1e	 bx          lr
  00014		 |$M33414|

			 ENDP  ; |ResetEvent|

	EXPORT	|?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| ; CRegistryEdit::GetWindowInfo
	IMPORT	|DDKReg_GetWindowInfo|
; File f:\wm520\public\common\oak\inc\cregedit.h

  00000			 AREA	 |.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| } ; comdat associative
|$T33427| DCD	|$L33426|
	DCD	0x40000f01
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z| PROC ; CRegistryEdit::GetWindowInfo

; 86   :     {

  00000		 |$L33426|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33424|
  00004	e3510000	 cmp         r1, #0

; 87   :         if( pdwi && m_hDevKey )

  00008	0a000008	 beq         |$L31443|
  0000c	e5903000	 ldr         r3, [r0]
  00010	e3530000	 cmp         r3, #0
  00014	0a000005	 beq         |$L31443|

; 88   :         {
; 89   :             pdwi->cbSize = sizeof( DDKWINDOWINFO );

  00018	e3a03074	 mov         r3, #0x74
  0001c	e5813000	 str         r3, [r1]

; 90   :             DWORD status = DDKReg_GetWindowInfo( m_hDevKey, pdwi );

  00020	e5900000	 ldr         r0, [r0]
  00024	eb000000	 bl          DDKReg_GetWindowInfo

; 96   :         }
; 97   :     }

  00028	e49de004	 ldr         lr, [sp], #4
  0002c	e12fff1e	 bx          lr
  00030		 |$L31443|

; 91   :             return status;
; 92   :         }
; 93   :         else
; 94   :         {
; 95   :             return ERROR_INVALID_FUNCTION;

  00030	e3a00001	 mov         r0, #1

; 96   :         }
; 97   :     }

  00034	e49de004	 ldr         lr, [sp], #4
  00038	e12fff1e	 bx          lr
  0003c		 |$M33425|

			 ENDP  ; |?GetWindowInfo@CRegistryEdit@@QAAKPAU_DDKWINDOWINFO_tag@@@Z|, CRegistryEdit::GetWindowInfo

	EXPORT	|?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| ; CRegistryEdit::GetIsrInfo
	IMPORT	|DDKReg_GetIsrInfo|

  00000			 AREA	 |.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| } ; comdat associative
|$T33438| DCD	|$L33437|
	DCD	0x40000f01
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z| PROC ; CRegistryEdit::GetIsrInfo

; 100  :     {

  00000		 |$L33437|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M33435|
  00004	e3510000	 cmp         r1, #0

; 101  :         if( pddi && m_hDevKey )

  00008	0a000008	 beq         |$L31449|
  0000c	e5903000	 ldr         r3, [r0]
  00010	e3530000	 cmp         r3, #0
  00014	0a000005	 beq         |$L31449|

; 102  :         {
; 103  :             pddi->cbSize = sizeof( DDKISRINFO );

  00018	e3a03f43	 mov         r3, #0x43, 30
  0001c	e5813000	 str         r3, [r1]

; 104  :             DWORD status = DDKReg_GetIsrInfo( m_hDevKey, pddi );

  00020	e5900000	 ldr         r0, [r0]
  00024	eb000000	 bl          DDKReg_GetIsrInfo

; 110  :         }
; 111  :     }

  00028	e49de004	 ldr         lr, [sp], #4
  0002c	e12fff1e	 bx          lr
  00030		 |$L31449|

; 105  :             return status;
; 106  :         }
; 107  :         else
; 108  :         {
; 109  :             return ERROR_INVALID_FUNCTION;

  00030	e3a00001	 mov         r0, #1

; 110  :         }
; 111  :     }

  00034	e49de004	 ldr         lr, [sp], #4
  00038	e12fff1e	 bx          lr
  0003c		 |$M33436|

			 ENDP  ; |?GetIsrInfo@CRegistryEdit@@QAAKPAU_DDKISRINFO_tag@@@Z|, CRegistryEdit::GetIsrInfo

	EXPORT	|?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z| ; CRegistryEdit::GetRegValue
	IMPORT	|RegQueryValueExW|

  00000			 AREA	 |.text| { |?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z| } ; comdat associative
|$T33452| DCD	|$L33451|
	DCD	0x40001404
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z| PROC ; CRegistryEdit::GetRegValue

; 128  :     {

  00000		 |$L33451|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d000f	 stmdb       sp!, {r0 - r3}
  00008	e92d5030	 stmdb       sp!, {r4, r5, r12, lr}
  0000c	e24dd00c	 sub         sp, sp, #0xC
  00010		 |$M33449|
  00010	e1a04002	 mov         r4, r2

; 129  :         DWORD dwType = 0;
; 130  :         LONG status = ::RegQueryValueEx( m_hDevKey,
; 131  :                                            lpcName,
; 132  :                                            NULL,
; 133  :                                            &dwType,
; 134  :                                            lpData,
; 135  :                                            &dwDataLen );

  00014	e5900000	 ldr         r0, [r0]
  00018	e3a05000	 mov         r5, #0
  0001c	e28de028	 add         lr, sp, #0x28
  00020	e28d3008	 add         r3, sp, #8
  00024	e3a02000	 mov         r2, #0
  00028	e58d5008	 str         r5, [sp, #8]
  0002c	e58de004	 str         lr, [sp, #4]
  00030	e58d4000	 str         r4, [sp]
  00034	eb000000	 bl          RegQueryValueExW
  00038	e3500000	 cmp         r0, #0

; 136  :         return ( status == ERROR_SUCCESS );

  0003c	03a00001	 moveq       r0, #1
  00040	13a00000	 movne       r0, #0

; 137  :     }

  00044	e28dd00c	 add         sp, sp, #0xC
  00048	e89d6030	 ldmia       sp, {r4, r5, sp, lr}
  0004c	e12fff1e	 bx          lr
  00050		 |$M33450|

			 ENDP  ; |?GetRegValue@CRegistryEdit@@QAAHPBGPAEK@Z|, CRegistryEdit::GetRegValue

	EXPORT	|?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z| ; CRegistryEdit::RegSetValueExW
	IMPORT	|RegSetValueExW|

  00000			 AREA	 |.text| { |?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z| } ; comdat associative
|$T33467| DCD	|$L33466|
	DCD	0x40001002
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z| PROC ; CRegistryEdit::RegSetValueExW

; 158  :     {

  00000		 |$L33466|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M33464|
  00008	e1a04003	 mov         r4, r3
  0000c	e1a03002	 mov         r3, r2

; 159  :         LONG status = ::RegSetValueEx( m_hDevKey,
; 160  :                                          lpcName,
; 161  :                                          NULL,
; 162  :                                          dwType,
; 163  :                                          lpData,
; 164  :                                          dwDataLen );

  00010	e59de010	 ldr         lr, [sp, #0x10]
  00014	e5900000	 ldr         r0, [r0]
  00018	e3a02000	 mov         r2, #0
  0001c	e58de004	 str         lr, [sp, #4]
  00020	e58d4000	 str         r4, [sp]
  00024	eb000000	 bl          RegSetValueExW
  00028	e3500000	 cmp         r0, #0

; 165  :         return ( status == ERROR_SUCCESS );

  0002c	03a00001	 moveq       r0, #1
  00030	13a00000	 movne       r0, #0

; 166  :     }

  00034	e28dd008	 add         sp, sp, #8
  00038	e8bd4010	 ldmia       sp!, {r4, lr}
  0003c	e12fff1e	 bx          lr
  00040		 |$M33465|

			 ENDP  ; |?RegSetValueExW@CRegistryEdit@@QAAHPBGKPAEK@Z|, CRegistryEdit::RegSetValueExW

	EXPORT	|??0CLockObject@@QAA@XZ|		; CLockObject::CLockObject
	IMPORT	|InitializeCriticalSection|
; File f:\wm520\public\common\oak\inc\csync.h

  00000			 AREA	 |.text| { |??0CLockObject@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??0CLockObject@@QAA@XZ|, PDATA, SELECTION=5, ASSOC=|.text| { |??0CLockObject@@QAA@XZ| } ; comdat associative
|$T33477| DCD	|$L33476|
	DCD	0x40000601
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??0CLockObject@@QAA@XZ| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??0CLockObject@@QAA@XZ| PROC		; CLockObject::CLockObject

; 34   :     CLockObject()

  00000		 |$L33476|
  00000	e92d4010	 stmdb       sp!, {r4, lr}
  00004		 |$M33474|
  00004	e1a04000	 mov         r4, r0

; 35   :     {
; 36   :         InitializeCriticalSection( &m_CSection );

⌨️ 快捷键说明

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