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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? protodma.lst

?? philiphs D12 firmware驅動程序
?? LST
字號:
C51 COMPILER V7.06   PROTODMA                                                              08/06/2006 09:11:07 PAGE 1   


C51 COMPILER V7.06, COMPILATION OF MODULE PROTODMA
OBJECT MODULE PLACED IN PROTODMA.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE PROTODMA.C BROWSE DEBUG OBJECTEXTEND

stmt level    source

   1          /*
   2             //*************************************************************************
   3             //
   4             //                  P H I L I P S   P R O P R I E T A R Y
   5             //
   6             //           COPYRIGHT (c)   1997 BY PHILIPS SINGAPORE.
   7             //                     --  ALL RIGHTS RESERVED  --
   8             //
   9             // File Name:        PROTODMA.C
  10             // Author:           Wenkai Du
  11             // Created:          18 Aug 98
  12             // Modified:
  13             // Revision:         3.0
  14             //
  15             //*************************************************************************
  16          */
  17          
  18          #include <stdio.h>
  19          #include <string.h>
  20          
  21          #include <reg51.h>                /* special function register declarations   */
  22          #include "epphal.h"
  23          
  24          #include "d12ci.h"
  25          #include "mainloop.h"
  26          #include "usb100.h"
  27          #include "chap_9.h"
  28          
  29          extern CONTROL_XFER ControlData;
  30          extern IO_REQUEST idata ioRequest;
  31          extern EPPFLAGS bEPPflags;
  32          extern BOOL bNoRAM;
  33          
  34          void get_firmware_version()
  35          {
  36   1              unsigned char i;
  37   1      
  38   1              i = 0x30; // firmware version number
  39   1              single_transmit((unsigned char *)&i, 1);
  40   1      }
  41          
  42          void get_buffer_size()
  43          {
  44   1              unsigned char i[4];
  45   1      
  46   1              if(bNoRAM == TRUE) {
  47   2                      i[0] = EP2_PACKET_SIZE;
  48   2                      i[1] = 0;
  49   2                      i[2] = 0;
  50   2                      i[3] = 0;
  51   2              } else {
  52   2                      i[0] = 0;
  53   2                      i[1] = 1;
  54   2                      i[2] = 0;
  55   2                      i[3] = 0;
C51 COMPILER V7.06   PROTODMA                                                              08/06/2006 09:11:07 PAGE 2   

  56   2              }
  57   1              single_transmit((unsigned char *)&i, 4);
  58   1      }
  59          
  60          void setup_dma_request()
  61          {
  62   1              memcpy((unsigned char *)&ioRequest + ControlData.DeviceRequest.wValue,
  63   1                      ControlData.dataBuffer,
  64   1                      ControlData.DeviceRequest.wLength);
  65   1      
  66   1              ioRequest.uSize = SWAP(ioRequest.uSize);
  67   1              ioRequest.uAddressL = SWAP(ioRequest.uAddressL);
  68   1      
  69   1              if(ioRequest.uSize > DMA_BUFFER_SIZE) { // Unaccepted request
  70   2                      stall_ep0();
  71   2              }
  72   1              else if(bNoRAM == TRUE && ioRequest.uSize > EP2_PACKET_SIZE) {
  73   2                      stall_ep0();
  74   2              }
  75   1              else {
  76   2                      if(bEPPflags.bits.dma_state == DMA_IDLE) {
  77   3                              DISABLE;
  78   3                              bEPPflags.bits.setup_dma ++;
  79   3                              ENABLE;
  80   3                      }
  81   2                      else {
  82   3                              DISABLE;
  83   3                              bEPPflags.bits.dma_state = DMA_PENDING;
  84   3                              ENABLE;
  85   3                      }
  86   2      
  87   2              } // else if accepted request
  88   1      }
  89          
  90          void read_write_register(void)
  91          {
  92   1              unsigned char i;
  93   1      
  94   1              if(ControlData.DeviceRequest.bmRequestType & (unsigned char)USB_ENDPOINT_DIRECTION_MASK) {
  95   2      
  96   2                      if(bEPPflags.bits.verbose)
  97   2                              printf("Read Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
  98   2                                      ControlData.DeviceRequest.wValue,
  99   2                                      ControlData.DeviceRequest.wLength,
 100   2                                      ControlData.DeviceRequest.wIndex);
 101   2      
 102   2                      if(ControlData.DeviceRequest.wIndex == GET_FIRMWARE_VERSION &&
 103   2                              ControlData.DeviceRequest.wValue == 0 &&
 104   2                              ControlData.DeviceRequest.wLength == 1)
 105   2                              get_firmware_version();
 106   2                      else
 107   2                      if(ControlData.DeviceRequest.wIndex == GET_BUFFER_SIZE &&
 108   2                              ControlData.DeviceRequest.wValue == 0 &&
 109   2                              ControlData.DeviceRequest.wLength == 4)
 110   2                              get_buffer_size();
 111   2                      else
 112   2                              stall_ep0();
 113   2      
 114   2              }       // if read register
 115   1              else{
 116   2                      if(bEPPflags.bits.verbose) {
 117   3      
C51 COMPILER V7.06   PROTODMA                                                              08/06/2006 09:11:07 PAGE 3   

 118   3                              printf("Write Registers: Offset = 0x%x, Length = 0x%x, Index = 0x%x.\n",
 119   3                                      ControlData.DeviceRequest.wValue,
 120   3                                      ControlData.DeviceRequest.wLength,
 121   3                                      ControlData.DeviceRequest.wIndex);
 122   3      
 123   3                              printf("Data: ");
 124   3                              for(i = 0; i < ControlData.DeviceRequest.wLength; i ++)
 125   3                                      printf("0x%bx, ", *((ControlData.dataBuffer)+i));
 126   3                              printf("\n");
 127   3                      }
 128   2      
 129   2                      if(ControlData.DeviceRequest.wIndex == SETUP_DMA_REQUEST &&
 130   2                              ControlData.DeviceRequest.wValue == 0 &&
 131   2                              ControlData.DeviceRequest.wLength == 6)
 132   2                              setup_dma_request();
 133   2                      else
 134   2                              stall_ep0();
 135   2              }       // if write register
 136   1      }


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    407    ----
   CONSTANT SIZE    =    140    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =   ----       6
   IDATA SIZE       =   ----    ----
   BIT SIZE         =   ----    ----
