📄 common.cod
字号:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.01.60511.01
TTL D:\WINCE600\PLATFORM\M-stone\SRC\DRIVERS\Display\common\common.c
CODE32
00000 AREA |.drectve|, DRECTVE
DCB "-defaultlib:LIBCMT "
DCB "-defaultlib:OLDNAMES "
EXPORT |global_lcd| [ DATA ]
00000 AREA |.bss|, NOINIT
|global_lcd| % 0x4
EXPORT |LCDGetMode|
IMPORT |ActiveCreate|
IMPORT |LCDPanelSelect|
; File d:\wince600\platform\m-stone\src\drivers\display\common\common.c
00000 AREA |.pdata|, PDATA
|$T39998| DCD |$LN8@LCDGetMode|
DCD 0x40002402
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDGetMode| PROC
; 44 : {
00000 |$LN8@LCDGetMode|
00000 e92d40f0 stmdb sp!, {r4 - r7, lr}
00004 e24dd004 sub sp, sp, #4
00008 |$M39995|
00008 e1a04003 mov r4, r3
0000c e1a05002 mov r5, r2
00010 e1a06001 mov r6, r1
00014 e1a07000 mov r7, r0
; 45 : void* panel = NULL;
00018 e3a03000 mov r3, #0
; 46 : BOOL is_active;
; 47 : //set_lcd_domain(TRUE);
; 48 :
; 49 : is_active = LCDPanelSelect(&panel);
0001c e28d0000 add r0, sp, #0
00020 e58d3000 str r3, [sp]
00024 eb000000 bl LCDPanelSelect
; 50 :
; 51 : if (!panel)
00028 e59de000 ldr lr, [sp]
0002c e35e0000 cmp lr, #0
; 52 : return PXA_STATUS_FAILURE;
00030 03a00001 moveq r0, #1
00034 0a000011 beq |$LN4@LCDGetMode|
; 53 :
; 54 : if (is_active)
00038 e3500000 cmp r0, #0
0003c 0a00000e beq |$LN1@LCDGetMode|
; 55 : {
; 56 : active_panel_t *active_panel = (active_panel_t*)panel;
; 57 : *width = active_panel->config.width;
00040 e59e300c ldr r3, [lr, #0xC]
; 58 : *height = active_panel->config.height;
; 59 : *bpp = active_panel->config.bpp;
; 60 : *is_smart = FALSE;
00044 e3a02000 mov r2, #0
; 61 : global_lcd = ActiveCreate(active_panel);
00048 e1a0000e mov r0, lr
0004c e5873000 str r3, [r7]
00050 e59e3010 ldr r3, [lr, #0x10]
00054 e5863000 str r3, [r6]
00058 e59e3014 ldr r3, [lr, #0x14]
0005c e5853000 str r3, [r5]
00060 e5842000 str r2, [r4]
00064 eb000000 bl ActiveCreate
00068 e59f301c ldr r3, [pc, #0x1C]
0006c e3500000 cmp r0, #0
00070 e5830000 str r0, [r3]
; 62 : if (!global_lcd)
; 63 : return PXA_STATUS_NO_RESOURCES;
00074 03a00005 moveq r0, #5
00078 0a000000 beq |$LN4@LCDGetMode|
0007c |$LN1@LCDGetMode|
; 64 : }
; 65 :
; 66 : return PXA_STATUS_SUCCESS;
0007c e3a00000 mov r0, #0
00080 |$LN4@LCDGetMode|
; 67 : //else
; 68 : // global_lcd = SmartCreate((smart_panel_t*)panel);
; 69 : }
00080 e28dd004 add sp, sp, #4
00084 e8bd40f0 ldmia sp!, {r4 - r7, lr}
00088 e12fff1e bx lr
0008c |$LN9@LCDGetMode|
0008c |$LN10@LCDGetMode|
0008c 00000000 DCD |global_lcd|
00090 |$M39996|
ENDP ; |LCDGetMode|
EXPORT |LCDInit|
00000 AREA |.pdata|, PDATA
|$T40010| DCD |$LN5@LCDInit|
DCD 0x40000a01
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDInit| PROC
; 73 : {
00000 |$LN5@LCDInit|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40007|
00004 e1a01000 mov r1, r0
; 74 : return global_lcd->init(global_lcd, base_phy);
00008 e59f3014 ldr r3, [pc, #0x14]
0000c e5930000 ldr r0, [r3]
00010 e5903000 ldr r3, [r0]
00014 e1a0e00f mov lr, pc
00018 e12fff13 bx r3
; 75 : }
0001c e49de004 ldr lr, [sp], #4
00020 e12fff1e bx lr
00024 |$LN6@LCDInit|
00024 |$LN7@LCDInit|
00024 00000000 DCD |global_lcd|
00028 |$M40008|
ENDP ; |LCDInit|
EXPORT |LCDResume|
00000 AREA |.pdata|, PDATA
|$T40019| DCD |$LN5@LCDResume|
DCD 0x40000901
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDResume| PROC
; 78 : {
00000 |$LN5@LCDResume|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40016|
; 79 : //set_lcd_domain(TRUE);
; 80 : global_lcd->resume(global_lcd);
00004 e59f3014 ldr r3, [pc, #0x14]
00008 e5930000 ldr r0, [r3]
0000c e5903004 ldr r3, [r0, #4]
00010 e1a0e00f mov lr, pc
00014 e12fff13 bx r3
; 81 : }
00018 e49de004 ldr lr, [sp], #4
0001c e12fff1e bx lr
00020 |$LN6@LCDResume|
00020 |$LN7@LCDResume|
00020 00000000 DCD |global_lcd|
00024 |$M40017|
ENDP ; |LCDResume|
EXPORT |LCDSuspend|
00000 AREA |.pdata|, PDATA
|$T40028| DCD |$LN5@LCDSuspend|
DCD 0x40000901
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDSuspend| PROC
; 84 : {
00000 |$LN5@LCDSuspend|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40025|
; 85 : global_lcd->suspend(global_lcd);
00004 e59f3014 ldr r3, [pc, #0x14]
00008 e5930000 ldr r0, [r3]
0000c e5903008 ldr r3, [r0, #8]
00010 e1a0e00f mov lr, pc
00014 e12fff13 bx r3
; 86 : //set_lcd_domain(FALSE);
; 87 : }
00018 e49de004 ldr lr, [sp], #4
0001c e12fff1e bx lr
00020 |$LN6@LCDSuspend|
00020 |$LN7@LCDSuspend|
00020 00000000 DCD |global_lcd|
00024 |$M40026|
ENDP ; |LCDSuspend|
EXPORT |LCDFlip|
00000 AREA |.pdata|, PDATA
|$T40038| DCD |$LN5@LCDFlip|
DCD 0x40000a01
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDFlip| PROC
; 90 : {
00000 |$LN5@LCDFlip|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40035|
00004 e1a01000 mov r1, r0
; 91 : global_lcd->flip(global_lcd, phy_addr);
00008 e59f3014 ldr r3, [pc, #0x14]
0000c e5930000 ldr r0, [r3]
00010 e590300c ldr r3, [r0, #0xC]
00014 e1a0e00f mov lr, pc
00018 e12fff13 bx r3
; 92 : }
0001c e49de004 ldr lr, [sp], #4
00020 e12fff1e bx lr
00024 |$LN6@LCDFlip|
00024 |$LN7@LCDFlip|
00024 00000000 DCD |global_lcd|
00028 |$M40036|
ENDP ; |LCDFlip|
EXPORT |LCDOverlay2Enable|
00000 AREA |.pdata|, PDATA
|$T40051| DCD |$LN5@LCDOverlay|
DCD 0x40000b01
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDOverlay2Enable| PROC
; 95 : {
00000 |$LN5@LCDOverlay|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40048|
00004 e1a02001 mov r2, r1
00008 e1a01000 mov r1, r0
; 96 : return global_lcd->overlay2_enable(global_lcd, overlay, phy_addrs);
0000c e59f3014 ldr r3, [pc, #0x14]
00010 e5930000 ldr r0, [r3]
00014 e5903010 ldr r3, [r0, #0x10]
00018 e1a0e00f mov lr, pc
0001c e12fff13 bx r3
; 97 : }
00020 e49de004 ldr lr, [sp], #4
00024 e12fff1e bx lr
00028 |$LN6@LCDOverlay|
00028 |$LN7@LCDOverlay|
00028 00000000 DCD |global_lcd|
0002c |$M40049|
ENDP ; |LCDOverlay2Enable|
EXPORT |LCDOverlay2DynChange|
00000 AREA |.pdata|, PDATA
|$T40065| DCD |$LN5@LCDOverlay@2|
DCD 0x40000c01
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDOverlay2DynChange| PROC
; 100 : {
00000 |$LN5@LCDOverlay@2|
00000 e92d4010 stmdb sp!, {r4, lr}
00004 |$M40062|
00004 e1a03002 mov r3, r2
00008 e1a02001 mov r2, r1
0000c e1a01000 mov r1, r0
; 101 : return global_lcd->overlay2_dyn_change(global_lcd, overlay, phy_addrs, change_flag);
00010 e59f0014 ldr r0, [pc, #0x14]
00014 e5900000 ldr r0, [r0]
00018 e5904014 ldr r4, [r0, #0x14]
0001c e1a0e00f mov lr, pc
00020 e12fff14 bx r4
; 102 : }
00024 e8bd4010 ldmia sp!, {r4, lr}
00028 e12fff1e bx lr
0002c |$LN6@LCDOverlay@2|
0002c |$LN7@LCDOverlay@2|
0002c 00000000 DCD |global_lcd|
00030 |$M40063|
ENDP ; |LCDOverlay2DynChange|
EXPORT |LCDOverlay2Disable|
00000 AREA |.pdata|, PDATA
|$T40074| DCD |$LN5@LCDOverlay@3|
DCD 0x40000901
; Function compile flags: /Ogspy
00000 AREA |.text|, CODE, ARM
00000 |LCDOverlay2Disable| PROC
; 105 : {
00000 |$LN5@LCDOverlay@3|
00000 e52de004 str lr, [sp, #-4]!
00004 |$M40071|
; 106 : global_lcd->overlay2_disable(global_lcd);
00004 e59f3014 ldr r3, [pc, #0x14]
00008 e5930000 ldr r0, [r3]
0000c e5903018 ldr r3, [r0, #0x18]
00010 e1a0e00f mov lr, pc
00014 e12fff13 bx r3
; 107 : }
00018 e49de004 ldr lr, [sp], #4
0001c e12fff1e bx lr
00020 |$LN6@LCDOverlay@3|
00020 |$LN7@LCDOverlay@3|
00020 00000000 DCD |global_lcd|
00024 |$M40072|
ENDP ; |LCDOverlay2Disable|
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -