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

📄 atapipcicd.cod

📁 windows CE 的BSP开发包.包含众多的驱动程序和OAL层的开发代码
💻 COD
📖 第 1 页 / 共 2 页
字号:
  00078	0a000049	 beq         |$L32113|
  0007c	e3a03909	 mov         r3, #9, 18
  00080	e3833008	 orr         r3, r3, #8
  00084	e1520003	 cmp         r2, r3
  00088	0a000045	 beq         |$L32113|
  0008c	e3a03909	 mov         r3, #9, 18
  00090	e383300c	 orr         r3, r3, #0xC
  00094	ea00003e	 b           |$L32197|
  00098		 |$L32190|
  00098	e3a03909	 mov         r3, #9, 18
  0009c	e3833014	 orr         r3, r3, #0x14
  000a0	e1520003	 cmp         r2, r3
  000a4	0a00003e	 beq         |$L32113|
  000a8	e3a03909	 mov         r3, #9, 18
  000ac	e3833018	 orr         r3, r3, #0x18
  000b0	e1520003	 cmp         r2, r3
  000b4	0a00003a	 beq         |$L32113|
  000b8	e3a03909	 mov         r3, #9, 18
  000bc	e3833028	 orr         r3, r3, #0x28
  000c0	e1520003	 cmp         r2, r3
  000c4	0a000036	 beq         |$L32113|
  000c8	e3a03909	 mov         r3, #9, 18
  000cc	e383302c	 orr         r3, r3, #0x2C
  000d0	e1520003	 cmp         r2, r3
  000d4	0a000032	 beq         |$L32113|
  000d8	e3a03909	 mov         r3, #9, 18
  000dc	e3833034	 orr         r3, r3, #0x34
  000e0	ea00002b	 b           |$L32197|
  000e4		 |$L32189|
  000e4	e3a03b93	 mov         r3, #0x93, 22
  000e8	e383301c	 orr         r3, r3, #0x1C
  000ec	e1520003	 cmp         r2, r3
  000f0	8a000017	 bhi         |$L32191|
  000f4	0a00002a	 beq         |$L32113|
  000f8	e3a03909	 mov         r3, #9, 18
  000fc	e383303e	 orr         r3, r3, #0x3E
  00100	e1520003	 cmp         r2, r3
  00104	0a000026	 beq         |$L32113|
  00108	e3a03b92	 mov         r3, #0x92, 22
  0010c	e3833008	 orr         r3, r3, #8
  00110	e1520003	 cmp         r2, r3
  00114	0a000022	 beq         |$L32113|
  00118	e3a03b92	 mov         r3, #0x92, 22
  0011c	e383300c	 orr         r3, r3, #0xC
  00120	e1520003	 cmp         r2, r3
  00124	0a00001e	 beq         |$L32113|
  00128	e3a03b93	 mov         r3, #0x93, 22
  0012c	e3833004	 orr         r3, r3, #4
  00130	e1520003	 cmp         r2, r3
  00134	0a00001a	 beq         |$L32113|
  00138	e3a03b93	 mov         r3, #0x93, 22
  0013c	e3833008	 orr         r3, r3, #8
  00140	e1520003	 cmp         r2, r3
  00144	0a000016	 beq         |$L32113|
  00148	e3a03b93	 mov         r3, #0x93, 22
  0014c	e383300c	 orr         r3, r3, #0xC
  00150	ea00000f	 b           |$L32197|
  00154		 |$L32191|
  00154	e35209cd	 cmp         r2, #0xCD, 18
  00158	0a000011	 beq         |$L32113|
  0015c	e3a039cd	 mov         r3, #0xCD, 18
  00160	e3833004	 orr         r3, r3, #4
  00164	e1520003	 cmp         r2, r3
  00168	0a00000d	 beq         |$L32113|
  0016c	e3a039cd	 mov         r3, #0xCD, 18
  00170	e3833008	 orr         r3, r3, #8
  00174	e1520003	 cmp         r2, r3
  00178	0a000009	 beq         |$L32113|
  0017c	e3a039cd	 mov         r3, #0xCD, 18
  00180	e383300c	 orr         r3, r3, #0xC
  00184	e1520003	 cmp         r2, r3
  00188	0a000005	 beq         |$L32113|
  0018c	e3a039cd	 mov         r3, #0xCD, 18
  00190	e3833010	 orr         r3, r3, #0x10
  00194		 |$L32197|
  00194	e1520003	 cmp         r2, r3

