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

📄 atapipm.cod

📁 windows CE 的BSP开发包.包含众多的驱动程序和OAL层的开发代码
💻 COD
📖 第 1 页 / 共 5 页
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 13.10.4091 

	TTL	D:\WINCE500\PLATFORM\smdk2440\DRIVERS\atapi\.\atapipm.cpp
	CODE32

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

	EXPORT	|SetEvent|
	IMPORT	|EventModify|
; File d:\wince500\public\common\sdk\inc\kfuncs.h

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

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

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

  00000		 |SetEvent| PROC

; 184  : _inline BOOL SetEvent(HANDLE h) {

  00000		 |$L32388|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32386|

; 185  : 	return EventModify(h,EVENT_SET);

  00004	e3a01003	 mov         r1, #3
  00008	eb000000	 bl          EventModify

; 186  : }

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

			 ENDP  ; |SetEvent|

	EXPORT	|??8@YAHABU_GUID@@0@Z|			; operator==
	IMPORT	|memcmp|
; File d:\wince500\public\common\sdk\inc\objbase.h

  00000			 AREA	 |.text| { |??8@YAHABU_GUID@@0@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??8@YAHABU_GUID@@0@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??8@YAHABU_GUID@@0@Z| } ; comdat associative
|$T32403| DCD	|$L32402|
	DCD	0x40000901
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??8@YAHABU_GUID@@0@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??8@YAHABU_GUID@@0@Z| PROC		; operator==

; 514  : {

  00000		 |$L32402|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M32400|

; 515  : #ifdef _WIN32
; 516  :     return !memcmp(&guidOne,&guidOther,sizeof(GUID));

  00004	e3a02010	 mov         r2, #0x10
  00008	eb000000	 bl          memcmp
  0000c	e3500000	 cmp         r0, #0
  00010	03a00001	 moveq       r0, #1

; 517  : #else
; 518  :     return !_fmemcmp(&guidOne,&guidOther,sizeof(GUID)); }
; 519  : #endif
; 520  : }

  00014	049de004	 ldreq       lr, [sp], #4

; 515  : #ifdef _WIN32
; 516  :     return !memcmp(&guidOne,&guidOther,sizeof(GUID));

  00018	13a00000	 movne       r0, #0

; 517  : #else
; 518  :     return !_fmemcmp(&guidOne,&guidOther,sizeof(GUID)); }
; 519  : #endif
; 520  : }

  0001c	149de004	 ldrne       lr, [sp], #4
  00020	e12fff1e	 bx          lr
  00024		 |$M32401|

			 ENDP  ; |??8@YAHABU_GUID@@0@Z|, operator==

; File d:\wince500\platform\smdk2440\drivers\atapi\atapipm.cpp

  00000			 AREA	 |.text| { |?HexStringToDword@@YAHAAPBGAAKHG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?HexStringToDword@@YAHAAPBGAAKHG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?HexStringToDword@@YAHAAPBGAAKHG@Z| } ; comdat associative
|$T32422| DCD	|$L32421|
	DCD	0x40003301
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?HexStringToDword@@YAHAAPBGAAKHG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?HexStringToDword@@YAHAAPBGAAKHG@Z| PROC ; HexStringToDword

