📄 active.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01
TTL D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\Display\common\active.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |ActiveInit|
IMPORT |PXA_LCDActiveInitController|
IMPORT |PXA_LCDInitDMADescriptor|
00000 AREA |.pdata|, PDATA
|$T41374| DCD |$LN5@ActiveInit|
DCD 0x40004c04
; Function compile flags: /Odtp
; File d:\wince600\platform\m-stone\src\drivers\display\common\active.c
00000 AREA |.text|, CODE, ARM
00000 |ActiveInit| PROC
; 44 : {
00000 |$LN5@ActiveInit|
00000 e1a0c00d mov r12, sp
00004 e92d0003 stmdb sp!, {r0, r1}
00008 e92d5000 stmdb sp!, {r12, lr}
0000c e24dd014 sub sp, sp, #0x14
00010 |$M41371|
; 45 : PXA_STATUS_T status;
; 46 : UINT32 buf_size;
; 47 :
; 48 : buf_size = lcd->panel->config.width * lcd->panel->config.height * (lcd->panel->config.bpp >> 3);
00010 e59d301c ldr r3, [sp, #0x1C]
00014 e2833028 add r3, r3, #0x28
00018 e5933000 ldr r3, [r3]
0001c e283200c add r2, r3, #0xC
00020 e59d301c ldr r3, [sp, #0x1C]
00024 e2833028 add r3, r3, #0x28
00028 e5933000 ldr r3, [r3]
0002c e2833010 add r3, r3, #0x10
00030 e5921000 ldr r1, [r2]
00034 e5933000 ldr r3, [r3]
00038 e0020391 mul r2, r1, r3
0003c e59d301c ldr r3, [sp, #0x1C]
00040 e2833028 add r3, r3, #0x28
00044 e5933000 ldr r3, [r3]
00048 e2833014 add r3, r3, #0x14
0004c e5933000 ldr r3, [r3]
00050 e1a031a3 mov r3, r3, lsr #3
00054 e0030392 mul r3, r2, r3
00058 e58d3000 str r3, [sp]
; 49 :
; 50 : status = lcd->panel->init(lcd->panel);
0005c e59d301c ldr r3, [sp, #0x1C]
00060 e2833028 add r3, r3, #0x28
00064 e5930000 ldr r0, [r3]
00068 e59d301c ldr r3, [sp, #0x1C]
0006c e2833028 add r3, r3, #0x28
00070 e5933000 ldr r3, [r3]
00074 e2833004 add r3, r3, #4
00078 e5933000 ldr r3, [r3]
0007c e1a0e00f mov lr, pc
00080 e12fff13 bx r3
00084 e58d000c str r0, [sp, #0xC]
00088 e59d300c ldr r3, [sp, #0xC]
0008c e58d3004 str r3, [sp, #4]
; 51 :
; 52 : PXA_LCDInitDMADescriptor(&lcd->dma_descs[0], lcd->dma_descs[0].FDADR, base_phy, buf_size);
00090 e59d3000 ldr r3, [sp]
00094 e59d2020 ldr r2, [sp, #0x20]
00098 e59d101c ldr r1, [sp, #0x1C]
0009c e2811024 add r1, r1, #0x24
000a0 e5911000 ldr r1, [r1]
000a4 e5911000 ldr r1, [r1]
000a8 e59d001c ldr r0, [sp, #0x1C]
000ac e2800024 add r0, r0, #0x24
000b0 e5900000 ldr r0, [r0]
000b4 eb000000 bl PXA_LCDInitDMADescriptor
; 53 : PXA_LCDActiveInitController(lcd->lcd_regs, &lcd->panel->config, &lcd->dma_descs[0]);
000b8 e59d301c ldr r3, [sp, #0x1C]
000bc e2833024 add r3, r3, #0x24
000c0 e5932000 ldr r2, [r3]
000c4 e59d301c ldr r3, [sp, #0x1C]
000c8 e2833028 add r3, r3, #0x28
000cc e5933000 ldr r3, [r3]
000d0 e283100c add r1, r3, #0xC
000d4 e59d301c ldr r3, [sp, #0x1C]
000d8 e283301c add r3, r3, #0x1C
000dc e5930000 ldr r0, [r3]
000e0 eb000000 bl PXA_LCDActiveInitController
; 54 :
; 55 : status = lcd->panel->post_init(lcd->panel);
000e4 e59d301c ldr r3, [sp, #0x1C]
000e8 e2833028 add r3, r3, #0x28
000ec e5930000 ldr r0, [r3]
000f0 e59d301c ldr r3, [sp, #0x1C]
000f4 e2833028 add r3, r3, #0x28
000f8 e5933000 ldr r3, [r3]
000fc e2833008 add r3, r3, #8
00100 e5933000 ldr r3, [r3]
00104 e1a0e00f mov lr, pc
00108 e12fff13 bx r3
0010c e58d0010 str r0, [sp, #0x10]
00110 e59d3010 ldr r3, [sp, #0x10]
00114 e58d3004 str r3, [sp, #4]
; 56 : return status;
00118 e59d3004 ldr r3, [sp, #4]
0011c e58d3008 str r3, [sp, #8]
; 57 : }
00120 e59d0008 ldr r0, [sp, #8]
00124 e28dd014 add sp, sp, #0x14
00128 e89d6000 ldmia sp, {sp, lr}
0012c e12fff1e bx lr
00130 |$M41372|
ENDP ; |ActiveInit|
EXPORT |ActiveResume|
00008 AREA |.pdata|, PDATA
|$T41379| DCD |$LN5@ActiveResu|
DCD 0x40001a03
; Function compile flags: /Odtp
00130 AREA |.text|, CODE, ARM
00130 |ActiveResume| PROC
; 60 : {
00130 |$LN5@ActiveResu|
00130 e1a0c00d mov r12, sp
00134 e92d0001 stmdb sp!, {r0}
00138 e92d5000 stmdb sp!, {r12, lr}
0013c |$M41376|
; 61 : lcd->panel->set_power_mode(lcd->panel, 1);
0013c e3a01001 mov r1, #1
00140 e59d3008 ldr r3, [sp, #8]
00144 e2833028 add r3, r3, #0x28
00148 e5930000 ldr r0, [r3]
0014c e59d3008 ldr r3, [sp, #8]
00150 e2833028 add r3, r3, #0x28
00154 e5933000 ldr r3, [r3]
00158 e5933000 ldr r3, [r3]
0015c e1a0e00f mov lr, pc
00160 e12fff13 bx r3
; 62 : PXA_LCDActiveInitController(lcd->lcd_regs, &lcd->panel->config, &lcd->dma_descs[0]);
00164 e59d3008 ldr r3, [sp, #8]
00168 e2833024 add r3, r3, #0x24
0016c e5932000 ldr r2, [r3]
00170 e59d3008 ldr r3, [sp, #8]
00174 e2833028 add r3, r3, #0x28
00178 e5933000 ldr r3, [r3]
0017c e283100c add r1, r3, #0xC
00180 e59d3008 ldr r3, [sp, #8]
00184 e283301c add r3, r3, #0x1C
00188 e5930000 ldr r0, [r3]
0018c eb000000 bl PXA_LCDActiveInitController
; 63 : }
00190 e89d6000 ldmia sp, {sp, lr}
00194 e12fff1e bx lr
00198 |$M41377|
ENDP ; |ActiveResume|
EXPORT |ActiveSuspend|
IMPORT |PXA_LCDSuspendController|
IMPORT |PXA_OST_DelayMilliSeconds|
IMPORT |PXA_LCDTurnOffBaseFrame|
00010 AREA |.pdata|, PDATA
|$T41384| DCD |$LN5@ActiveSusp|
DCD 0x40001d03
; Function compile flags: /Odtp
00198 AREA |.text|, CODE, ARM
00198 |ActiveSuspend| PROC
; 66 : {
00198 |$LN5@ActiveSusp|
00198 e1a0c00d mov r12, sp
0019c e92d0001 stmdb sp!, {r0}
001a0 e92d5000 stmdb sp!, {r12, lr}
001a4 |$M41381|
; 67 : PXA_LCDTurnOffBaseFrame(lcd->lcd_regs, 0, 0, 0);
001a4 e3a03000 mov r3, #0
001a8 e3a02000 mov r2, #0
001ac e3a01000 mov r1, #0
001b0 e59d0008 ldr r0, [sp, #8]
001b4 e280001c add r0, r0, #0x1C
001b8 e5900000 ldr r0, [r0]
001bc eb000000 bl PXA_LCDTurnOffBaseFrame
; 68 : PXA_OST_DelayMilliSeconds(40);
001c0 e3a00028 mov r0, #0x28
001c4 eb000000 bl PXA_OST_DelayMilliSeconds
; 69 : PXA_LCDSuspendController(lcd->lcd_regs, 0);
001c8 e3a01000 mov r1, #0
001cc e59d3008 ldr r3, [sp, #8]
001d0 e283301c add r3, r3, #0x1C
001d4 e5930000 ldr r0, [r3]
001d8 eb000000 bl PXA_LCDSuspendController
; 70 : lcd->panel->set_power_mode(lcd->panel, 0);
001dc e3a01000 mov r1, #0
001e0 e59d3008 ldr r3, [sp, #8]
001e4 e2833028 add r3, r3, #0x28
001e8 e5930000 ldr r0, [r3]
001ec e59d3008 ldr r3, [sp, #8]
001f0 e2833028 add r3, r3, #0x28
001f4 e5933000 ldr r3, [r3]
001f8 e5933000 ldr r3, [r3]
001fc e1a0e00f mov lr, pc
00200 e12fff13 bx r3
; 71 : }
00204 e89d6000 ldmia sp, {sp, lr}
00208 e12fff1e bx lr
0020c |$M41382|
ENDP ; |ActiveSuspend|
EXPORT |ActiveFlip|
IMPORT |PXA_LCDActiveFlip|
00018 AREA |.pdata|, PDATA
|$T41389| DCD |$LN5@ActiveFlip|
DCD 0x40001403
; Function compile flags: /Odtp
0020c AREA |.text|, CODE, ARM
0020c |ActiveFlip| PROC
; 74 : {
0020c |$LN5@ActiveFlip|
0020c e1a0c00d mov r12, sp
00210 e92d0003 stmdb sp!, {r0, r1}
00214 e92d5000 stmdb sp!, {r12, lr}
00218 |$M41386|
; 75 : lcd->dma_descs[0].FSADR = FSADR_SRCADDR(frame_phy_addr);
00218 e59d200c ldr r2, [sp, #0xC]
0021c e3e03007 mvn r3, #7
00220 e0022003 and r2, r2, r3
00224 e59d3008 ldr r3, [sp, #8]
00228 e2833024 add r3, r3, #0x24
0022c e5933000 ldr r3, [r3]
00230 e2833004 add r3, r3, #4
00234 e5832000 str r2, [r3]
; 76 : PXA_LCDActiveFlip(lcd->lcd_regs, &lcd->dma_descs[0]);
00238 e59d3008 ldr r3, [sp, #8]
0023c e2833024 add r3, r3, #0x24
00240 e5931000 ldr r1, [r3]
00244 e59d3008 ldr r3, [sp, #8]
00248 e283301c add r3, r3, #0x1C
0024c e5930000 ldr r0, [r3]
00250 eb000000 bl PXA_LCDActiveFlip
; 77 : }
00254 e89d6000 ldmia sp, {sp, lr}
00258 e12fff1e bx lr
0025c |$M41387|
ENDP ; |ActiveFlip|
EXPORT |ActiveOverlay2Enable|
IMPORT |PXA_LCDActiveOverlay2Enable|
00020 AREA |.pdata|, PDATA
|$T41395| DCD |$LN8@ActiveOver|
DCD 0x40003704
; Function compile flags: /Odtp
0025c AREA |.text|, CODE, ARM
0025c |ActiveOverlay2Enable| PROC
; 80 : {
0025c |$LN8@ActiveOver|
0025c e1a0c00d mov r12, sp
00260 e92d0007 stmdb sp!, {r0 - r2}
00264 e92d5030 stmdb sp!, {r4, r5, r12, lr}
00268 e24dd00c sub sp, sp, #0xC
0026c |$M41392|
; 81 : UINT i;
; 82 :
; 83 : for (i = 0; i < 3; i++)
0026c e3a03000 mov r3, #0
00270 e58d3000 str r3, [sp]
00274 ea000002 b |$LN3@ActiveOver|
00278 |$LN2@ActiveOver|
00278 e59d3000 ldr r3, [sp]
0027c e2833001 add r3, r3, #1
00280 e58d3000 str r3, [sp]
00284 |$LN3@ActiveOver|
00284 e59d3000 ldr r3, [sp]
00288 e3530003 cmp r3, #3
0028c 2a000019 bcs |$LN1@ActiveOver|
; 84 : PXA_LCDInitDMADescriptor(&lcd->dma_descs[2 + i], lcd->dma_descs[2 + i].FDADR, phy_addrs[i], 0);
00290 e3a03000 mov r3, #0
00294 e59d0000 ldr r0, [sp]
00298 e3a02004 mov r2, #4
0029c e0010290 mul r1, r0, r2
002a0 e59d2024 ldr r2, [sp, #0x24]
002a4 e0822001 add r2, r2, r1
002a8 e5922000 ldr r2, [r2]
002ac e59d101c ldr r1, [sp, #0x1C]
002b0 e2814024 add r4, r1, #0x24
002b4 e59d1000 ldr r1, [sp]
002b8 e281e002 add lr, r1, #2
002bc e3a01010 mov r1, #0x10
002c0 e000019e mul r0, lr, r1
002c4 e5941000 ldr r1, [r4]
002c8 e0811000 add r1, r1, r0
002cc e5911000 ldr r1, [r1]
002d0 e59d001c ldr r0, [sp, #0x1C]
002d4 e2805024 add r5, r0, #0x24
002d8 e59d0000 ldr r0, [sp]
002dc e2804002 add r4, r0, #2
002e0 e3a00010 mov r0, #0x10
002e4 e00e0094 mul lr, r4, r0
002e8 e5950000 ldr r0, [r5]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -