📄 aclink.cod
字号:
; 253 :
; 254 : g_IsAC97Configured = FALSE;
00044 e3a01000 mov r1, #0
00048 e5823000 str r3, [r2]
0004c e5841020 str r1, [r4, #0x20]
00050 |$L39991|
; 255 :
; 256 : return(TRUE);
00050 e3a00001 mov r0, #1
; 257 : }
00054 e8bd4010 ldmia sp!, {r4, lr}
00058 e12fff1e bx lr
0005c |$L39997|
0005c 00000000 DCD |g_AC97CtxStruct|
00060 |$M39993|
ENDP ; |UnConfigureAC97Control|
EXPORT |GetAC97Lock|
IMPORT |WaitForSingleObject|
00000 AREA |.text| { |GetAC97Lock| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$GetAC97Lock|, PDATA, SELECTION=5, ASSOC=|.text| { |GetAC97Lock| } ; comdat associative
|$T40005| DCD |$L40004|
DCD 0x40000d01
; Function compile flags: /Ogsy
00000 AREA |.text| { |GetAC97Lock| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |GetAC97Lock| PROC
; 260 : {
00000 |$L40004|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40002|
; 261 :
; 262 : if (WaitForSingleObject(hACLinkControlMutex, 3000) == WAIT_OBJECT_0)
00004 e59f3024 ldr r3, [pc, #0x24]
00008 e3a01ebb mov r1, #0xBB, 28
0000c e3811008 orr r1, r1, #8
00010 e5930000 ldr r0, [r3]
00014 eb000000 bl WaitForSingleObject
00018 e3500000 cmp r0, #0
; 263 : {
; 264 : return(TRUE);
0001c 03a00001 moveq r0, #1
; 269 : }
; 270 : }
00020 049de004 ldreq lr, [sp], #4
; 265 : }
; 266 : else
; 267 : {
; 268 : return(FALSE);
00024 13a00000 movne r0, #0
; 269 : }
; 270 : }
00028 149de004 ldrne lr, [sp], #4
0002c e12fff1e bx lr
00030 |$L40007|
00030 00000000 DCD |hACLinkControlMutex|
00034 |$M40003|
ENDP ; |GetAC97Lock|
EXPORT |ReleaseAC97Lock|
IMPORT |ReleaseMutex|
00000 AREA |.text| { |ReleaseAC97Lock| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$ReleaseAC97Lock|, PDATA, SELECTION=5, ASSOC=|.text| { |ReleaseAC97Lock| } ; comdat associative
|$T40015| DCD |$L40014|
DCD 0x40001001
; Function compile flags: /Ogsy
00000 AREA |.text| { |ReleaseAC97Lock| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |ReleaseAC97Lock| PROC
; 273 : {
00000 |$L40014|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40012|
; 274 :
; 275 : if (!g_pAc97Regs) return(FALSE);
00004 e59f1030 ldr r1, [pc, #0x30]
00008 e5912000 ldr r2, [r1]
0000c e3520000 cmp r2, #0
00010 03a00000 moveq r0, #0
; 281 : }
00014 049de004 ldreq lr, [sp], #4
00018 012fff1e bxeq lr
; 276 :
; 277 : g_pAc97Regs->car &= ~AC97CAR_CAIP;
0001c e5923020 ldr r3, [r2, #0x20]
; 278 : ReleaseMutex(hACLinkControlMutex);
00020 e5910004 ldr r0, [r1, #4]
00024 e3c33001 bic r3, r3, #1
00028 e5823020 str r3, [r2, #0x20]
0002c eb000000 bl ReleaseMutex
; 279 :
; 280 : return(TRUE);
00030 e3a00001 mov r0, #1
; 281 : }
00034 e49de004 ldr lr, [sp], #4
00038 e12fff1e bx lr
0003c |$L40017|
0003c 00000000 DCD |g_pAc97Regs|
00040 |$M40013|
ENDP ; |ReleaseAC97Lock|
EXPORT |ReadAC97Raw|
IMPORT |XllpAc97Read|
00000 AREA |.text| { |ReadAC97Raw| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$ReadAC97Raw|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadAC97Raw| } ; comdat associative
|$T40027| DCD |$L40026|
DCD 0x40001202
; Function compile flags: /Ogsy
00000 AREA |.text| { |ReadAC97Raw| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |ReadAC97Raw| PROC
; 284 : {
00000 |$L40026|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd008 sub sp, sp, #8
00008 |$M40024|
; 285 :
; 286 : if (XllpAc97Read((XLLP_UINT16_T) Offset,
; 287 : (XLLP_UINT16_T *) pData,
; 288 : (P_XLLP_AC97_T) g_pAc97Regs,
; 289 : (P_XLLP_OST_T) g_pOSTRegs,
; 290 : 5000,
; 291 : XLLP_AC97_CODEC_PRIMARY) != XLLP_AC97_NO_ERROR)
00008 e59f2034 ldr r2, [pc, #0x34]
0000c e3a0ed4e mov lr, #0x4E, 26
00010 e38ee008 orr lr, lr, #8
00014 e5923000 ldr r3, [r2]
00018 e5922004 ldr r2, [r2, #4]
0001c e3a04000 mov r4, #0
00020 e58d4004 str r4, [sp, #4]
00024 e58de000 str lr, [sp]
00028 eb000000 bl XllpAc97Read
0002c e3500000 cmp r0, #0
; 292 : {
; 293 : return(FALSE);
00030 13a00000 movne r0, #0
; 294 : }
; 295 :
; 296 : return(TRUE);
00034 03a00001 moveq r0, #1
; 297 : }
00038 e28dd008 add sp, sp, #8
0003c e8bd4010 ldmia sp!, {r4, lr}
00040 e12fff1e bx lr
00044 |$L40029|
00044 00000000 DCD |g_pOSTRegs|
00048 |$M40025|
ENDP ; |ReadAC97Raw|
EXPORT |ReadAC97|
00000 AREA |.text| { |ReadAC97| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$ReadAC97|, PDATA, SELECTION=5, ASSOC=|.text| { |ReadAC97| } ; comdat associative
|$T40041| DCD |$L40040|
DCD 0x40001101
; Function compile flags: /Ogsy
00000 AREA |.text| { |ReadAC97| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |ReadAC97| PROC
; 300 : {
00000 |$L40040|
00000 e92d40f0 stmdb sp!, {r4 - r7, lr}
00004 |$M40038|
00004 e1a05002 mov r5, r2
00008 e1a06001 mov r6, r1
0000c e1a07000 mov r7, r0
; 301 : BOOL retVal = FALSE;
00010 e3a04000 mov r4, #0
; 302 :
; 303 : if (GetAC97Lock() == TRUE)
00014 eb000000 bl GetAC97Lock
00018 e3500001 cmp r0, #1
0001c 1a000005 bne |$L39886|
; 304 : {
; 305 : retVal = ReadAC97Raw(Offset, pData, DevId);
00020 e1a02005 mov r2, r5
00024 e1a01006 mov r1, r6
00028 e1a00007 mov r0, r7
0002c eb000000 bl ReadAC97Raw
00030 e1a04000 mov r4, r0
; 306 : ReleaseAC97Lock();
00034 eb000000 bl ReleaseAC97Lock
00038 |$L39886|
; 307 : }
; 308 :
; 309 : return(retVal);
00038 e1a00004 mov r0, r4
; 310 : }
0003c e8bd40f0 ldmia sp!, {r4 - r7, lr}
00040 e12fff1e bx lr
00044 |$M40039|
ENDP ; |ReadAC97|
EXPORT |WriteAC97Raw|
IMPORT |XllpAc97Write|
00000 AREA |.text| { |WriteAC97Raw| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteAC97Raw|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteAC97Raw| } ; comdat associative
|$T40052| DCD |$L40051|
DCD 0x40001202
; Function compile flags: /Ogsy
00000 AREA |.text| { |WriteAC97Raw| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteAC97Raw| PROC
; 313 : {
00000 |$L40051|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 e24dd008 sub sp, sp, #8
00008 |$M40049|
; 314 :
; 315 : if (XllpAc97Write((XLLP_UINT16_T) Offset,
; 316 : (XLLP_UINT16_T) Data,
; 317 : (P_XLLP_AC97_T) g_pAc97Regs,
; 318 : (P_XLLP_OST_T) g_pOSTRegs,
; 319 : 5000,
; 320 : XLLP_AC97_CODEC_PRIMARY) != XLLP_AC97_NO_ERROR)
00008 e59f2034 ldr r2, [pc, #0x34]
0000c e3a0ed4e mov lr, #0x4E, 26
00010 e38ee008 orr lr, lr, #8
00014 e5923000 ldr r3, [r2]
00018 e5922004 ldr r2, [r2, #4]
0001c e3a04000 mov r4, #0
00020 e58d4004 str r4, [sp, #4]
00024 e58de000 str lr, [sp]
00028 eb000000 bl XllpAc97Write
0002c e3500000 cmp r0, #0
; 321 : {
; 322 : return(FALSE);
00030 13a00000 movne r0, #0
; 323 : }
; 324 :
; 325 : return(TRUE);
00034 03a00001 moveq r0, #1
; 326 : }
00038 e28dd008 add sp, sp, #8
0003c e8bd4010 ldmia sp!, {r4, lr}
00040 e12fff1e bx lr
00044 |$L40054|
00044 00000000 DCD |g_pOSTRegs|
00048 |$M40050|
ENDP ; |WriteAC97Raw|
EXPORT |WriteAC97|
00000 AREA |.text| { |WriteAC97| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$WriteAC97|, PDATA, SELECTION=5, ASSOC=|.text| { |WriteAC97| } ; comdat associative
|$T40066| DCD |$L40065|
DCD 0x40001101
; Function compile flags: /Ogsy
00000 AREA |.text| { |WriteAC97| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |WriteAC97| PROC
; 329 : {
00000 |$L40065|
00000 e92d40f0 stmdb sp!, {r4 - r7, lr}
00004 |$M40063|
00004 e1a05002 mov r5, r2
00008 e1a06001 mov r6, r1
0000c e1a07000 mov r7, r0
; 330 : BOOL retVal = FALSE;
00010 e3a04000 mov r4, #0
; 331 :
; 332 : if (GetAC97Lock() == TRUE)
00014 eb000000 bl GetAC97Lock
00018 e3500001 cmp r0, #1
0001c 1a000005 bne |$L39907|
; 333 : {
; 334 : retVal = WriteAC97Raw(Offset, Data, DevId);
00020 e1a02005 mov r2, r5
00024 e1a01006 mov r1, r6
00028 e1a00007 mov r0, r7
0002c eb000000 bl WriteAC97Raw
00030 e1a04000 mov r4, r0
; 335 : ReleaseAC97Lock();
00034 eb000000 bl ReleaseAC97Lock
00038 |$L39907|
; 336 : }
; 337 :
; 338 : return(retVal);
00038 e1a00004 mov r0, r4
; 339 : }
0003c e8bd40f0 ldmia sp!, {r4 - r7, lr}
00040 e12fff1e bx lr
00044 |$M40064|
ENDP ; |WriteAC97|
EXPORT |ColdResetAC97Control|
IMPORT |XllpAc97ColdReset|
00000 AREA |.text| { |ColdResetAC97Control| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$ColdResetAC97Control|, PDATA, SELECTION=5, ASSOC=|.text| { |ColdResetAC97Control| } ; comdat associative
|$T40075| DCD |$L40074|
DCD 0x40000a01
; Function compile flags: /Ogsy
00000 AREA |.text| { |ColdResetAC97Control| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |ColdResetAC97Control| PROC
; 343 : {
00000 |$L40074|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40072|
; 344 :
; 345 : if (XllpAc97ColdReset(&g_AC97CtxStruct) != XLLP_AC97_NO_ERROR)
00004 e59f0018 ldr r0, [pc, #0x18]
00008 eb000000 bl XllpAc97ColdReset
0000c e3500000 cmp r0, #0
; 346 : {
; 347 : return(FALSE);
00010 13a00000 movne r0, #0
; 351 : }
00014 149de004 ldrne lr, [sp], #4
; 348 : }
; 349 :
; 350 : return(TRUE);
00018 03a00001 moveq r0, #1
; 351 : }
0001c 049de004 ldreq lr, [sp], #4
00020 e12fff1e bx lr
00024 |$L40077|
00024 00000000 DCD |g_AC97CtxStruct|
00028 |$M40073|
ENDP ; |ColdResetAC97Control|
EXPORT |DeInitializeACLink|
00000 AREA |.text| { |DeInitializeACLink| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 AREA |.pdata$$DeInitializeACLink|, PDATA, SELECTION=5, ASSOC=|.text| { |DeInitializeACLink| } ; comdat associative
|$T40086| DCD |$L40085|
DCD 0x40000901
; Function compile flags: /Ogsy
00000 AREA |.text| { |DeInitializeACLink| }, CODE, ARM, SELECTION=1 ; comdat noduplicate
00000 |DeInitializeACLink| PROC
; 87 : {
00000 |$L40085|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40083|
00004 e1a00001 mov r0, r1
; 88 : if (!DeAllocateACLinkResources(DevId))
00008 eb000000 bl DeAllocateACLinkResources
0000c e3500000 cmp r0, #0
; 89 : {
; 90 : return(FALSE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -