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

📄 basei2s.cod

📁 CS4245 Wince驱动
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00004	e1a04000	 mov         r4, r0

; 618  : 	//set the register to default value
; 619  : 	if(CTRUE!=CodecWriteRegister(0x07,0x00)){return CFALSE;}

  00008	e3a02000	 mov         r2, #0
  0000c	e3a01007	 mov         r1, #7
  00010	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  00014	e3500001	 cmp         r0, #1
  00018	1a00001d	 bne         |$L37342|

; 620  : 	if(CTRUE!=CodecWriteRegister(0x08,0x00)){return CFALSE;}

  0001c	e3a02000	 mov         r2, #0
  00020	e3a01008	 mov         r1, #8
  00024	e1a00004	 mov         r0, r4
  00028	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  0002c	e3500001	 cmp         r0, #1
  00030	1a000017	 bne         |$L37342|

; 621  : 	if(CTRUE!=CodecWriteRegister(0x09,0x19)){return CFALSE;}

  00034	e3a02019	 mov         r2, #0x19
  00038	e3a01009	 mov         r1, #9
  0003c	e1a00004	 mov         r0, r4
  00040	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  00044	e3500001	 cmp         r0, #1
  00048	1a000011	 bne         |$L37342|

; 622  :   if(CTRUE!=CodecWriteRegister(0x0A,0x00)){return CFALSE;}

  0004c	e3a02000	 mov         r2, #0
  00050	e3a0100a	 mov         r1, #0xA
  00054	e1a00004	 mov         r0, r4
  00058	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  0005c	e3500001	 cmp         r0, #1
  00060	1a00000b	 bne         |$L37342|

; 623  :   if(CTRUE!=CodecWriteRegister(0x0B,0x00)){return CFALSE;}

  00064	e3a02000	 mov         r2, #0
  00068	e3a0100b	 mov         r1, #0xB
  0006c	e1a00004	 mov         r0, r4
  00070	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  00074	e3500001	 cmp         r0, #1
  00078	1a000005	 bne         |$L37342|

; 624  :   if(CTRUE!=CodecWriteRegister(0x0C,0xC0)){return CFALSE;}

  0007c	e3a020c0	 mov         r2, #0xC0
  00080	e3a0100c	 mov         r1, #0xC
  00084	e1a00004	 mov         r0, r4
  00088	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|
  0008c	e3500001	 cmp         r0, #1
  00090	0a000002	 beq         |$L36328|
  00094		 |$L37342|
  00094	e3a00000	 mov         r0, #0

; 627  : 
; 628  : }

  00098	e8bd4010	 ldmia       sp!, {r4, lr}
  0009c	e12fff1e	 bx          lr
  000a0		 |$L36328|

; 625  :   
; 626  : 	return TRUE;

  000a0	e3a00001	 mov         r0, #1

