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

📄 xllp_suspendresume.cod

📁 pxa270为硬件平台的wince操作系统XLLP驱动源码
💻 COD
📖 第 1 页 / 共 5 页
字号:
  00000			 AREA	 |.text| { |XllpGPIORestore| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |XllpGPIORestore| PROC

; 292  : {

  00000		 |$L2457|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M2455|
  00004	e1a04001	 mov         r4, r1
  00008	e1a05000	 mov         r5, r0

; 293  :     GPIOCopy(regs, save);

  0000c	eb000000	 bl          GPIOCopy

; 294  : 
; 295  : 	regs->GPSR0 = save->GPLR0 & save->GPDR0;

  00010	e5942000	 ldr         r2, [r4]
  00014	e594300c	 ldr         r3, [r4, #0xC]

; 296  :     regs->GPCR0 = ~(save->GPLR0) & save->GPDR0;
; 297  : 	regs->GPSR1 = save->GPLR1 & save->GPDR1;

  00018	e1a0e004	 mov         lr, r4
  0001c	e0023003	 and         r3, r2, r3
  00020	e5853018	 str         r3, [r5, #0x18]
  00024	e5942000	 ldr         r2, [r4]
  00028	e594300c	 ldr         r3, [r4, #0xC]
  0002c	e1c33002	 bic         r3, r3, r2
  00030	e5853024	 str         r3, [r5, #0x24]
  00034	e5942004	 ldr         r2, [r4, #4]
  00038	e5be3010	 ldr         r3, [lr, #0x10]!

; 298  :     regs->GPCR1 = ~(save->GPLR1) & save->GPDR1;
; 299  : 	regs->GPSR2 = save->GPLR2 & save->GPDR2;

  0003c	e0023003	 and         r3, r2, r3
  00040	e585301c	 str         r3, [r5, #0x1C]
  00044	e5942004	 ldr         r2, [r4, #4]
  00048	e59e3000	 ldr         r3, [lr]
  0004c	e1c33002	 bic         r3, r3, r2
  00050	e5853028	 str         r3, [r5, #0x28]
  00054	e5942008	 ldr         r2, [r4, #8]
  00058	e5943014	 ldr         r3, [r4, #0x14]

; 300  :     regs->GPCR2 = ~(save->GPLR2) & save->GPDR2;

  0005c	e0023003	 and         r3, r2, r3
  00060	e5853020	 str         r3, [r5, #0x20]
  00064	e5942008	 ldr         r2, [r4, #8]
  00068	e5943014	 ldr         r3, [r4, #0x14]

; 301  : 	regs->GPSR3 = save->GPLR3 & save->GPDR3;

  0006c	e1c33002	 bic         r3, r3, r2
  00070	e585302c	 str         r3, [r5, #0x2C]
  00074	e5942100	 ldr         r2, [r4, #0x100]
  00078	e594310c	 ldr         r3, [r4, #0x10C]

; 302  :     regs->GPCR3 = ~(save->GPLR3) & save->GPDR3;

  0007c	e0023003	 and         r3, r2, r3
  00080	e5853118	 str         r3, [r5, #0x118]
  00084	e5942100	 ldr         r2, [r4, #0x100]
  00088	e594310c	 ldr         r3, [r4, #0x10C]
  0008c	e1c33002	 bic         r3, r3, r2
  00090	e5853124	 str         r3, [r5, #0x124]

; 303  : }

  00094	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00098	e12fff1e	 bx          lr
  0009c		 |$M2456|

			 ENDP  ; |XllpGPIORestore|

	EXPORT	|BCRCopy|

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

  00000			 AREA	 |.pdata$$BCRCopy|, PDATA, SELECTION=5, ASSOC=|.text| { |BCRCopy| } ; comdat associative
|$T2467| DCD	|$L2466|
	DCD	0x40002300
; Function compile flags: /Ogsy

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

  00000		 |BCRCopy| PROC

; 307  : {

  00000		 |$L2466|
  00000		 |$M2464|

; 308  : 	REG_COPY(dst, src, HLDR1, XLLP_BCR_HEXLED1_MASK);

  00000	e5913010	 ldr         r3, [r1, #0x10]

; 309  : 	REG_COPY(dst, src, HLDR2, XLLP_BCR_HEXLED2_MASK);

  00004	e5803010	 str         r3, [r0, #0x10]
  00008	e5912014	 ldr         r2, [r1, #0x14]
  0000c	e3a03cff	 mov         r3, #0xFF, 24
  00010	e383303f	 orr         r3, r3, #0x3F

; 310  : 	REG_COPY(dst, src, LCR, XLLP_BCR_LEDCTRL_MASK);

  00014	e0023003	 and         r3, r2, r3
  00018	e5803014	 str         r3, [r0, #0x14]
  0001c	e5913040	 ldr         r3, [r1, #0x40]
  00020	e3a02cff	 mov         r2, #0xFF, 24
  00024	e38220ff	 orr         r2, r2, #0xFF
  00028	e0033002	 and         r3, r3, r2
  0002c	e5803040	 str         r3, [r0, #0x40]

; 311  : 	REG_COPY(dst, src, MISCWR1, XLLP_BCR_MISCWR1_MASK);

  00030	e5913080	 ldr         r3, [r1, #0x80]

; 312  : 	REG_COPY(dst, src, MISCWR2, XLLP_BCR_MISCWR2_MASK);

  00034	e0033002	 and         r3, r3, r2
  00038	e5803080	 str         r3, [r0, #0x80]
  0003c	e5912084	 ldr         r2, [r1, #0x84]
  00040	e3a03f7f	 mov         r3, #0x7F, 30
  00044	e3833003	 orr         r3, r3, #3

; 313  : 	REG_COPY(dst, src, MISCWR3, XLLP_BCR_MISCWR3_MASK);

  00048	e0023003	 and         r3, r2, r3
  0004c	e5803084	 str         r3, [r0, #0x84]
  00050	e5913088	 ldr         r3, [r1, #0x88]

; 314  : 	REG_COPY(dst, src, PIMER1, XLLP_BCR_INTMASK_ENABLE_MASK);

  00054	e2033007	 and         r3, r3, #7
  00058	e5803088	 str         r3, [r0, #0x88]
  0005c	e59120c0	 ldr         r2, [r1, #0xC0]
  00060	e59f3020	 ldr         r3, [pc, #0x20]

; 315  : 	// Interrupt set/clear register needs to be handled specially
; 316  :     // REG_COPY(dst, src, PSCR1, XLLP_BCR_INTSET_CLEAR_MASK);
; 317  : 	REG_COPY(dst, src, PCMCIAS0SCR, XLLP_BCR_PCMCIA_SCR_S0_MASK);

  00064	e0023003	 and         r3, r2, r3
  00068	e58030c0	 str         r3, [r0, #0xC0]
  0006c	e59130e0	 ldr         r3, [r1, #0xE0]
  00070	e3c33b3e	 bic         r3, r3, #0x3E, 22
  00074	e58030e0	 str         r3, [r0, #0xE0]

; 318  : 	REG_COPY(dst, src, PCMCIAS1SCR, XLLP_BCR_PCMCIA_SCR_S1_MASK);

  00078	e59130e4	 ldr         r3, [r1, #0xE4]
  0007c	e3c33b3e	 bic         r3, r3, #0x3E, 22
  00080	e58030e4	 str         r3, [r0, #0xE4]

; 319  : }

  00084	e12fff1e	 bx          lr
  00088		 |$L2469|
  00088	000feeff	 DCD         0xfeeff
  0008c		 |$M2465|

			 ENDP  ; |BCRCopy|

	EXPORT	|XllpINTCSave|

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

  00000			 AREA	 |.pdata$$XllpINTCSave|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpINTCSave| } ; comdat associative
|$T2477| DCD	|$L2476|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |XllpINTCSave| PROC

; 323  : {

  00000		 |$L2476|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M2474|
  00004	e1a03001	 mov         r3, r1
  00008	e1a01000	 mov         r1, r0

; 324  : 	INTCCopy(save, regs);

  0000c	e1a00003	 mov         r0, r3
  00010	eb000000	 bl          INTCCopy

; 325  : }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M2475|

			 ENDP  ; |XllpINTCSave|

	EXPORT	|XllpINTCRestore|

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

  00000			 AREA	 |.pdata$$XllpINTCRestore|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpINTCRestore| } ; comdat associative
|$T2486| DCD	|$L2485|
	DCD	0x40000401
; Function compile flags: /Ogsy

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

  00000		 |XllpINTCRestore| PROC

; 328  : {

  00000		 |$L2485|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M2483|

; 329  : 	INTCCopy(regs, save);

  00004	eb000000	 bl          INTCCopy

; 330  : }

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

			 ENDP  ; |XllpINTCRestore|

	EXPORT	|XllpIMSave|
	IMPORT	|memcpy|

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

  00000			 AREA	 |.pdata$$XllpIMSave|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpIMSave| } ; comdat associative
|$T2497| DCD	|$L2496|
	DCD	0x40000701
; Function compile flags: /Ogsy

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

  00000		 |XllpIMSave| PROC

; 333  : {

  00000		 |$L2496|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M2494|
  00004	e1a03001	 mov         r3, r1
  00008	e1a01000	 mov         r1, r0

; 334  : 	memcpy(save, im, size);

  0000c	e1a00003	 mov         r0, r3
  00010	eb000000	 bl          memcpy

; 335  : }

  00014	e49de004	 ldr         lr, [sp], #4
  00018	e12fff1e	 bx          lr
  0001c		 |$M2495|

			 ENDP  ; |XllpIMSave|

	EXPORT	|XllpIMRestore|

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

  00000			 AREA	 |.pdata$$XllpIMRestore|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpIMRestore| } ; comdat associative
|$T2507| DCD	|$L2506|
	DCD	0x40000401
; Function compile flags: /Ogsy

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

  00000		 |XllpIMRestore| PROC

; 338  : {

  00000		 |$L2506|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M2504|

; 339  : 	memcpy(im, save, size);

  00004	eb000000	 bl          memcpy

; 340  : }

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

			 ENDP  ; |XllpIMRestore|

	EXPORT	|XllpBCRSave|

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

  00000			 AREA	 |.pdata$$XllpBCRSave|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpBCRSave| } ; comdat associative
|$T2516| DCD	|$L2515|
	DCD	0x40000a01
; Function compile flags: /Ogsy

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

  00000		 |XllpBCRSave| PROC

; 343  : {

  00000		 |$L2515|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M2513|
  00004	e1a05001	 mov         r5, r1
  00008	e1a04000	 mov         r4, r0

; 344  : 	BCRCopy(save, regs);

  0000c	e1a01004	 mov         r1, r4
  00010	e1a00005	 mov         r0, r5
  00014	eb000000	 bl          BCRCopy

; 345  :     save->PSCR1 = regs->PSCR1;

  00018	e59430d0	 ldr         r3, [r4, #0xD0]
  0001c	e58530d0	 str         r3, [r5, #0xD0]

; 346  : }

  00020	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00024	e12fff1e	 bx          lr
  00028		 |$M2514|

			 ENDP  ; |XllpBCRSave|

	EXPORT	|XllpBCRRestore|

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

  00000			 AREA	 |.pdata$$XllpBCRRestore|, PDATA, SELECTION=5, ASSOC=|.text| { |XllpBCRRestore| } ; comdat associative
|$T2525| DCD	|$L2524|
	DCD	0x40000401
; Function compile flags: /Ogsy

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

  00000		 |XllpBCRRestore| PROC

; 349  : {

  00000		 |$L2524|
  00000	e52de004	 str         lr, [sp, #-4]!
  00004		 |$M2522|

; 350  : 	BCRCopy(regs, save);

  00004	eb000000	 bl          BCRCopy

; 351  : }

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

			 ENDP  ; |XllpBCRRestore|

	EXPORT	|MyTestPoint|

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

  00000			 AREA	 |.pdata$$MyTestPoint|, PDATA, SELECTION=5, ASSOC=|.text| { |MyTestPoint| } ; comdat associative
|$T2533| DCD	|$L2532|
	DCD	0x40003300
; Function compile flags: /Ogsy

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

  00000		 |MyTestPoint| PROC

; 439  : {

  00000		 |$L2532|
  00000		 |$M2530|

⌨️ 快捷键说明

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