END OF MODULE INFORMATION.


C51 COMPILATION COMPLETE.  0 WARNING(S),  0 ERROR(S)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av成人免费在线观看| 91亚洲精品乱码久久久久久蜜桃| 中文字幕日本乱码精品影院| 久久免费偷拍视频| 亚洲精品一线二线三线无人区| 日韩亚洲欧美成人一区| 日韩丝袜情趣美女图片| 精品久久久久久久久久久久包黑料| 欧美剧情片在线观看| 日韩欧美在线网站| 国产日韩欧美亚洲| 亚洲精选免费视频| 午夜伦理一区二区| 久久99精品久久久久久动态图 | 欧日韩精品视频| 91国产精品成人| 精品视频色一区| 日韩视频一区二区三区在线播放| 精品精品欲导航| 国产精品毛片a∨一区二区三区| 成人免费在线播放视频| 亚洲制服丝袜在线| 蜜桃久久久久久| 成人高清视频免费观看| 欧美视频完全免费看| 欧美大片免费久久精品三p | 亚洲免费在线电影| 日韩有码一区二区三区| 国产一区二区在线看| 一本到不卡免费一区二区| 欧美一级日韩不卡播放免费| 久久综合狠狠综合久久激情 | 日韩欧美一区二区久久婷婷| 亚洲国产精品传媒在线观看| 夜夜嗨av一区二区三区网页| 菠萝蜜视频在线观看一区| 在线视频综合导航| 国产亚洲污的网站| 视频精品一区二区| 99国产精品久久久| 国产日韩欧美精品电影三级在线| 亚洲午夜久久久久久久久久久| 激情欧美一区二区三区在线观看| 91蝌蚪国产九色| 国产亚洲一区二区在线观看| 男女男精品视频网| 91久久香蕉国产日韩欧美9色| 久久久久青草大香线综合精品| 亚洲国产精品视频| 91视频免费观看| 中文字幕国产一区| 激情综合网av| 日韩一区二区在线免费观看| 亚洲桃色在线一区| av亚洲产国偷v产偷v自拍| 精品国产三级电影在线观看| 天堂va蜜桃一区二区三区| 在线精品视频一区二区| 日韩一区在线播放| a在线播放不卡| 国产精品国产自产拍高清av | 欧美久久久久久久久久| 亚洲日本欧美天堂| 成人国产在线观看| 国产精品天干天干在线综合| 国内成+人亚洲+欧美+综合在线| 日韩一区二区三区四区五区六区| 丝袜美腿亚洲一区| 欧美一级搡bbbb搡bbbb| 蜜桃视频第一区免费观看| 日韩欧美区一区二| 麻豆精品视频在线观看视频| 日韩一区二区三区视频| 奇米亚洲午夜久久精品| 精品精品欲导航| 国产精品一色哟哟哟| 国产欧美日韩精品在线| av在线一区二区三区| 国产精品免费av| 波多野结衣一区二区三区 | 一道本成人在线| 最新成人av在线| 在线观看国产日韩| 亚洲aⅴ怡春院| 日韩欧美区一区二| 风间由美一区二区av101| 自拍偷拍国产亚洲| 欧美日韩激情在线| 蜜桃av一区二区| 国产日韩影视精品| 在线中文字幕一区| 日本美女一区二区三区| 久久久久9999亚洲精品| 91麻豆精东视频| 天天色综合天天| 久久精品在线免费观看| 91农村精品一区二区在线| 亚洲一区二区三区四区在线 | 成人免费观看av| 有码一区二区三区| 日韩欧美电影在线| 99久久精品免费看国产| 日本不卡一二三区黄网| 国产亚洲福利社区一区| 欧美亚洲综合一区| 国产精品一二三| 一区二区三区成人在线视频| 精品av综合导航| 欧洲另类一二三四区| 国产在线一区二区| 一区二区三区久久久| 亚洲精品在线三区| 欧美系列亚洲系列| 成人综合婷婷国产精品久久免费| 一区二区三区免费在线观看| 国产亚洲视频系列| 欧美一区二区视频在线观看| av在线一区二区| 国产精品一区一区三区| 亚洲成a人在线观看| 国产精品网站导航| 精品毛片乱码1区2区3区| 91久久久免费一区二区| 国产成人午夜片在线观看高清观看| 亚洲午夜激情av| 国产精品不卡在线| 久久精品综合网| 欧美成人三级电影在线| 欧美色图免费看| 一本色道久久综合亚洲精品按摩| 国产真实精品久久二三区| 日韩成人精品在线| 亚洲小说春色综合另类电影| 中文字幕在线一区免费| 国产午夜亚洲精品理论片色戒| 在线不卡中文字幕播放| 在线观看91视频| 91麻豆免费看| 色狠狠av一区二区三区| 99re成人精品视频| 91麻豆蜜桃一区二区三区| 成人高清伦理免费影院在线观看| 国产一区不卡视频| 国产乱码一区二区三区| 国产精品中文有码| 国产福利91精品一区二区三区| 老司机午夜精品99久久| 爽好久久久欧美精品| 日韩精品五月天| 日韩高清一级片| 久久99热狠狠色一区二区| 蜜桃视频免费观看一区| 激情综合色综合久久| 极品少妇一区二区| 国产成人精品亚洲777人妖| 国产精品综合二区| 成人av电影在线网| 色综合网色综合| 欧美一区二区免费观在线| 欧美日韩在线直播| 欧美日韩电影在线| 日韩免费电影网站| 精品国产电影一区二区| 国产丝袜欧美中文另类| 国产精品久久久久影院色老大| 亚洲人成伊人成综合网小说| 亚洲三级电影全部在线观看高清| 一区二区三区四区高清精品免费观看 | 在线观看网站黄不卡| 精品视频一区三区九区| 欧美一卡二卡三卡四卡| 国产香蕉久久精品综合网| 国产精品传媒入口麻豆| 午夜激情一区二区三区| 九色综合国产一区二区三区| 高清不卡在线观看| 在线观看国产一区二区| 精品免费一区二区三区| 中文字幕日韩一区| 日本视频在线一区| 高清在线成人网| 7777精品伊人久久久大香线蕉完整版| 欧美变态口味重另类| 亚洲女厕所小便bbb| 日欧美一区二区| 99视频国产精品| 91精品国产高清一区二区三区| 国产欧美日韩三区| 日韩精品91亚洲二区在线观看| 成人黄色综合网站| 欧美理论在线播放| 成人免费一区二区三区在线观看| 日本欧洲一区二区| 91视视频在线观看入口直接观看www | 欧美一级片在线看| 综合久久综合久久| 国产精品一区专区| 欧美性色aⅴ视频一区日韩精品| 精品成人一区二区三区| 午夜精品123|