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

📄 msgout.cod

📁 对触摸屏的接口函数(DDI DDSI)以及调用关系作了详细介绍 可作为出次接触Touch Driver的开发人员研究Touch的一个很好的起点
💻 COD
📖 第 1 页 / 共 3 页
字号:
  00000			 AREA	 |.pdata$$ForceFlushBufferToFile|, PDATA, SELECTION=5, ASSOC=|.text| { |ForceFlushBufferToFile| } ; comdat associative
|$T37581| DCD	|$L37580|
	DCD	0x40000401
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |ForceFlushBufferToFile| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |ForceFlushBufferToFile| PROC

; 224  : {

  00000		 |$L37580|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M37578|

; 225  : 	WriteDbgMsgBufferToFile() ;

  00004	eb000000	 bl          WriteDbgMsgBufferToFile

; 226  : }

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

			 ENDP  ; |ForceFlushBufferToFile|

	EXPORT	|WriteHexToBuffer|
	EXPORT	|??_C@_0CA@FEMNCLGD@?$CF04d?9?$CF02d?9?$CF02d?5?$CF02d?3?$CF02d?3?$CF02d?3?5?$AA@| [ DATA ] ; `string'
	EXPORT	|??_C@_05OJLLOHMB@hex?3?5?$AA@| [ DATA ] ; `string'
	IMPORT	|free|
	IMPORT	|malloc|
	IMPORT	|sprintf|
	IMPORT	|memset|
	IMPORT	|strlen|

  00000			 AREA	 |.text| { |WriteHexToBuffer| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$WriteHexToBuffer|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteHexToBuffer| } ; comdat associative