; 18   : {

  00000		 |$L32421|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M32419|
  00004	e1a06003	 mov         r6, r3

; 19   :     int Count;
; 20   :     
; 21   :     Value = 0;

  00008	e3a03000	 mov         r3, #0
  0000c	e5813000	 str         r3, [r1]

; 22   :     for (Count = 0; Count < cDigits; Count++, lpsz++)

  00010	e3a05000	 mov         r5, #0
  00014	e3520000	 cmp         r2, #0
  00018	da00001e	 ble         |$L31941|
  0001c		 |$L31939|

; 23   :     {
; 24   :         if (*lpsz >= '0' && *lpsz <= '9')

  0001c	e590e000	 ldr         lr, [r0]
  00020	e1de40b0	 ldrh        r4, [lr]
  00024	e3540030	 cmp         r4, #0x30
  00028	3a000005	 bcc         |$L31942|
  0002c	e3540039	 cmp         r4, #0x39

; 25   :             Value = (Value << 4) + *lpsz - '0';

  00030	9591e000	 ldrls       lr, [r1]
  00034	9084e20e	 addls       lr, r4, lr, lsl #4
  00038	924ee030	 subls       lr, lr, #0x30
  0003c	9581e000	 strls       lr, [r1]
  00040	9a00000e	 bls         |$L31940|
  00044		 |$L31942|

; 26   :         else if (*lpsz >= 'A' && *lpsz <= 'F')

  00044	e3540041	 cmp         r4, #0x41
  00048	3a000004	 bcc         |$L31944|
  0004c	e3540046	 cmp         r4, #0x46

; 27   :             Value = (Value << 4) + *lpsz - 'A' + 10;

  00050	95913000	 ldrls       r3, [r1]
  00054	90843203	 addls       r3, r4, r3, lsl #4
  00058	92433037	 subls       r3, r3, #0x37
  0005c	9a000006	 bls         |$L32418|
  00060		 |$L31944|

; 28   :         else if (*lpsz >= 'a' && *lpsz <= 'f')

  00060	e3540061	 cmp         r4, #0x61
  00064	3a000015	 bcc         |$L31946|
  00068	e3540066	 cmp         r4, #0x66
  0006c	8a000013	 bhi         |$L31946|

; 29   :             Value = (Value << 4) + *lpsz - 'a' + 10;

  00070	e5913000	 ldr         r3, [r1]
  00074	e0843203	 add         r3, r4, r3, lsl #4
  00078	e2433057	 sub         r3, r3, #0x57
  0007c		 |$L32418|
  0007c	e5813000	 str         r3, [r1]
  00080		 |$L31940|
  00080	e5903000	 ldr         r3, [r0]
  00084	e2855001	 add         r5, r5, #1
  00088	e1550002	 cmp         r5, r2
  0008c	e2833002	 add         r3, r3, #2
  00090	e5803000	 str         r3, [r0]
  00094	baffffe0	 blt         |$L31939|
  00098		 |$L31941|

; 32   :     }
; 33   :     
; 34   :     if (chDelim != 0)

  00098	e1b01006	 movs        r1, r6
  0009c	0a000004	 beq         |$L31948|

; 35   :         return *lpsz++ == chDelim;

  000a0	e5902000	 ldr         r2, [r0]
  000a4	e0d230b2	 ldrh        r3, [r2], #2
  000a8	e1530001	 cmp         r3, r1
  000ac	e5802000	 str         r2, [r0]
  000b0	1a000002	 bne         |$L31946|
  000b4		 |$L31948|

; 36   :     else
; 37   :         return TRUE;

  000b4	e3a00001	 mov         r0, #1

; 38   : }

  000b8	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000bc	e12fff1e	 bx          lr
  000c0		 |$L31946|

; 30   :         else
; 31   :             return(FALSE);

  000c0	e3a00000	 mov         r0, #0

; 38   : }

  000c4	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000c8	e12fff1e	 bx          lr
  000cc		 |$M32420|

			 ENDP  ; |?HexStringToDword@@YAHAAPBGAAKHG@Z|, HexStringToDword


  00000			 AREA	 |.text| { |?wUUIDFromString@@YAHPBGPAU_GUID@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?wUUIDFromString@@YAHPBGPAU_GUID@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?wUUIDFromString@@YAHPBGPAU_GUID@@@Z| } ; comdat associative
|$T32433| DCD	|$L32432|
	DCD	0x40006b04
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?wUUIDFromString@@YAHPBGPAU_GUID@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?wUUIDFromString@@YAHPBGPAU_GUID@@@Z| PROC ; wUUIDFromString

