📄 xllp_suspendresume.cod
字号:
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 + -