|$T37597| DCD	|$L37596|
	DCD	0x40004e02

  00000			 AREA	 |.rdata| { |??_C@_05OJLLOHMB@hex?3?5?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_05OJLLOHMB@hex?3?5?$AA@| DCB "hex: ", 0x0	; `string'

  00000			 AREA	 |.rdata| { |??_C@_0CA@FEMNCLGD@?$CF04d?9?$CF02d?9?$CF02d?5?$CF02d?3?$CF02d?3?$CF02d?3?5?$AA@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_0CA@FEMNCLGD@?$CF04d?9?$CF02d?9?$CF02d?5?$CF02d?3?$CF02d?3?$CF02d?3?5?$AA@| DCB "%"
	DCB	"04d-%02d-%02d %02d:%02d:%02d: ", 0x0	; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |WriteHexToBuffer| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |WriteHexToBuffer| PROC

; 121  : {

  00000		 |$L37596|
  00000	e92d47f0	 stmdb       sp!, {r4 - r10, lr}
  00004	e24dd088	 sub         sp, sp, #0x88
  00008		 |$M37594|
  00008	e1a08001	 mov         r8, r1
  0000c	e1a09000	 mov         r9, r0
  00010	e59f311c	 ldr         r3, [pc, #0x11C]
  00014	e5933000	 ldr         r3, [r3]
  00018	e58d3084	 str         r3, [sp, #0x84]

; 122  : 	char *cNewBuffer = (BYTE *) malloc(5 + nLength * 3 + 2) ;

  0001c	e088a088	 add         r10, r8, r8, lsl #1
  00020	e28a0007	 add         r0, r10, #7
  00024	eb000000	 bl          malloc
  00028	e1a07000	 mov         r7, r0

; 123  : 	char cTime[100] = {0} ;

  0002c	e3a03000	 mov         r3, #0
  00030	e28d0021	 add         r0, sp, #0x21
  00034	e3a02063	 mov         r2, #0x63
  00038	e3a01000	 mov         r1, #0
  0003c	e5cd3020	 strb        r3, [sp, #0x20]
  00040	eb000000	 bl          memset

; 124  : 	SYSTEMTIME st ;
; 125  : 	int i ;
; 126  : 
; 127  : 	if ( g_bEnableAddTime )

  00044	e59f30e4	 ldr         r3, [pc, #0xE4]
  00048	e5933000	 ldr         r3, [r3]
  0004c	e3530000	 cmp         r3, #0
  00050	0a000013	 beq         |$L37387|

; 128  : 	{
; 129  : 		GetLocalTime(&st) ;

  00054	e28d0010	 add         r0, sp, #0x10
  00058	eb000000	 bl          GetLocalTime

; 130  : 
; 131  : 		sprintf(cTime, "%04d-%02d-%02d %02d:%02d:%02d: ",
; 132  : 			st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond) ;

  0005c	e1dde1bc	 ldrh        lr, [sp, #0x1C]
  00060	e1dd41ba	 ldrh        r4, [sp, #0x1A]
  00064	e1dd51b8	 ldrh        r5, [sp, #0x18]
  00068	e1dd61b6	 ldrh        r6, [sp, #0x16]
  0006c	e1dd31b2	 ldrh        r3, [sp, #0x12]
  00070	e1dd21b0	 ldrh        r2, [sp, #0x10]
  00074	e59f10b0	 ldr         r1, [pc, #0xB0]
  00078	e28d0020	 add         r0, sp, #0x20
  0007c	e58de00c	 str         lr, [sp, #0xC]
  00080	e58d4008	 str         r4, [sp, #8]
  00084	e58d5004	 str         r5, [sp, #4]
  00088	e58d6000	 str         r6, [sp]
  0008c	eb000000	 bl          sprintf

; 133  : 
; 134  : 		WriteBufferToBuffer(cTime, strlen(cTime)) ;

  00090	e28d0020	 add         r0, sp, #0x20
  00094	eb000000	 bl          strlen
  00098	e1a01000	 mov         r1, r0
  0009c	e28d0020	 add         r0, sp, #0x20
  000a0	eb000000	 bl          WriteBufferToBuffer
  000a4		 |$L37387|

; 135  : 	}
; 136  : 	
; 137  : 	strcpy(cNewBuffer, "hex: ") ;

  000a4	e59f107c	 ldr         r1, [pc, #0x7C]
  000a8	e3a02006	 mov         r2, #6
  000ac	e1a00007	 mov         r0, r7
  000b0	eb000000	 bl          memcpy

; 138  : 	for ( i = 0 ; i < nLength ; i++ )

  000b4	e3a04000	 mov         r4, #0
  000b8	e3580000	 cmp         r8, #0
  000bc	da000009	 ble         |$L37392|
  000c0	e1a05007	 mov         r5, r7
  000c4	e3a06020	 mov         r6, #0x20
  000c8		 |$L37390|

; 139  : 	{
; 140  : 		ByteToHex(pBuffer[i], cNewBuffer+5+i*3) ;

  000c8	e7d40009	 ldrb        r0, [r4, +r9]
  000cc	e2851005	 add         r1, r5, #5
  000d0	eb000000	 bl          ByteToHex
  000d4	e2844001	 add         r4, r4, #1

; 141  : 
; 142  : 		*(cNewBuffer+5+i*3+2) = ' ' ;

  000d8	e5c56007	 strb        r6, [r5, #7]
  000dc	e1540008	 cmp         r4, r8
  000e0	e2855003	 add         r5, r5, #3
  000e4	bafffff7	 blt         |$L37390|
  000e8		 |$L37392|

; 143  : 	}
; 144  : 
; 145  : 	*(cNewBuffer+5+i*3) = '\r' ;

  000e8	e0843084	 add         r3, r4, r4, lsl #1
  000ec	e0833007	 add         r3, r3, r7

; 146  : 	*(cNewBuffer+5+i*3+1) = '\n' ;

  000f0	e3a0100a	 mov         r1, #0xA
  000f4	e5c31006	 strb        r1, [r3, #6]
  000f8	e3a0200d	 mov         r2, #0xD

; 147  : 
; 148  : 	WriteBufferToBuffer(cNewBuffer, 5+nLength*3+2) ;

  000fc	e28a1007	 add         r1, r10, #7
  00100	e1a00007	 mov         r0, r7
  00104	e5c32005	 strb        r2, [r3, #5]
  00108	eb000000	 bl          WriteBufferToBuffer

; 149  : 
; 150  : 	free(cNewBuffer) ;

  0010c	e1a00007	 mov         r0, r7
  00110	eb000000	 bl          free
  00114	e59d0084	 ldr         r0, [sp, #0x84]
  00118	eb000000	 bl          __security_check_cookie

; 151  : }

  0011c	e28dd088	 add         sp, sp, #0x88
  00120	e8bd47f0	 ldmia       sp!, {r4 - r10, lr}
  00124	e12fff1e	 bx          lr
  00128		 |$L37599|
  00128	00000000	 DCD         |??_C@_05OJLLOHMB@hex?3?5?$AA@|
  0012c	00000000	 DCD         |??_C@_0CA@FEMNCLGD@?$CF04d?9?$CF02d?9?$CF02d?5?$CF02d?3?$CF02d?3?$CF02d?3?5?$AA@|
  00130	00000000	 DCD         |g_bEnableAddTime|
  00134	00000000	 DCD         |__security_cookie|
  00138		 |$M37595|

			 ENDP  ; |WriteHexToBuffer|

	EXPORT	|WriteDbgMsgToBuffer|
	EXPORT	|??_C@_1EA@LHECOMAC@?$AA?$CF?$AA0?$AA4?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2?$AAd?$AA?3@| [ DATA ] ; `string'
	IMPORT	|vswprintf|
	IMPORT	|WideCharToMultiByte|
	IMPORT	|wcslen|

  00000			 AREA	 |.text| { |WriteDbgMsgToBuffer| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$WriteDbgMsgToBuffer|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteDbgMsgToBuffer| } ; comdat associative
|$T37610| DCD	|$L37609|
	DCD	0x40004905

  00000			 AREA	 |.rdata| { |??_C@_1EA@LHECOMAC@?$AA?$CF?$AA0?$AA4?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2?$AAd?$AA?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EA@LHECOMAC@?$AA?$CF?$AA0?$AA4?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2?$AAd?$AA?3@| DCB "%"
	DCB	0x0, "0", 0x0, "4", 0x0, "d", 0x0, "-", 0x0, "%", 0x0, "0"
	DCB	0x0, "2", 0x0, "d", 0x0, "-", 0x0, "%", 0x0, "0", 0x0, "2"
	DCB	0x0, "d", 0x0, " ", 0x0, "%", 0x0, "0", 0x0, "2", 0x0, "d"
	DCB	0x0, ":", 0x0, "%", 0x0, "0", 0x0, "2", 0x0, "d", 0x0, ":"
	DCB	0x0, "%", 0x0, "0", 0x0, "2", 0x0, "d", 0x0, ":", 0x0, " "
	DCB	0x0, 0x0, 0x0				; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |WriteDbgMsgToBuffer| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |WriteDbgMsgToBuffer| PROC

; 154  : {

  00000		 |$L37609|
  00000	e1a0c00d	 mov         r12, sp
  00004	e92d000f	 stmdb       sp!, {r0 - r3}
  00008	e92d5030	 stmdb       sp!, {r4, r5, r12, lr}
  0000c	e59fc10c	 ldr         r12, [pc, #0x10C]
  00010	e08dd00c	 add         sp, sp, r12
  00014		 |$M37607|
  00014	e58d0834	 str         r0, [sp, #0x834]
  00018	e59f30fc	 ldr         r3, [pc, #0xFC]
  0001c	e5933000	 ldr         r3, [r3]
  00020	e58d3820	 str         r3, [sp, #0x820]

; 155  : 	TCHAR	szBuffer[512];
; 156  : 	char	cBuffer[1024] ;
; 157  : 	
; 158  : 	va_list     vl;
; 159  : 	int			nLength ;
; 160  : 	SYSTEMTIME	st ;
; 161  : 
; 162  : 	g_nMsgNumber ++ ;

  00024	e59fe0ec	 ldr         lr, [pc, #0xEC]

; 163  : 
; 164  : 	va_start(vl, szFormat);
; 165  : 
; 166  : 	if ( g_bEnableAddTime )

  00028	e59f30e4	 ldr         r3, [pc, #0xE4]
  0002c	e59e2000	 ldr         r2, [lr]
  00030	e5931000	 ldr         r1, [r3]
  00034	e2823001	 add         r3, r2, #1
  00038	e58e3000	 str         r3, [lr]
  0003c	e3510000	 cmp         r1, #0
  00040	0a000014	 beq         |$L37404|

; 167  : 	{
; 168  : 		GetLocalTime(&st) ;

  00044	e28d0010	 add         r0, sp, #0x10
  00048	eb000000	 bl          GetLocalTime

; 169  : 	
; 170  : 		wsprintf(szBuffer, TEXT("%04d-%02d-%02d %02d:%02d:%02d: "),
; 171  : 			st.wYear, st.wMonth, st.wDay, st.wHour, st.wMinute, st.wSecond) ;

  0004c	e1dd01bc	 ldrh        r0, [sp, #0x1C]
  00050	e1dde1ba	 ldrh        lr, [sp, #0x1A]
  00054	e1dd41b8	 ldrh        r4, [sp, #0x18]
  00058	e1dd51b6	 ldrh        r5, [sp, #0x16]
  0005c	e1dd31b2	 ldrh        r3, [sp, #0x12]
  00060	e1dd21b0	 ldrh        r2, [sp, #0x10]
  00064	e59f10a4	 ldr         r1, [pc, #0xA4]
  00068	e58d000c	 str         r0, [sp, #0xC]
  0006c	e28d0020	 add         r0, sp, #0x20
  00070	e58de008	 str         lr, [sp, #8]
  00074	e58d4004	 str         r4, [sp, #4]
  00078	e58d5000	 str         r5, [sp]
  0007c	eb000000	 bl          wsprintfW

; 172  : 			
; 173  : 		_vstprintf(szBuffer+_tcslen(szBuffer), szFormat, vl) ;

  00080	e28d0020	 add         r0, sp, #0x20
  00084	eb000000	 bl          wcslen
  00088	e28d3020	 add         r3, sp, #0x20
  0008c	e59d1834	 ldr         r1, [sp, #0x834]
  00090	e0830080	 add         r0, r3, r0, lsl #1

; 174  : 	}
; 175  : 	else

  00094	ea000001	 b           |$L37606|
  00098		 |$L37404|

; 176  : 	{
; 177  : 		_vstprintf(szBuffer, szFormat, vl) ;

  00098	e1a01000	 mov         r1, r0
  0009c	e28d0020	 add         r0, sp, #0x20
  000a0		 |$L37606|
  000a0	e3a02e83	 mov         r2, #0x83, 28
  000a4	e3822008	 orr         r2, r2, #8
  000a8	e08d2002	 add         r2, sp, r2
  000ac	eb000000	 bl          vswprintf

; 178  : 	}
; 179  : 
; 180  : 	va_end(vl);
; 181  : 	
; 182  : #ifdef _UNICODE
; 183  : 	WideCharToMultiByte(CP_ACP, 0, szBuffer, -1, cBuffer, 1024, NULL, NULL) ;

  000b0	e3a02b01	 mov         r2, #1, 22
  000b4	e28d3e42	 add         r3, sp, #0x42, 28
  000b8	e58d2004	 str         r2, [sp, #4]
  000bc	e58d3000	 str         r3, [sp]
  000c0	e3a0e000	 mov         lr, #0
  000c4	e3e03000	 mvn         r3, #0
  000c8	e28d2020	 add         r2, sp, #0x20
  000cc	e3a01000	 mov         r1, #0
  000d0	e3a00000	 mov         r0, #0
  000d4	e58de00c	 str         lr, [sp, #0xC]
  000d8	e58de008	 str         lr, [sp, #8]
  000dc	eb000000	 bl          WideCharToMultiByte

; 184  : #else
; 185  : 	strcpy(cBuffer, szBuffer) ;
; 186  : #endif
; 187  : 
; 188  : 	nLength = strlen(cBuffer) ;

  000e0	e28d0e42	 add         r0, sp, #0x42, 28
  000e4	eb000000	 bl          strlen
  000e8	e1a01000	 mov         r1, r0

; 189  : 
; 190  : 	WriteBufferToBuffer((BYTE *)cBuffer, nLength) ;

  000ec	e28d0e42	 add         r0, sp, #0x42, 28
  000f0	eb000000	 bl          WriteBufferToBuffer
  000f4	e59d0820	 ldr         r0, [sp, #0x820]
  000f8	eb000000	 bl          __security_check_cookie

; 191  : }

  000fc	e3a0ce82	 mov         r12, #0x82, 28
  00100	e38cc004	 orr         r12, r12, #4
  00104	e08dd00c	 add         sp, sp, r12
  00108	e89d6030	 ldmia       sp, {r4, r5, sp, lr}
  0010c	e12fff1e	 bx          lr
  00110		 |$L37612|
  00110	00000000	 DCD         |??_C@_1EA@LHECOMAC@?$AA?$CF?$AA0?$AA4?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?9?$AA?$CF?$AA0?$AA2?$AAd?$AA?5?$AA?$CF?$AA0?$AA2?$AAd?$AA?3@|
  00114	00000000	 DCD         |g_bEnableAddTime|
  00118	00000000	 DCD         |g_nMsgNumber|
  0011c	00000000	 DCD         |__security_cookie|
  00120	fffff7dc	 DCD         0xfffff7dc
  00124		 |$M37608|

			 ENDP  ; |WriteDbgMsgToBuffer|

	END

⌨️ 快捷键说明

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