; 627  : 
; 628  : }

  000a4	e8bd4010	 ldmia       sp!, {r4, lr}
  000a8	e12fff1e	 bx          lr
  000ac		 |$M37344|

			 ENDP  ; |?CodecReset@BASEI2S@@QAAHXZ|, BASEI2S::CodecReset

	EXPORT	|?CodecDeInit@BASEI2S@@QAAHXZ|		; BASEI2S::CodecDeInit
	IMPORT	|KernelIoControl|
	IMPORT	|DeleteCriticalSection|
	IMPORT	|CloseHandle|

  00000			 AREA	 |.text| { |?CodecDeInit@BASEI2S@@QAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?CodecDeInit@BASEI2S@@QAAHXZ|, PDATA, SELECTION=5, ASSOC=|.text| { |?CodecDeInit@BASEI2S@@QAAHXZ| } ; comdat associative
|$T37359| DCD	|$L37358|
	DCD	0x40001502
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?CodecDeInit@BASEI2S@@QAAHXZ| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?CodecDeInit@BASEI2S@@QAAHXZ| PROC	; BASEI2S::CodecDeInit

; 643  : {

  00000		 |$L37358|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004	e24dd008	 sub         sp, sp, #8
  00008		 |$M37356|
  00008	e1a04000	 mov         r4, r0

; 644  : 	UnmapRegisters();
; 645  : 
; 646  : 	CloseHandle( m_hI2SInterrupt );

  0000c	e5940080	 ldr         r0, [r4, #0x80]
  00010	eb000000	 bl          CloseHandle

; 647  : 
; 648  : 	DeleteCriticalSection( &m_csMutex );

  00014	e284006c	 add         r0, r4, #0x6C
  00018	eb000000	 bl          DeleteCriticalSection

; 649  : 
; 650  : 	KernelIoControl(IOCTL_HAL_RELEASE_SYSINTR,
; 651  : 							&m_dwSysintr, sizeof(UINT32),
; 652  : 							&m_dwSysintr, sizeof(UINT32), NULL);

  0001c	e59f002c	 ldr         r0, [pc, #0x2C]
  00020	e3a0e000	 mov         lr, #0
  00024	e3a05004	 mov         r5, #4
  00028	e2843084	 add         r3, r4, #0x84
  0002c	e2841084	 add         r1, r4, #0x84
  00030	e3a02004	 mov         r2, #4
  00034	e58de004	 str         lr, [sp, #4]
  00038	e58d5000	 str         r5, [sp]
  0003c	eb000000	 bl          KernelIoControl

; 653  : 	return TRUE;

  00040	e3a00001	 mov         r0, #1

; 654  : 
; 655  : }

  00044	e28dd008	 add         sp, sp, #8
  00048	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  0004c	e12fff1e	 bx          lr
  00050		 |$L37361|
  00050	010100d8	 DCD         0x10100d8
  00054		 |$M37357|

			 ENDP  ; |?CodecDeInit@BASEI2S@@QAAHXZ|, BASEI2S::CodecDeInit

	EXPORT	|?SetInVolume@BASEI2S@@QAAHGGG@Z|	; BASEI2S::SetInVolume
	EXPORT	|??_C@_1EO@OOPFBNPL@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| [ DATA ] ; `string'
	EXPORT	|??_C@_1FO@EIAIHIOP@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| [ DATA ] ; `string'

  00000			 AREA	 |.text| { |?SetInVolume@BASEI2S@@QAAHGGG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?SetInVolume@BASEI2S@@QAAHGGG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetInVolume@BASEI2S@@QAAHGGG@Z| } ; comdat associative
|$T37380| DCD	|$L37379|
	DCD	0x40004401

  00000			 AREA	 |.rdata| { |??_C@_1FO@EIAIHIOP@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FO@EIAIHIOP@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| DCB "N"
	DCB	0x0, "o", 0x0, "t", 0x0, " ", 0x0, "s", 0x0, "u", 0x0, "p"
	DCB	0x0, "p", 0x0, "o", 0x0, "r", 0x0, "t", 0x0, "e", 0x0, "d"
	DCB	0x0, " ", 0x0, "I", 0x0, "n", 0x0, "p", 0x0, "u", 0x0, "t"
	DCB	0x0, " ", 0x0, "I", 0x0, "O", 0x0, "C", 0x0, "T", 0x0, "L"
	DCB	0x0, "_", 0x0, "I", 0x0, "2", 0x0, "S", 0x0, "_", 0x0, "V"
	DCB	0x0, "o", 0x0, "l", 0x0, "C", 0x0, "h", 0x0, "a", 0x0, "n"
	DCB	0x0, "n", 0x0, "e", 0x0, "l", 0x0, ":", 0x0, " ", 0x0, "%"
	DCB	0x0, "x", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1EO@OOPFBNPL@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EO@OOPFBNPL@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@| DCB "N"
	DCB	0x0, "o", 0x0, "t", 0x0, " ", 0x0, "s", 0x0, "u", 0x0, "p"
	DCB	0x0, "p", 0x0, "o", 0x0, "r", 0x0, "t", 0x0, "e", 0x0, "d"
	DCB	0x0, " ", 0x0, "I", 0x0, "n", 0x0, "p", 0x0, "u", 0x0, "t"
	DCB	0x0, " ", 0x0, "I", 0x0, "O", 0x0, "C", 0x0, "T", 0x0, "L"
	DCB	0x0, "_", 0x0, "I", 0x0, "2", 0x0, "S", 0x0, "_", 0x0, "*"
	DCB	0x0, " ", 0x0, ":", 0x0, " ", 0x0, "%", 0x0, "x", 0x0, 0xd
	DCB	0x0, 0xa, 0x0, 0x0, 0x0			; `string'
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?SetInVolume@BASEI2S@@QAAHGGG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?SetInVolume@BASEI2S@@QAAHGGG@Z| PROC	; BASEI2S::SetInVolume

; 683  : {

  00000		 |$L37379|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004		 |$M37377|
  00004	e1a05003	 mov         r5, r3
  00008	e1a06002	 mov         r6, r2
  0000c	e1a04000	 mov         r4, r0

; 684  : 		/*
; 685  : 	U16 *status;
; 686  : 	CodecReadRegister(0x0D,status);
; 687  :   if(status!=NULL)return FALSE;
; 688  :   else{}
; 689  :   */
; 690  : 
; 691  : 	//switch VolServiceCode
; 692  : 	switch(VolServiceCode)

  00010	e59fe0f4	 ldr         lr, [pc, #0xF4]
  00014	e151000e	 cmp         r1, lr
  00018	0a000019	 beq         |$L36344|
  0001c	e59fe0e4	 ldr         lr, [pc, #0xE4]
  00020	e151000e	 cmp         r1, lr
  00024	0a000014	 beq         |$L36345|
  00028	e59fe0d4	 ldr         lr, [pc, #0xD4]
  0002c	e151000e	 cmp         r1, lr
  00030	0a00000f	 beq         |$L36346|
  00034	e59fe0c4	 ldr         lr, [pc, #0xC4]
  00038	e151000e	 cmp         r1, lr
  0003c	0a00000a	 beq         |$L36347|
  00040	e59fe0b4	 ldr         lr, [pc, #0xB4]
  00044	e151000e	 cmp         r1, lr
  00048	0a000005	 beq         |$L36348|
  0004c	e59f30a4	 ldr         r3, [pc, #0xA4]
  00050	e1510003	 cmp         r1, r3

; 700  : 	default:
; 701  : 		RETAILMSG(1, (TEXT("Not supported Input IOCTL_I2S_* : %x\r\n"), VolServiceCode));

  00054	159f0098	 ldrne       r0, [pc, #0x98]
  00058	1a000015	 bne         |$L37376|

; 699  : 	case IOCTL_I2S_IPOD:	CodecWriteRegister(0x09,0x1E); break;

  0005c	e3a0201e	 mov         r2, #0x1E
  00060	ea000008	 b           |$L37374|
  00064		 |$L36348|

; 698  : 	case IOCTL_I2S_MEDIA:	CodecWriteRegister(0x09,0x1D);break;

  00064	e3a0201d	 mov         r2, #0x1D
  00068	ea000006	 b           |$L37374|
  0006c		 |$L36347|

; 697  : 	case IOCTL_I2S_AUX:	CodecWriteRegister(0x09,0x1C); break;

  0006c	e3a0201c	 mov         r2, #0x1C
  00070	ea000004	 b           |$L37374|
  00074		 |$L36346|

; 696  :   case IOCTL_I2S_FM:  CodecWriteRegister(0x09,0x1B); break;

  00074	e3a0201b	 mov         r2, #0x1B
  00078	ea000002	 b           |$L37374|
  0007c		 |$L36345|

; 695  :   case IOCTL_I2S_TV:	CodecWriteRegister(0x09,0x1A); break;

  0007c	e3a0201a	 mov         r2, #0x1A
  00080	ea000000	 b           |$L37374|
  00084		 |$L36344|

; 693  : 	{
; 694  : 	case IOCTL_I2S_BT:	CodecWriteRegister(0x09,0x19); break;

  00084	e3a02019	 mov         r2, #0x19
  00088		 |$L37374|
  00088	e3a01009	 mov         r1, #9
  0008c	e1a00004	 mov         r0, r4
  00090	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|

; 702  : 		return FALSE;
; 703  : 	}
; 704  : 	
; 705  : 	
; 706  : 	//switch VolChannel and VolLevel
; 707  :  //Channel B	Right
; 708  : 	//Channel A	Left
; 709  :   switch(VolChannel)

  00094	e59f3054	 ldr         r3, [pc, #0x54]
  00098	e1550003	 cmp         r5, r3
  0009c	0a00000a	 beq         |$L36356|
  000a0	e59f3044	 ldr         r3, [pc, #0x44]
  000a4	e1550003	 cmp         r5, r3
  000a8	0a000005	 beq         |$L36357|

; 713  : 	default:
; 714  : 		RETAILMSG(1, (TEXT("Not supported Input IOCTL_I2S_VolChannel: %x\r\n"),VolChannel));

  000ac	e59f0034	 ldr         r0, [pc, #0x34]
  000b0	e1a01005	 mov         r1, r5
  000b4		 |$L37376|
  000b4	eb000000	 bl          NKDbgPrintfW

; 715  : 		return FALSE;

  000b8	e3a00000	 mov         r0, #0

; 719  : }

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

; 712  : 	case IOCTL_I2S_ADCHB:CodecWriteRegister(0x07,VolLevel); break;

  000c4	e3a01007	 mov         r1, #7
  000c8	ea000000	 b           |$L37375|
  000cc		 |$L36356|

; 710  :   {
; 711  : 	case IOCTL_I2S_ADCHA:CodecWriteRegister(0x08,VolLevel); break;

  000cc	e3a01008	 mov         r1, #8
  000d0		 |$L37375|
  000d0	e20620ff	 and         r2, r6, #0xFF
  000d4	e1a00004	 mov         r0, r4
  000d8	eb000000	 bl          |?CodecWriteRegister@BASEI2S@@IAAHEE@Z|

; 716  : 	}
; 717  : 	
; 718  : return 1;

  000dc	e3a00001	 mov         r0, #1

; 719  : }

  000e0	e8bd4070	 ldmia       sp!, {r4 - r6, lr}
  000e4	e12fff1e	 bx          lr
  000e8		 |$L37382|
  000e8	00000000	 DCD         |??_C@_1FO@EIAIHIOP@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@|
  000ec	f000206c	 DCD         0xf000206c
  000f0	f0002068	 DCD         0xf0002068
  000f4	00000000	 DCD         |??_C@_1EO@OOPFBNPL@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAI?$AAn?$AAp?$AAu?$AAt?$AA?5@|
  000f8	f0002064	 DCD         0xf0002064
  000fc	f0002060	 DCD         0xf0002060
  00100	f000205c	 DCD         0xf000205c
  00104	f0002058	 DCD         0xf0002058
  00108	f0002054	 DCD         0xf0002054
  0010c	f0002050	 DCD         0xf0002050
  00110		 |$M37378|

			 ENDP  ; |?SetInVolume@BASEI2S@@QAAHGGG@Z|, BASEI2S::SetInVolume

	EXPORT	|?SetOutVolume@BASEI2S@@QAAHGG@Z|	; BASEI2S::SetOutVolume
	EXPORT	|??_C@_1FC@ELHHECKJ@?$AA?$CL?$AA?$CL?$AA?$CL?$AA?5?$AAS?$AAe?$AAt?$AAO?$AAu?$AAt?$AAV?$AAo?$AAl?$AAu?$AAm?$AAe?$AA?5?$AAV?$AAo?$AAl@| [ DATA ] ; `string'
	EXPORT	|??_C@_1GA@MBDIIGIN@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AAr?$AAt?$AAe?$AAd?$AA?5?$AAO?$AAu?$AAt?$AAp?$AAu?$AAt@| [ DATA ] ; `string'

  00000			 AREA	 |.text| { |?SetOutVolume@BASEI2S@@QAAHGG@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?SetOutVolume@BASEI2S@@QAAHGG@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?SetOutVolume@BASEI2S@@QAAHGG@Z| } ; comdat associative
|$T37398| DCD	|$L37397|
	DCD	0x40002301

  00000			 AREA	 |.rdata| { |??_C@_1GA@MBDIIGIN@?$AAN?$AAo?$AAt?$AA?5?$AAs?$AAu?$AAp?$AAp?$AAo?$AA

⌨️ 快捷键说明

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