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

📄 interrupt.cod

📁 EP9315的BSP包(WINCE下的BSP,内有各种驱动的详细的代码)
💻 COD
📖 第 1 页 / 共 5 页
字号:
; 504  :             *VIC2_INTENABLE     = INT2_SPI;

  0012c	e59f1130	 ldr       r1, [pc, #0x130]
  00130	e3a00602	 mov       r0, #2, 12

; 505  :             gdwInterruptMask2   |= INT2_SPI;

  00134	e59f2124	 ldr       r2, [pc, #0x124]
  00138	e5810000	 str       r0, [r1]
  0013c	e5920000	 ldr       r0, [r2]
  00140	e3801602	 orr       r1, r0, #2, 12

; 506  :             fPS2Int             = 0;

  00144	e59f012c	 ldr       r0, [pc, #0x12C]
  00148	e5821000	 str       r1, [r2]
  0014c	e3a01000	 mov       r1, #0
  00150	e5801000	 str       r1, [r0]

; 507  :             break;

  00154	ea00003c	 b         |$L14042|
  00158		 |$L14060|

; 508  : 
; 509  :         case SYSINTR_RTC_ALARM:
; 510  :             *VIC2_INTENABLE     = INT2_RTC;
; 511  :             gdwInterruptMask2   |= INT2_RTC;

  00158	e59f2100	 ldr       r2, [pc, #0x100]
  0015c	e59f1100	 ldr       r1, [pc, #0x100]
  00160		 |$L14256|
  00160	e3a00020	 mov       r0, #0x20
  00164	e5810000	 str       r0, [r1]
  00168	e5920000	 ldr       r0, [r2]
  0016c	e3801020	 orr       r1, r0, #0x20

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  00170	e5821000	 str       r1, [r2]

; 551  :             break;

  00174	ea000034	 b         |$L14042|
  00178		 |$L14062|

; 512  :             break;
; 513  : 
; 514  :         case SYSINTR_DMA0:
; 515  :         case SYSINTR_DMA1:
; 516  :         case SYSINTR_DMA2:
; 517  :         case SYSINTR_DMA3:
; 518  :         case SYSINTR_DMA4:
; 519  :         case SYSINTR_DMA5:
; 520  :         case SYSINTR_DMA6:
; 521  :         case SYSINTR_DMA7:
; 522  :         case SYSINTR_DMA8:
; 523  :         case SYSINTR_DMA9:
; 524  :             *VIC1_INTENABLE = INT1_DMAM2P0<< (idInt - SYSINTR_DMA0);

  00178	e244101f	 sub       r1, r4, #0x1F
  0017c	e59f20ec	 ldr       r2, [pc, #0xEC]
  00180	e3a03080	 mov       r3, #0x80
  00184	e1a00113	 mov       r0, r3, lsl r1
  00188	e5820000	 str       r0, [r2]

; 525  :             gdwInterruptMask1 |= INT1_DMAM2P0<< (idInt - SYSINTR_DMA0);

  0018c	e59f20e0	 ldr       r2, [pc, #0xE0]
  00190	e5920000	 ldr       r0, [r2]
  00194	e1801113	 orr       r1, r0, r3, lsl r1

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  00198	e5821000	 str       r1, [r2]

; 551  :             break;

  0019c	ea00002a	 b         |$L14042|
  001a0		 |$L14064|

; 526  :             break;
; 527  : 
; 528  :         case SYSINTR_TOUCH:
; 529  :             *VIC1_INTENABLE = INT1_TOUCH;

  001a0	e59f10c8	 ldr       r1, [pc, #0xC8]
  001a4	e3a00101	 mov       r0, #1, 2

; 530  :             gdwInterruptMask1 |= INT1_TOUCH;

  001a8	e59f20c4	 ldr       r2, [pc, #0xC4]
  001ac	e5810000	 str       r0, [r1]
  001b0	e5920000	 ldr       r0, [r2]
  001b4	e3801101	 orr       r1, r0, #1, 2

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  001b8	e5821000	 str       r1, [r2]

; 551  :             break;

  001bc	ea000022	 b         |$L14042|
  001c0		 |$L14066|

; 531  :             break;
; 532  : 
; 533  :         case SYSINTR_TIMER2:
; 534  :             *VIC1_INTENABLE = INT1_TIMER2;
; 535  :             gdwInterruptMask1 |= INT1_TIMER2;

  001c0	e59f20ac	 ldr       r2, [pc, #0xAC]
  001c4	e59f10a4	 ldr       r1, [pc, #0xA4]

; 536  :             break;

  001c8	eaffffe4	 b         |$L14256|
  001cc		 |$L14068|

; 537  : 
; 538  :         case SYSINTR_IR:
; 539  :             *VIC2_INTENABLE = INT2_IRDA;

  001cc	e59f1090	 ldr       r1, [pc, #0x90]
  001d0	e3a00040	 mov       r0, #0x40

; 540  :             gdwInterruptMask2 |= INT2_IRDA;

  001d4	e59f2084	 ldr       r2, [pc, #0x84]
  001d8	e5810000	 str       r0, [r1]
  001dc	e5920000	 ldr       r0, [r2]
  001e0	e3801040	 orr       r1, r0, #0x40

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  001e4	e5821000	 str       r1, [r2]

; 551  :             break;

  001e8	ea000017	 b         |$L14042|
  001ec		 |$L14070|

; 541  :             break;
; 542  :         case SYSINTR_IDE:
; 543  :             NKDbgPrintfW(L"OEMInterruptEnable: SYSINTR_IDE");

  001ec	e59f0078	 ldr       r0, [pc, #0x78]
  001f0	eb000000	 bl        NKDbgPrintfW

; 544  :             *VIC2_INTENABLE = INT2_EXT3;

  001f4	e59f3068	 ldr       r3, [pc, #0x68]

; 545  :             gdwInterruptMask2 |= INT2_EXT3;

  001f8	e59f2060	 ldr       r2, [pc, #0x60]
  001fc	e3a00c01	 mov       r0, #1, 24
  00200	e5830000	 str       r0, [r3]
  00204	e5920000	 ldr       r0, [r2]
  00208	e3801c01	 orr       r1, r0, #1, 24

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  0020c	e5821000	 str       r1, [r2]

; 551  :             break;

  00210	ea00000d	 b         |$L14042|
  00214		 |$L14073|

; 546  :             break;
; 547  :         case SYSINTR_PCMCIA_LEVEL:
; 548  :             NKDbgPrintfW(L"OEMInterruptEnable: SYSINTR_PCMCIA_LEVEL");

  00214	e59f004c	 ldr       r0, [pc, #0x4C]
  00218	eb000000	 bl        NKDbgPrintfW

; 549  :             *VIC2_INTENABLE = INT2_GPIO6;

  0021c	e59f3040	 ldr       r3, [pc, #0x40]

; 550  :             gdwInterruptMask2 |= INT2_GPIO6;

  00220	e59f2038	 ldr       r2, [pc, #0x38]
  00224	e3a00802	 mov       r0, #2, 16
  00228	e5830000	 str       r0, [r3]
  0022c	e5920000	 ldr       r0, [r2]
  00230	e3801802	 orr       r1, r0, #2, 16
  00234	e5821000	 str       r1, [r2]

; 551  :             break;

  00238	ea000003	 b         |$L14042|
  0023c		 |$L14076|

; 552  : 
; 553  :         default:
; 554  :             NKDbgPrintfW(L"OEMInterruptEnable: Unknown Interrupt #%02d\r\n", idInt);

  0023c	e59f0018	 ldr       r0, [pc, #0x18]
  00240	e1a01004	 mov       r1, r4
  00244	eb000000	 bl        NKDbgPrintfW

; 555  :             bRet = FALSE;

  00248	e3a05000	 mov       r5, #0
  0024c		 |$L14042|

; 556  :             break;
; 557  :     }
; 558  : 
; 559  :     INTERRUPTS_ON();

  0024c	eb000000	 bl        INTERRUPTS_ON

; 560  : 
; 561  :     return(bRet);

  00250	e1a00005	 mov       r0, r5

; 562  : }

  00254	e8bd4030	 ldmia     sp!, {r4, r5, lr}
  00258	e12fff1e	 bx        lr
  0025c		 |$L14263|
  0025c	00000000	 DCD       |??_C@_1FM@HJGP@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?3?$AA?5@|
  00260	00000000	 DCD       |gdwInterruptMask2|
  00264	b00c0010	 DCD       0xb00c0010
  00268	00000000	 DCD       |??_C@_1FC@KJAL@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?3?$AA?5@|
  0026c	00000000	 DCD       |??_C@_1EA@LKDN@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAE?$AAn?$AAa?$AAb?$AAl?$AAe?$AA?3?$AA?5@|
  00270	b00b0010	 DCD       0xb00b0010
  00274	00000000	 DCD       |gdwInterruptMask1|
  00278	00000000	 DCD       |fPS2Int|
  0027c		 |$M14260|

			 ENDP  ; |OEMInterruptEnable|

	EXPORT	|OEMInterruptDisable|
	EXPORT	|??_C@_1EC@OJBB@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| [ DATA ] ; `string'
	EXPORT	|??_C@_1FE@CMMN@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| [ DATA ] ; `string'
	EXPORT	|??_C@_1FO@BJCM@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| [ DATA ] ; `string'

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

  00000			 AREA	 |.pdata$$OEMInterruptDisable|, PDATA, SELECTION=5, ASSOC=|.text| { |OEMInterruptDisable| } ; comdat associative
|$T14274| DCD	|OEMInterruptDisable|
	DCD	0x40009801

  00000			 AREA	 |.rdata| { |??_C@_1EC@OJBB@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1EC@OJBB@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| DCB "O"
	DCB	0x0, "E", 0x0, "M", 0x0, "I", 0x0, "n", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "r", 0x0, "u", 0x0, "p", 0x0, "t", 0x0, "D"
	DCB	0x0, "i", 0x0, "s", 0x0, "a", 0x0, "b", 0x0, "l", 0x0, "e"
	DCB	0x0, ":", 0x0, " ", 0x0, "S", 0x0, "Y", 0x0, "S", 0x0, "I"
	DCB	0x0, "N", 0x0, "T", 0x0, "R", 0x0, "_", 0x0, "I", 0x0, "D"
	DCB	0x0, "E", 0x0, 0x0, 0x0			; `string'

  00000			 AREA	 |.rdata| { |??_C@_1FE@CMMN@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FE@CMMN@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| DCB "O"
	DCB	0x0, "E", 0x0, "M", 0x0, "I", 0x0, "n", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "r", 0x0, "u", 0x0, "p", 0x0, "t", 0x0, "D"
	DCB	0x0, "i", 0x0, "s", 0x0, "a", 0x0, "b", 0x0, "l", 0x0, "e"
	DCB	0x0, ":", 0x0, " ", 0x0, "S", 0x0, "Y", 0x0, "S", 0x0, "I"
	DCB	0x0, "N", 0x0, "T", 0x0, "R", 0x0, "_", 0x0, "P", 0x0, "C"
	DCB	0x0, "M", 0x0, "C", 0x0, "I", 0x0, "A", 0x0, "_", 0x0, "L"
	DCB	0x0, "E", 0x0, "V", 0x0, "E", 0x0, "L", 0x0, 0x0, 0x0 ; `string'

  00000			 AREA	 |.rdata| { |??_C@_1FO@BJCM@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| }, DATA, READONLY, SELECTION=2 ; comdat any
|??_C@_1FO@BJCM@?$AAO?$AAE?$AAM?$AAI?$AAn?$AAt?$AAe?$AAr?$AAr?$AAu?$AAp?$AAt?$AAD?$AAi?$AAs?$AAa?$AAb?$AAl?$AAe?$AA?3@| DCB "O"
	DCB	0x0, "E", 0x0, "M", 0x0, "I", 0x0, "n", 0x0, "t", 0x0, "e"
	DCB	0x0, "r", 0x0, "r", 0x0, "u", 0x0, "p", 0x0, "t", 0x0, "D"
	DCB	0x0, "i", 0x0, "s", 0x0, "a", 0x0, "b", 0x0, "l", 0x0, "e"
	DCB	0x0, ":", 0x0, " ", 0x0, "U", 0x0, "n", 0x0, "k", 0x0, "n"
	DCB	0x0, "o", 0x0, "w", 0x0, "n", 0x0, " ", 0x0, "I", 0x0, "n"
	DCB	0x0, "t", 0x0, "e", 0x0, "r", 0x0, "r", 0x0, "u", 0x0, "p"
	DCB	0x0, "t", 0x0, " ", 0x0, "#", 0x0, "%", 0x0, "0", 0x0, "2"
	DCB	0x0, "d", 0x0, 0xd, 0x0, 0xa, 0x0, 0x0, 0x0 ; `string'
; Function compile flags: /Ogsy

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

  00000		 |OEMInterruptDisable| PROC

; 583  : {

  00000	e92d4010	 stmdb     sp!, {r4, lr}
  00004		 |$M14272|
  00004	e1a04000	 mov       r4, r0

; 584  :     //NKDbgPrintfW(L"OEMInterruptDisable: Interrupt #%02d\r\n", idInt);
; 585  :     INTERRUPTS_OFF();

  00008	eb000000	 bl        INTERRUPTS_OFF

; 586  : 
; 587  :     switch(idInt)
; 588  :     {

  0000c	e244300a	 sub       r3, r4, #0xA
  00010	e353001e	 cmp       r3, #0x1E
  00014	8a000084	 bhi       |$L14117|
  00018	e1a00083	 mov       r0, r3, lsl #1
  0001c	e080000f	 add       r0, r0, pc
  00020	e1d000b4	 ldrh      r0, [r0, #4]
  00024	e08ff000	 add       pc, pc, r0
  00028		 |$L14271|
  00028		 |$L14270|
  00028	020c		 DCW       0x20c
  0002a	0200		 DCW       0x200
  0002c	0200		 DCW       0x200
  0002e	011c		 DCW       0x11c
  00030	0200		 DCW       0x200
  00032	020c		 DCW       0x20c
  00034	00dc		 DCW       0xdc
  00036	0164		 DCW       0x164
  00038	0200		 DCW       0x200
  0003a	01b0		 DCW       0x1b0
  0003c	01d8		 DCW       0x1d8
  0003e	0200		 DCW       0x200
  00040	0190		 DCW       0x190
  00042	003c		 DCW       0x3c
  00044	005c		 DCW       0x5c
  00046	007c		 DCW       0x7c
  00048	009c		 DCW       0x9c
  0004a	00bc		 DCW       0xbc
  0004c	00fc		 DCW       0xfc
  0004e	0184		 DCW       0x184
  00050	0200		 DCW       0x200
  00052	013c		 DCW       0x13c
  00054	013c		 DCW       0x13c
  00056	013c		 DCW       0x13c
  00058	013c		 DCW       0x13c
  0005a	013c		 DCW       0x13c
  0005c	013c		 DCW       0x13c
  0005e	013c		 DCW       0x13c
  00060	013c		 DCW       0x13c
  00062	013c		 DCW       0x13c
  00064	013c		 DCW       0x13c

; 688  : 
; 689  :     return;
; 690  : }

  00066	013c		 DCW       0x13c
  00068		 |$L14086|

; 589  :         case SYSINTR_TIMING:
; 590  :             //
; 591  :             // No action necessary
; 592  :             //
; 593  :             break;
; 594  : 
; 595  :         case SYSINTR_ETHER:
; 596  :             //EdbgOutputDebugString("OEMInterruptDisable:SYSINTR_ETHER\n");
; 597  :             *VIC2_INTCLEAR    = INT2_ETHERNET;

  00068	e59f11dc	 ldr       r1, [pc, #0x1DC]
  0006c	e3a00080	 mov       r0, #0x80

; 598  :             gdwInterruptMask2 &= ~INT2_ETHERNET;

  00070	e59f21d0	 ldr       r2, [pc, #0x1D0]
  00074	e5810000	 str       r0, [r1]
  00078	e5920000	 ldr       r0, [r2]
  0007c	e3c01080	 bic       r1, r0, #0x80

; 678  :             gdwInterruptMask2 &= ~INT2_GPIO6;

  00080	e5821000	 str       r1, [r2]

; 679  :             break;

  00084	ea00006b	 b         |$L14082|
  00088		 |$L14089|

; 599  :             break;
; 600  : 
; 601  :         #ifdef IMGSHAREETH
; 602  :         case SYSINTR_VMINI:
; 603  :             break;
; 604  :         #endif // IMGSHAREETH
; 605  : 
; 606  :         case SYSINTR_USB:
; 607  :             *VIC2_INTCLEAR      = INT2_USB;

  00088	e59f11bc	 ldr       r1, [pc, #0x1BC]
  0008c	e3a00401	 mov       r0, #1, 8

; 608  :             gdwInterruptMask2   &= ~INT2_USB;

  00090	e59f21b0	 ldr       r2, [pc, #0x1B0]
  00094	e5810000	 str       r0, [r1]
  00098	e5920000	 ldr       r0, [r2]
  0009c	e3c01401	 bic       r1, r0, #1, 8

; 678  :             gdwInterruptMask2 &= ~INT2_GPIO6;

  000a0	e5821000	 str       r1, [r2]

; 679  :             break;

  000a4	ea000063	 b         |$L14082|
  000a8		 |$L14091|

; 609  :             break;
; 610  : 
; 611  :         case SYSINTR_UART1:
; 612  :             *VIC2_INTCLEAR      = INT2_UART1;

  000a8	e59f119c	 ldr       r1, [pc, #0x19C]
  000ac	e3a00601	 mov       r0, #1, 12

; 613  :             gdwInterruptMask2   &= ~INT2_UART1;

  000b0	e59f2190	 ldr       r2, [pc, #0x190]
  000b4	e5810000	 str       r0, [r1]
  000b8	e5920000	 ldr       r0, [r2]
  000bc	e3c01601	 bic       r1, r0, #1, 12

; 678  :             gdwInterruptMask2 &= ~INT2_GPIO6;

  000c0	e5821000	 str       r1, [r2]

; 679  :             break;

  000c4	ea00005b	 b         |$L14082|
  000c8		 |$L14093|

; 614  :             break;
; 615  : 
; 616  :         case SYSINTR_UART2:
; 617  :             *VIC2_INTCLEAR      = INT2_UART2;

⌨️ 快捷键说明

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