; 43   : {

  00000		 |$L32432|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d000f	 stmdb       sp!, {r0 - r3}
  00008	e92d5010	 stmdb       sp!, {r4, r12, lr}
  0000c	e24dd004	 sub         sp, sp, #4
  00010		 |$M32430|
  00010	e1a04001	 mov         r4, r1

; 44   :     DWORD dw;
; 45   :     
; 46   :     if (!HexStringToDword(lpsz, pguid->Data1, sizeof(DWORD)*2, '-'))

  00014	e3a0302d	 mov         r3, #0x2D
  00018	e3a02008	 mov         r2, #8
  0001c	e28d0010	 add         r0, sp, #0x10
  00020	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  00024	e3500000	 cmp         r0, #0

; 47   :         return FALSE;

  00028	0a000057	 beq         |$L32429|

; 48   :     
; 49   :     if (!HexStringToDword(lpsz, dw, sizeof(WORD)*2, '-'))

  0002c	e3a0302d	 mov         r3, #0x2D
  00030	e3a02004	 mov         r2, #4
  00034	e28d1000	 add         r1, sp, #0
  00038	e28d0010	 add         r0, sp, #0x10
  0003c	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  00040	e3500000	 cmp         r0, #0

; 50   :         return FALSE;

  00044	0a000050	 beq         |$L32429|

; 51   :     
; 52   :     pguid->Data2 = (WORD)dw;

  00048	e59d1000	 ldr         r1, [sp]

; 53   :     
; 54   :     if (!HexStringToDword(lpsz, dw, sizeof(WORD)*2, '-'))

  0004c	e3a0302d	 mov         r3, #0x2D
  00050	e3a02004	 mov         r2, #4
  00054	e1c410b4	 strh        r1, [r4, #4]
  00058	e28d1000	 add         r1, sp, #0
  0005c	e28d0010	 add         r0, sp, #0x10
  00060	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  00064	e3500000	 cmp         r0, #0

; 55   :         return FALSE;

  00068	0a000047	 beq         |$L32429|

; 56   :     
; 57   :     pguid->Data3 = (WORD)dw;

  0006c	e59d1000	 ldr         r1, [sp]

; 58   :     
; 59   :     if (!HexStringToDword(lpsz, dw, sizeof(BYTE)*2, 0))

  00070	e3a03000	 mov         r3, #0
  00074	e3a02002	 mov         r2, #2
  00078	e1c410b6	 strh        r1, [r4, #6]
  0007c	e28d1000	 add         r1, sp, #0
  00080	e28d0010	 add         r0, sp, #0x10
  00084	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  00088	e3500000	 cmp         r0, #0

; 60   :         return FALSE;

  0008c	0a00003e	 beq         |$L32429|

; 61   :     
; 62   :     pguid->Data4[0] = (BYTE)dw;

  00090	e59d1000	 ldr         r1, [sp]

; 63   :     
; 64   :     if (!HexStringToDword(lpsz, dw, sizeof(BYTE)*2, '-'))

  00094	e3a0302d	 mov         r3, #0x2D
  00098	e3a02002	 mov         r2, #2
  0009c	e5c41008	 strb        r1, [r4, #8]
  000a0	e28d1000	 add         r1, sp, #0
  000a4	e28d0010	 add         r0, sp, #0x10
  000a8	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  000ac	e3500000	 cmp         r0, #0

; 65   :         return FALSE;

  000b0	0a000035	 beq         |$L32429|

; 66   :     
; 67   :     pguid->Data4[1] = (BYTE)dw;

  000b4	e59d1000	 ldr         r1, [sp]

; 68   :     
; 69   :     if (!HexStringToDword(lpsz, dw, sizeof(BYTE)*2, 0))

  000b8	e3a03000	 mov         r3, #0
  000bc	e3a02002	 mov         r2, #2
  000c0	e5c41009	 strb        r1, [r4, #9]
  000c4	e28d1000	 add         r1, sp, #0
  000c8	e28d0010	 add         r0, sp, #0x10
  000cc	eb000000	 bl          |?HexStringToDword@@YAHAAPBGAAKHG@Z|
  000d0	e3500000	 cmp         r0, #0

; 70   :         return FALSE;

  000d4	0a00002c	 beq         |$L32429|

; 71   :     
; 72   :     pguid->Data4[2] = (BYTE)dw;

  000d8	e59d1000	 ldr         r1, [sp]

; 73   :     
; 74   :     if (!HexStringToDword(lpsz, dw, sizeof(BYTE)*2, 0))

⌨️ 快捷键说明

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