; 120  :                 }
; 121  :                 break;
; 122  : 
; 123  :             default:
; 124  :                 dwError = ERROR_NOT_SUPPORTED;

  00198	13a00032	 movne       r0, #0x32

; 125  :                 break;
; 126  :         }
; 127  :     }
; 128  : 
; 129  :     return dwError;
; 130  : }

  0019c	18bd4030	 ldmneia     sp!, {r4, r5, lr}
  001a0	112fff1e	 bxne        lr
  001a4		 |$L32113|

; 83   : 
; 84   :             // supported ATAPI commands
; 85   :             case IOCTL_CDROM_READ_SG:
; 86   :             case IOCTL_CDROM_TEST_UNIT_READY:
; 87   :             case IOCTL_CDROM_DISC_INFO:
; 88   :             case IOCTL_CDROM_EJECT_MEDIA:
; 89   :             case IOCTL_CDROM_LOAD_MEDIA:
; 90   : 
; 91   :             // supported DVD commands
; 92   :             case IOCTL_DVD_START_SESSION:
; 93   :             case IOCTL_DVD_READ_KEY:
; 94   :             case IOCTL_DVD_END_SESSION:
; 95   :             case IOCTL_DVD_SEND_KEY:
; 96   :             case IOCTL_DVD_GET_REGION:
; 97   : 
; 98   :             // supported audio commands
; 99   :             case IOCTL_CDROM_READ_TOC:
; 100  :             case IOCTL_CDROM_GET_CONTROL:
; 101  :             case IOCTL_CDROM_PLAY_AUDIO_MSF:
; 102  :             case IOCTL_CDROM_SEEK_AUDIO_MSF:
; 103  :             case IOCTL_CDROM_STOP_AUDIO:
; 104  :             case IOCTL_CDROM_PAUSE_AUDIO:
; 105  :             case IOCTL_CDROM_RESUME_AUDIO:
; 106  :             case IOCTL_CDROM_GET_VOLUME:
; 107  :             case IOCTL_CDROM_SET_VOLUME:
; 108  :             case IOCTL_CDROM_READ_Q_CHANNEL:
; 109  :             case IOCTL_CDROM_GET_LAST_SESSION:
; 110  :             case IOCTL_CDROM_RAW_READ:
; 111  :             case IOCTL_CDROM_DISK_TYPE:
; 112  :             case IOCTL_CDROM_SCAN_AUDIO:
; 113  :             case IOCTL_CDROM_ISSUE_INQUIRY:
; 114  : 
; 115  :                 if (IsAtapiDevice()) {

  001a4	e1a00005	 mov         r0, r5
  001a8	eb000000	 bl          |?IsAtapiDevice@CDisk@@QAAHXZ|
  001ac	e3500000	 cmp         r0, #0
  001b0	0a000004	 beq         |$L32114|

; 116  :                     dwError = AtapiIoctl(pIOReq);

  001b4	e1a01004	 mov         r1, r4
  001b8	e1a00005	 mov         r0, r5
  001bc	eb000000	 bl          |?AtapiIoctl@CPCIDiskAndCD@@QAAKPAU_IOREQ@@@Z|

; 125  :                 break;
; 126  :         }
; 127  :     }
; 128  : 
; 129  :     return dwError;
; 130  : }

  001c0	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  001c4	e12fff1e	 bx          lr
  001c8		 |$L32114|

