亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? cdio.cod

?? windows CE 的BSP開發(fā)包.包含眾多的驅(qū)動(dòng)程序和OAL層的開發(fā)代碼
?? COD
?? 第 1 頁 / 共 5 頁
字號(hào):
  0000c	e1a0a002	 mov         r10, r2
  00010	e1a07001	 mov         r7, r1
  00014	e1a08000	 mov         r8, r0

; 574  :     DWORD       dwSgLeft = dwSgCount;
; 575  :     DWORD       dwTransferCount;
; 576  :     PSGX_BUF     pCurrentSegment;
; 577  :     DWORD       dwWriteCount = 0;
; 578  :     DWORD       dwThisCount;
; 579  :     BYTE        *pCurrentBuffer=NULL;
; 580  : 
; 581  :     DEBUGMSG( ZONE_IO | ZONE_CDROM, (TEXT("ATAPI:AtapiReceiveData - Entered SgCount=%ld.\r\n"), dwSgCount));
; 582  : 
; 583  :     pCurrentSegment = pSgBuf;
; 584  : 
; 585  :     m_wNextByte = 0xFFFF; // There is no byte left from the previous transaction.

  00018	e3a0ecff	 mov         lr, #0xFF, 24
  0001c	e38ee0ff	 orr         lr, lr, #0xFF
  00020	e3a05000	 mov         r5, #0
  00024	e1c8e5b0	 strh        lr, [r8, #0x50]
  00028	e58d5000	 str         r5, [sp]
  0002c	e3a0b000	 mov         r11, #0
  00030		 |$L32343|

; 586  :     
; 587  :     for(;;) {   
; 588  :         if (m_fInterruptSupported) {   

  00030	e598e040	 ldr         lr, [r8, #0x40]
  00034	e35e0000	 cmp         lr, #0
  00038	0a00000f	 beq         |$L32351|

; 589  :             // 
; 590  :             //  Waiting for ATA_INTR_READ or ATA_INTR_WRITE  or ATA_INTR_READY
; 591  :             //
; 592  :             if (!WaitForInterrupt(m_dwDiskIoTimeOut)) {

  0003c	e598e000	 ldr         lr, [r8]
  00040	e59816c8	 ldr         r1, [r8, #0x6C8]
  00044	e1a00008	 mov         r0, r8
  00048	e59e4038	 ldr         r4, [lr, #0x38]
  0004c	e1a0e00f	 mov         lr, pc
  00050	e12fff14	 bx          r4
  00054	e3500000	 cmp         r0, #0
  00058	0a00006d	 beq         |$L32978|

; 593  :                 DEBUGMSG( ZONE_CDROM | ZONE_ERROR, (TEXT("ATAPI:AtapiReceiveData - Wait for ATA_INTR_READ failed (DevId %x) \r\n"), m_dwDeviceId));
; 594  :                 return FALSE;
; 595  :             }
; 596  :             WORD wState = CheckIntrState();

  0005c	e1a00008	 mov         r0, r8
  00060	eb000000	 bl          |?CheckIntrState@CDisk@@QAAGXZ|
  00064	e1a03800	 mov         r3, r0, lsl #16
  00068	e1a03823	 mov         r3, r3, lsr #16

; 597  :             //
; 598  :             // Return Error if not IO Interrupt
; 599  :             //
; 600  :             if (wState ==  ATA_INTR_ERROR)

  0006c	e3530000	 cmp         r3, #0
  00070	0a000067	 beq         |$L32978|

; 604  :             
; 605  :             }
; 606  :             if (wState ==  ATA_INTR_READY)

  00074	e3530003	 cmp         r3, #3
  00078	0a000061	 beq         |$L32981|
  0007c		 |$L32351|

; 610  :             }
; 611  :         };
; 612  :         //
; 613  :         // Wait until device is ready for  data transfer.
; 614  :         //
; 615  :         if (!WaitForDRQ()) 

  0007c	e5983000	 ldr         r3, [r8]
  00080	e1a00008	 mov         r0, r8
  00084	e5933018	 ldr         r3, [r3, #0x18]
  00088	e1a0e00f	 mov         lr, pc
  0008c	e12fff13	 bx          r3
  00090	e3500000	 cmp         r0, #0
  00094	0a00005e	 beq         |$L32978|

; 616  :         {
; 617  :             DEBUGMSG( ZONE_IO | ZONE_ERROR | ZONE_CDROM, (TEXT("ATAPI:AtapiReceiveData Failed at WaitForDRQ Status=%02X Error=%02X Deivce=%ld\r\n"), GetAltStatus(), GetError(), m_dwDeviceId));
; 618  :             return(FALSE);
; 619  :         }
; 620  :     
; 621  :         //
; 622  :         //  Read Transfer Counter set by Device.
; 623  :         //
; 624  :         dwTransferCount = GetCount();

  00098	e1a00008	 mov         r0, r8
  0009c	eb000000	 bl          |?GetCount@CDisk@@QAAGXZ|
  000a0	e1a09000	 mov         r9, r0
  000a4	ea00004f	 b           |$L32995|
  000a8		 |$L32357|

; 625  : 
; 626  :         DEBUGMSG (ZONE_CDROM | ZONE_IO, (TEXT(">>>Read Transfer Count : %x  SG=%x \r\n"),dwTransferCount,dwSgLeft));
; 627  : 
; 628  :         while ((dwSgLeft>0) && (dwTransferCount>0))

  000a8	e3590000	 cmp         r9, #0
  000ac	0a00004f	 beq         |$L32358|

; 629  :         {   
; 630  :             dwThisCount = min(dwTransferCount, pCurrentSegment->sb_len);

  000b0	e5d7e004	 ldrb        lr, [r7, #4]
  000b4	e5d73005	 ldrb        r3, [r7, #5]
  000b8	e5d72006	 ldrb        r2, [r7, #6]
  000bc	e5d71007	 ldrb        r1, [r7, #7]
  000c0	e18e3403	 orr         r3, lr, r3, lsl #8
  000c4	e1833802	 orr         r3, r3, r2, lsl #16

; 631  :             
; 632  :             if (pCurrentSegment->sb_buf) {

  000c8	e5d70000	 ldrb        r0, [r7]
  000cc	e1836c01	 orr         r6, r3, r1, lsl #24
  000d0	e5d73001	 ldrb        r3, [r7, #1]
  000d4	e5d72002	 ldrb        r2, [r7, #2]
  000d8	e5d71003	 ldrb        r1, [r7, #3]
  000dc	e1803403	 orr         r3, r0, r3, lsl #8
  000e0	e1590006	 cmp         r9, r6
  000e4	e1833802	 orr         r3, r3, r2, lsl #16
  000e8	31a06009	 movcc       r6, r9
  000ec	e1930c01	 orrs        r0, r3, r1, lsl #24
  000f0	0a000012	 beq         |$L32362|

; 633  :                 // map address and check for security violation
; 634  :                 pCurrentBuffer = (LPBYTE)MapCallerPtr((LPVOID)pCurrentSegment->sb_buf, pCurrentSegment->sb_len);

  000f4	e5d7e004	 ldrb        lr, [r7, #4]
  000f8	e5d73005	 ldrb        r3, [r7, #5]
  000fc	e5d72006	 ldrb        r2, [r7, #6]
  00100	e5d71007	 ldrb        r1, [r7, #7]
  00104	e18e3403	 orr         r3, lr, r3, lsl #8
  00108	e1833802	 orr         r3, r3, r2, lsl #16
  0010c	e1831c01	 orr         r1, r3, r1, lsl #24
  00110	eb000000	 bl          MapCallerPtr

; 635  :                 if (pCurrentSegment->sb_buf != NULL && pCurrentBuffer == NULL) {

  00114	e5d7e000	 ldrb        lr, [r7]
  00118	e5d73001	 ldrb        r3, [r7, #1]
  0011c	e5d72002	 ldrb        r2, [r7, #2]
  00120	e5d71003	 ldrb        r1, [r7, #3]
  00124	e18e3403	 orr         r3, lr, r3, lsl #8
  00128	e1833802	 orr         r3, r3, r2, lsl #16
  0012c	e1933c01	 orrs        r3, r3, r1, lsl #24
  00130	e1a0b000	 mov         r11, r0
  00134	0a000001	 beq         |$L32362|
  00138	e35b0000	 cmp         r11, #0
  0013c	0a000036	 beq         |$L32976|
  00140		 |$L32362|

; 641  :                 }
; 642  :             }
; 643  :         
; 644  :             if (pCurrentBuffer)

  00140	e35b0000	 cmp         r11, #0
  00144	0a000006	 beq         |$L32364|

; 645  :             {
; 646  :                 WriteBuffer(pCurrentBuffer,dwThisCount);

  00148	e1a02006	 mov         r2, r6
  0014c	e1a0100b	 mov         r1, r11
  00150	e1a00008	 mov         r0, r8
  00154	eb000000	 bl          |?WriteBuffer@CDisk@@QAAXPAEK@Z|

; 647  :                 dwTransferCount -= dwThisCount;
; 648  :                 dwWriteCount += dwThisCount;

  00158	e0855006	 add         r5, r5, r6
  0015c	e58d5000	 str         r5, [sp]
  00160	e0499006	 sub         r9, r9, r6
  00164		 |$L32364|

; 649  :             }
; 650  :             pCurrentSegment->sb_len -=dwThisCount;

  00164	e5d7e004	 ldrb        lr, [r7, #4]
  00168	e5d72005	 ldrb        r2, [r7, #5]

; 651  :             pCurrentSegment->sb_buf +=dwThisCount;

  0016c	e5d71000	 ldrb        r1, [r7]
  00170	e5d73001	 ldrb        r3, [r7, #1]
  00174	e5d74006	 ldrb        r4, [r7, #6]
  00178	e5d75002	 ldrb        r5, [r7, #2]
  0017c	e5d70007	 ldrb        r0, [r7, #7]
  00180	e18e2402	 orr         r2, lr, r2, lsl #8
  00184	e5d7e003	 ldrb        lr, [r7, #3]
  00188	e1811403	 orr         r1, r1, r3, lsl #8
  0018c	e1823804	 orr         r3, r2, r4, lsl #16
  00190	e1812805	 orr         r2, r1, r5, lsl #16
  00194	e1833c00	 orr         r3, r3, r0, lsl #24
  00198	e1822c0e	 orr         r2, r2, lr, lsl #24
  0019c	e0535006	 subs        r5, r3, r6
  001a0	e0866002	 add         r6, r6, r2
  001a4	e1a00426	 mov         r0, r6, lsr #8
  001a8	e1a0e826	 mov         lr, r6, lsr #16
  001ac	e1a04c26	 mov         r4, r6, lsr #24
  001b0	e1a03425	 mov         r3, r5, lsr #8
  001b4	e1a02825	 mov         r2, r5, lsr #16
  001b8	e1a01c25	 mov         r1, r5, lsr #24
  001bc	e5c70001	 strb        r0, [r7, #1]
  001c0	e5c7e002	 strb        lr, [r7, #2]
  001c4	e5c74003	 strb        r4, [r7, #3]
  001c8	e5c73005	 strb        r3, [r7, #5]
  001cc	e5c72006	 strb        r2, [r7, #6]
  001d0	e5c71007	 strb        r1, [r7, #7]
  001d4	e5c75004	 strb        r5, [r7, #4]
  001d8	e59d5000	 ldr         r5, [sp]
  001dc	e5c76000	 strb        r6, [r7]

; 652  : 
; 653  :             if (pCurrentSegment->sb_len == 0)
; 654  :             {
; 655  :                 // Go to the next SG
; 656  :                 dwSgLeft--;           
; 657  :                 pCurrentSegment++;

  001e0	02877008	 addeq       r7, r7, #8
  001e4	024aa001	 subeq       r10, r10, #1
  001e8		 |$L32995|

; 625  : 
; 626  :         DEBUGMSG (ZONE_CDROM | ZONE_IO, (TEXT(">>>Read Transfer Count : %x  SG=%x \r\n"),dwTransferCount,dwSgLeft));
; 627  : 
; 628  :         while ((dwSgLeft>0) && (dwTransferCount>0))

  001e8	e35a0000	 cmp         r10, #0
  001ec	1affffad	 bne         |$L32357|
  001f0		 |$L32358|

; 658  :             }
; 659  : 
; 660  :         } // End of while loop
; 661  :     
; 662  :         if (pdwBytesWrite)

  001f0	e59d3004	 ldr         r3, [sp, #4]
  001f4	e3530000	 cmp         r3, #0

; 663  :             *pdwBytesWrite = dwWriteCount;

  001f8	15835000	 strne       r5, [r3]

; 664  :         if (!dwSgLeft)

  001fc	e35a0000	 cmp         r10, #0
  00200	1affff8a	 bne         |$L32343|
  00204		 |$L32981|

; 665  :             break;
; 666  :     }
; 667  :     return TRUE;

  00204	e3a00001	 mov         r0, #1
  00208		 |$L32334|

; 668  : } 

  00208	e28dd008	 add         sp, sp, #8
  0020c	e8bd4ff0	 ldmia       sp!, {r4 - r11, lr}
  00210	e12fff1e	 bx          lr
  00214		 |$L32978|

; 601  :             {   
; 602  :                 DEBUGMSG( ZONE_IO | ZONE_ERROR | ZONE_CDROM, (TEXT("ATAPI:AtapiReceiveData - Wait for ATA_INTR_READ failed (DevId %x) \r\n"), m_dwDeviceId));
; 603  :                 return FALSE;

  00214	e3a00000	 mov         r0, #0

; 607  :             {
; 608  :                 DEBUGMSG( ZONE_IO | ZONE_CDROM, (TEXT("ATAPI:AtapiReceiveData - Exiting with Interrupt Ready signal Device=%ld\r\n"), m_dwDeviceId));
; 609  :                 return TRUE;

  00218	eafffffa	 b           |$L32334|
  0021c		 |$L32976|

; 636  :                     // security violation
; 637  :                     DEBUGMSG(ZONE_ERROR, (TEXT(
; 638  :                         "Atapi!CPCIDiskAndCD::AtapiSendData> Failed to map pointer to caller\r\n"
; 639  :                         )));
; 640  :                     return ERROR_ACCESS_DENIED;

  0021c	e3a00005	 mov         r0, #5
  00220	eafffff8	 b           |$L32334|
  00224		 |$M32998|

			 ENDP  ; |?AtapiSendData@CPCIDiskAndCD@@QAAHPAU_SGX_BUF@@KPAK@Z|, CPCIDiskAndCD::AtapiSendData

	EXPORT	|?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z| ; CPCIDiskAndCD::AtapiIsUnitReady
	IMPORT	|?IsRemoveableDevice@CDisk@@QAAHXZ|	; CDisk::IsRemoveableDevice

  00000			 AREA	 |.text| { |?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000			 AREA	 |.pdata$$?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z|, PDATA, SELECTION=5, ASSOC=|.text| { |?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z| } ; comdat associative
|$T33012| DCD	|$L33011|
	DCD	0x40003602
; Function compile flags: /Ogsy

  00000			 AREA	 |.text| { |?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z| }, CODE, ARM, SELECTION=1 ; comdat noduplicate

  00000		 |?AtapiIsUnitReady@CPCIDiskAndCD@@QAAHPAU_IOREQ@@@Z| PROC ; CPCIDiskAndCD::AtapiIsUnitReady

; 674  : {

  00000		 |$L33011|
  00000	e92d4070	 stmdb       sp!, {r4 - r6, lr}
  00004	e24dd01c	 sub         sp, sp, #0x1C
  00008		 |$M33009|
  00008	e1a05001	 mov         r5, r1
  0000c	e1a06000	 mov         r6, r0

; 675  :     ATAPI_COMMAND_PACKET    CmdPkt;
; 676  :     DWORD dwRet;
; 677  :     BOOL fRet = TRUE;
; 678  :     if (!IsRemoveableDevice())

  00010	e3a04001	 mov         r4, #1
  00014	eb000000	 bl          |?IsRemoveableDevice@CDisk@@QAAHXZ|
  00018	e3500000	 cmp         r0, #0

; 679  :         return(TRUE);

  0001c	03a04001	 moveq       r4, #1
  00020	0a000028	 beq         |$L32382|

; 680  :     memset(&CmdPkt, 0, sizeof(ATAPI_COMMAND_PACKET));

  00024	e3a02014	 mov         r2, #0x14
  00028	e3a01000	 mov         r1, #0
  0002c	e28d0008	 add         r0, sp, #8
  00030	eb000000	 bl          memset

; 681  :     CmdPkt.Opcode = ATAPI_PACKET_CMD_TEST_READY;

  00034	e3a03000	 mov         r3, #0
  00038	e5cd3008	 strb        r3, [sp, #8]

; 682  :     if (AtapiSendCommand(&CmdPkt)) {

  0003c	e3a03000	 mov         r3, #0
  00040	e3a02000	 mov         r2, #0
  00044	e28d1008	 add         r1, sp, #8
  00048	e1a00006	 mov         r0, r6
  0004c	eb000000	 bl          |?AtapiSendCommand@CPCIDiskAndCD@@QAAHPAU_ATAPI_COMMAND_PACKET@@GH@Z|
  00050	e3500000	 cmp         r0, #0
  00054	0a000006	 beq         |$L32377|

; 683  :         if (!AtapiReceiveData( NULL, 0, &dwRet)) {

  00058	e28d3000	 add         r3, sp, #0
  0005c	e3a02000	 mov         r2, #0
 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品久久久| 国产成人99久久亚洲综合精品| 精品国产百合女同互慰| av午夜精品一区二区三区| 日韩电影一区二区三区四区| 日本一区二区三区四区| 777xxx欧美| 91免费观看视频| 国内外成人在线| 天天色综合天天| 中文字幕一区在线观看视频| 欧美电影免费观看高清完整版在| 日本久久精品电影| 懂色av一区二区夜夜嗨| 激情文学综合网| 性久久久久久久久| 亚洲免费观看高清| 国产精品久久久久影院色老大 | 黄页网站大全一区二区| 亚洲国产精品人人做人人爽| 欧美经典一区二区三区| 日韩欧美精品在线视频| 欧美精品在线视频| 一本一本久久a久久精品综合麻豆| 国模大尺度一区二区三区| 亚洲va欧美va人人爽| 一区二区三国产精华液| 国产精品进线69影院| 欧美精彩视频一区二区三区| 亚洲精品一线二线三线无人区| 7777精品伊人久久久大香线蕉完整版 | 亚洲成av人综合在线观看| 亚洲天堂2016| 欧美高清在线精品一区| 国产亚洲一本大道中文在线| 26uuu精品一区二区在线观看| 91精品国产入口| 欧美日韩精品系列| 欧美色图在线观看| 在线精品视频免费观看| 在线观看91精品国产入口| 色综合久久中文综合久久97| 91在线视频官网| 97se亚洲国产综合自在线| 99国产精品视频免费观看| av在线不卡免费看| 91小视频免费看| 日本高清不卡一区| 欧美亚洲国产一区在线观看网站| 在线欧美日韩精品| 欧美日本一道本| 欧美一激情一区二区三区| 欧美一二区视频| 欧美电影免费观看高清完整版 | 色婷婷亚洲婷婷| 91久久精品一区二区二区| 在线视频你懂得一区| 欧美亚洲禁片免费| 欧美一区二区三区性视频| 日韩欧美国产系列| 国产三级一区二区| 亚洲色图视频网| 亚洲一区二区高清| 久色婷婷小香蕉久久| 国产很黄免费观看久久| 91蜜桃免费观看视频| 欧美少妇xxx| 日韩欧美一级在线播放| 2020日本不卡一区二区视频| 国产精品视频一二三区| 一区二区三区四区国产精品| 五月婷婷色综合| 国模娜娜一区二区三区| 91热门视频在线观看| 欧美人伦禁忌dvd放荡欲情| 欧美精品一区二区三区视频| 国产精品国产三级国产普通话99 | 色综合久久综合| 在线成人av网站| 亚洲国产精品高清| 亚洲成人久久影院| 国产成人综合自拍| 在线观看免费成人| www成人在线观看| 亚洲猫色日本管| 免费在线一区观看| 99视频在线精品| 日韩丝袜美女视频| 国产精品久久久久久久久果冻传媒| 亚洲成在人线在线播放| 国产精品一品视频| 欧美日韩五月天| 久久精品视频一区二区三区| 亚洲激情图片小说视频| 久久久国产综合精品女国产盗摄| 久久在线观看免费| 一区二区三区精品久久久| 裸体健美xxxx欧美裸体表演| 99精品视频在线播放观看| 日韩一区二区三| 亚洲视频一区二区免费在线观看| 美脚の诱脚舐め脚责91| 在线免费精品视频| 国产女同性恋一区二区| 日产国产高清一区二区三区 | 精品一区二区三区免费毛片爱 | www.亚洲国产| 精品国产一区二区三区久久久蜜月| 亚洲精品ww久久久久久p站| 国产永久精品大片wwwapp| 欧美色图天堂网| 国产精品国产三级国产aⅴ中文 | 天天综合网天天综合色| 不卡一区中文字幕| 久久综合色婷婷| 日本美女一区二区| 欧美理论片在线| 樱花影视一区二区| 99精品在线免费| 中文字幕欧美激情| 国产精品一区二区三区四区| 欧美一区二区播放| 亚洲成av人片一区二区三区| 99精品在线观看视频| 国产精品美女久久久久久2018| 国产一区二区女| 精品国产免费视频| 麻豆精品久久久| 日韩一区二区免费视频| 日韩成人精品在线| 91精品国产日韩91久久久久久| 亚洲va天堂va国产va久| 欧美无砖砖区免费| 亚洲成a天堂v人片| 欧美日韩国产123区| 丝袜a∨在线一区二区三区不卡| 欧美日韩色一区| 亚洲福利电影网| 欧美日韩亚洲国产综合| 日日夜夜精品免费视频| 欧美一区二区三区日韩| 奇米影视在线99精品| 日韩一区二区三区精品视频| 麻豆精品在线观看| 欧美xxxx在线观看| 国产一区二区三区综合| 欧美国产日韩亚洲一区| 不卡一区二区中文字幕| 亚洲精品写真福利| 欧美日本乱大交xxxxx| 奇米色一区二区| 欧美videos大乳护士334| 国产大片一区二区| 国产精品福利一区二区| 色欧美日韩亚洲| 日韩国产高清在线| 久久人人97超碰com| 夫妻av一区二区| 亚洲欧洲av色图| 欧美日韩一区二区电影| 免费观看日韩av| www成人在线观看| av亚洲精华国产精华精华| 亚洲精品视频在线| 欧美日本免费一区二区三区| 韩国三级在线一区| 国产精品视频你懂的| 欧美性猛交xxxxxx富婆| 人人狠狠综合久久亚洲| 国产色91在线| 91国产成人在线| 免费欧美高清视频| 国产精品黄色在线观看| 欧美日韩国产中文| 国产美女一区二区| 最新久久zyz资源站| 欧美日韩一二三区| 国产精品自在欧美一区| 亚洲人成小说网站色在线| 欧美美女bb生活片| 国产一区二区三区在线观看精品| 亚洲天堂免费看| 91精品国产欧美一区二区| 成人av资源在线观看| 午夜免费久久看| 国产欧美日韩在线观看| 91行情网站电视在线观看高清版| 久久99热这里只有精品| 亚洲视频一区在线观看| 日韩欧美一级二级三级| 色婷婷综合久久久久中文一区二区 | 久久综合九色综合97婷婷| 99久久99久久综合| 精品一区二区免费看| 亚洲伊人伊色伊影伊综合网| 精品久久久三级丝袜| 99久久精品国产精品久久| 老司机精品视频导航| 又紧又大又爽精品一区二区| 国产三级三级三级精品8ⅰ区|