; 117  :                 }
; 118  :                 else {
; 119  :                     dwError = ERROR_INVALID_OPERATION;

  001c8	e3a00d43	 mov         r0, #0x43, 26
  001cc	e380001d	 orr         r0, r0, #0x1D
  001d0		 |$L32115|

; 125  :                 break;
; 126  :         }
; 127  :     }
; 128  : 
; 129  :     return dwError;
; 130  : }

  001d0	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  001d4	e12fff1e	 bx          lr
  001d8		 |$M32200|

			 ENDP  ; |?MainIoctl@CPCIDiskAndCD@@UAAKPAU_IOREQ@@@Z|, CPCIDiskAndCD::MainIoctl

	EXPORT	|CreatePCIHDCD|
	IMPORT	|??2@YAPAXI@Z|				; operator new

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

  00000			 AREA	 |.pdata$$CreatePCIHDCD|, PDATA, SELECTION=5, ASSOC=|.text| { |CreatePCIHDCD| } ; comdat associative
|$T32219| DCD	|$L32218|
	DCD	0x40001101
; Function compile flags: /Ogsy

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

  00000		 |CreatePCIHDCD| PROC

; 40   : {

  00000		 |$L32218|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M32216|
  00004	e1a05000	 mov         r5, r0

; 41   :     return new CPCIDiskAndCD(hDevKey);

  00008	e3a00e77	 mov         r0, #0x77, 28
  0000c	eb000000	 bl          |??2@YAPAXI@Z|
  00010	e1b04000	 movs        r4, r0
  00014	0a000005	 beq         |$L32207|
  00018	e1a01005	 mov         r1, r5
  0001c	e1a00004	 mov         r0, r4
  00020	eb000000	 bl          |??0CPCIDisk@@QAA@PAUHKEY__@@@Z|
  00024	e59f3014	 ldr         r3, [pc, #0x14]
  00028	e5843000	 str         r3, [r4]
  0002c	ea000000	 b           |$L32208|
  00030		 |$L32207|
  00030	e3a04000	 mov         r4, #0
  00034		 |$L32208|
  00034	e1a00004	 mov         r0, r4

; 42   : }

  00038	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  0003c	e12fff1e	 bx          lr
  00040		 |$L32221|
  00040	00000000	 DCD         |??_7CPCIDiskAndCD@@6B@|
  00044		 |$M32217|

			 ENDP  ; |CreatePCIHDCD|

	IMPORT	|??3@YAXPAX@Z|				; operator delete

  00000			 AREA	 |.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000			 AREA	 |.pdata$$??_GCPCIDiskAndCD@@UAAPAXI@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| } ; comdat associative
|$T32234| DCD	|$L32233|
	DCD	0x40000a01
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |??_GCPCIDiskAndCD@@UAAPAXI@Z| }, CODE, ARM, SELECTION=2 ; comdat any

  00000		 |??_GCPCIDiskAndCD@@UAAPAXI@Z| PROC	; CPCIDiskAndCD::`scalar deleting destructor'
  00000		 |$L32233|
  00000	e92d4030	 stmdb       sp!, {r4, r5, lr}
  00004		 |$M32231|
  00004	e1a04001	 mov         r4, r1
  00008	e1a05000	 mov         r5, r0
  0000c	eb000000	 bl          |??1CPCIDisk@@UAA@XZ|
  00010	e3140001	 tst         r4, #1
  00014	11a00005	 movne       r0, r5
  00018	1b000000	 blne        |??3@YAXPAX@Z|
  0001c	e1a00005	 mov         r0, r5
  00020	e8bd4030	 ldmia       sp!, {r4, r5, lr}
  00024	e12fff1e	 bx          lr
  00028		 |$M32232|

			 ENDP  ; |??_GCPCIDiskAndCD@@UAAPAXI@Z|, CPCIDiskAndCD::`scalar deleting destructor'

	END

⌨️ 快捷键说明

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