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

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

?? usbcmd.asm

?? SL811HS的參考源代碼
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
    jnb     acc.6,ChkAddress1
    acall   SL11Init
    mEXIT

;-------------------------------------------------------------------------
; Wait for host to assign the USB address
;--------------------------------------------------------------------------
ChkAddress1:
    sRead   IntStatus           ;the set USBAdd done
    jb      acc.0,SetAddress0
    ajmp    ChkAddress          ;loop until set address done

SetAddress0:
    sWrite  IntStatus,01h
    sRead   EP0Control
    jb      acc.2,SetAddress1
    mEXIT

;-------------------------------------------------------------------------
SetAddress1:
    mov     a,R7
    mov     b,#USBAdd
    acall   SL11Write
    ajmp    SetReady            ;acall SetReady And EXIT

;--------------------------------------------------------------------------
; R0 = min(R0,b)
;--------------------------------------------------------------------------
Min:
    clr     c
    mov     a,R0
    subb    a,b
    jc      MinRet
    mov     R0,b
MinRet:
    ret

;--------------------------------------------------------------------------
; This must be other interrupts
;--------------------------------------------------------------------------
CheckOther:
    jnb      acc.2,ExitInt
    ajmp     GotEP2              ;Chk if EP2 int goto GotEP2
ExitInt:
    jnb      acc.1,ExitInt0      ;Chk if EP1 int
    ajmp     GotEP1
ExitInt0:
    mEXIT

;--------------------------------------------------------------------------
; Host interface: command table
;--------------------------------------------------------------------------
CmdTable:
    AJMP    Send47h        ;40h
    AJMP    StepRead       ;41h
    AJMP    EPPDataRead    ;42h
    AJMP    Send47h        ;43h
    AJMP    Send47h        ;44h
    ajmp    ReadLine       ;45h HostWrite: Read Image Line use EP3 DMA
    ajmp    WriteLine      ;46h HostWrite: Write Image Line use EP2 IO
    AJMP    Send47h        ;47h
    AJMP    Send47h        ;48h
    AJMP    Send47h        ;49h
    ajmp    ReadLine       ;4ah HostWrite: Read Image Line use EP1
    ajmp    WriteLine      ;4bh HostRead:  Write Image Line use EP2 IO
    AJMP    Send47h        ;4ch
    AJMP    EPPByteWrite   ;4dh: Single Byte Write
    AJMP    InitScanner    ;4eh
    AJMP    InitScanner    ;4fh

;--------------------------------------------------------------------------
; INIT SCANNER FOR SPP TO EPP
;--------------------------------------------------------------------------
InitScanner:
    call    INIT_SCANNER   ;Call to init scanner
    ajmp    Send47h

;--------------------------------------------------------------------------
; Genernal EPP Data Read
; require bmRequestType = 0xc0
;         bRequest      = 0x42
;         wValue        = EPP Address Register
;         wIndex        = 0
;         wLength       = 1-64 max
;--------------------------------------------------------------------------
EPPDataRead:
    MOV     P1,wValue0   ;Write EPP Address
    CALL    EPPAddrWr
    mov     A,#EP0Buf    ;Setup SL11/SL811S Memory address
    call    FIFO2SL11    ;copy data from EPP to SL11/SL811S
    ajmp    Send47h      ;send and exit

;--------------------------------------------------------------------------
; Genernal EPP Byte Write
; require bmRequestType = 0x40
;         bRequest      = 0x4d
;         wValue        = EPP Address Register
;         wIndex        = Data Byte
;         wLength       = 0
;--------------------------------------------------------------------------
EPPByteWrite:
    MOV     P1,wValue0   ;Write to EPP address
    call    EPPAddrWr
    mov     P1,wIndex0
    call    EPPDataWr    ;Write the Data
    ajmp    Send47h      

;--------------------------------------------------------------------------
; ReadLine:
; EPP Block Read
; require bmRequestType = 0x40
;         bRequest      = 0x45
;         wValue        = EPP Address Register
;         wIndex        = Total length for EP1 data read
;         wLength       = 0
; EP1 will be used for Send data to host
;--------------------------------------------------------------------------
ReadLine:
    clr     cmd1
rdDMAcom
    acall   ReadDMALine
    mEXIT
StepRead:
    setb    cmd1
    acall   MovStepper
    sjmp    rdDMAcom

;--------------------------------------------------------------------------
; ReadLine1: using EP1
;--------------------------------------------------------------------------
ReadLine1:
    clr     cmd1
rdCommon:
    sWrite  EP1AControl,0eh     ;default EP1A is DATA0
    sWrite  EP1BControl,046h    ;default EP1B is DATA1
    clr     EP1DataFlag
    sRead   DATASet             ;check current DATA bit
    jnb     acc.1,ep1DATA0
    setb    EP1DataFlag
ep1DATA0:
    acall   SetupSendBuf        ;prepare buffer to send
    ajmp    Send47h             ;After the host rec 64 bytes, the EP1
                                ;interrupt will be called

;--------------------------------------------------------------------------
; WriteLine
; require bmRequestType = 0x40
;         bRequest      = 0x46
;         wValue        = EPP Address Register
;         wIndex        = Total length for EP2 data Write
;         wLength       = 0
; EP2 will be used for Receive data from host
;--------------------------------------------------------------------------
WriteLine:
    acall   SetupRecBuf
    ajmp    Send47h             ;After the host send 64 bytes, the EP2
                                ;interrupt will beacalled

;--------------------------------------------------------------------------
; SetupRecBuff:  Setup Receiving buffer
;--------------------------------------------------------------------------
SetupRecBuf:
    clr     EP2DataFlag         ;Start DATA0
    MOV     P1,wValue0          ;Write to EPP Address
    call    EPPAddrWr
    mov     ImSize0,LineSize0   ;copy image size
    mov     ImSize1,LineSize1
    ajmp    SetupEP2

;--------------------------------------------------------------------------
; SetupSendBuff:  Pre Copy buffer from FIFO to SL11/SL811S Memory
;--------------------------------------------------------------------------
SetupSendBuf:
    acall   MovStepper
    mov     ImSize0,LineSize0   ;copy image size
    mov     ImSize1,LineSize1
    mov     p1,wValue0
    call    EPPAddrWr
    acall   ChkSize80h          ;R0 return the length of availabe size
    cjne    r0,#0h,Cpy0         ;attempt to copy all 128 bytes to SL11/SL811S
    ret
Cpy0:    
    mov     r1,#uBufA
    jnb     EP1DataFlag,cData0  
    mov     r1,#uBufB
    mov     a,r0
    clr     c
    subb    a,#40h
    jc      cData0
    jz      cData0
    mov     b,a
    mov     a,r1                ;buffer start at 0xc0
    mov     r0,#40h
    acall   FIFO2SL11
    mov     r0,b
    mov     r1,#uBufA
cData0:                         ;Copy from EPP to SL11/SL811S (bufferA+BufferB)
    mov     a,r1
    acall   FIFO2SL11           ;Double buffer copied for Ping-pong buffer
    acall   Update40h           ;update current sent counter
    ajmp    SetupEP1            ;ARM to send the data to host

;--------------------------------------------------------------------------
; GotEP1
;--------------------------------------------------------------------------
GotEP1:
    sWrite  IntStatus,02h       ;Clr the EP1 int.
    mov     a,ImSize0
    orl     a,ImSize1
    jnz     ChkFlag1
    acall   SetupSendBuf
    mEXIT

ChkFlag1:
    acall   Update40h           ;Check if all data has been transfered
    acall   SetupEP1 

    acall   ChkSize40h
    cjne    r0,#0h,ChkFlag2     ;R0 contain the remainder
    mEXIT

ChkFlag2:
    mov     a,#uBufA
    jnb     EP1DataFlag,EP1Data0
    mov     a,#uBufB
EP1Data0:
    acall   FIFO2SL11           ;Double buffer copied for Ping-pong buffer
    mEXIT

;--------------------------------------------------------------------------
; GotEP2
;--------------------------------------------------------------------------
GotEP2:
    sWrite  IntStatus,04h        ;Clr the EP2 int.
    acall   SetupEP2             ;Setup to ARM for pingpong buffer
    acall   Update40h            ;Check if all data has been transfered
    cjne    r0,#0h,ChkEP2Flag    ;ImSize -= 64 
    sjmp    EP2Exit              ;all done then exit
ChkEP2Flag:
    mov     a,#uBufA
    jnb     EP2DataFlag,EP2Data0 ;data has been received from DATA0
    mov     a,#uBufB
EP2Data0:
    acall   SL112FIFO            ;Copy from SL11/SL811S buffer to FIFO
    mov     a,ImSize0            ;check if more transfer data
    orl     a,ImSize1
    jnz     EP2Exit1
EP2Exit:    
    acall   SetupRecBuf          ;next line xfer
EP2Exit1:
    mEXIT

;--------------------------------------------------------------------------
;  iSize = iSize - R0
;  R1 = pointer to Word iSize
;--------------------------------------------------------------------------
ChkSize40h:
    mov     r0,#uXferLen
    jmp     ChkCommon
ChkSize80h:
    mov     r0,#(uXferLen+uXferLen)
ChkCommon:
    mov     iSize0,ImSize0
    mov     iSize1,ImSize1
    mov     r1,#iSize0
    jmp     ChkSize

;--------------------------------------------------------------------------
;  ImSize = ImSize - R0
;  R1 = pointer to Word LineSize
;--------------------------------------------------------------------------
Update40h:
    mov     r0,#uXferLen
    mov     r1,#ImSize0

;--------------------------------------------------------------------------
;  If (LineSize<R0) R0 = LineSize, LineSize = 0
;  else LineSize = LineSize - R0, R0 = R0
;  R1 = pointer to Word LineSize
;--------------------------------------------------------------------------
ChkSize:
    clr     c
    mov     a,@r1
    mov     b,a
    subb    a,r0
    mov     @r1,a
    inc     r1
    mov     a,@r1
    subb    a,#0
    mov     @r1,a
    jnc     UpdateRet
    mov     @r1,#0
    dec     r1
    mov     r0,b
    mov     @r1,#0
UpdateRet:    
    ret

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩黄色片在线观看| 欧美日韩视频专区在线播放| 国产伦精品一区二区三区免费迷 | 亚洲一区二区中文在线| 亚洲欧美在线视频观看| 亚洲乱码国产乱码精品精可以看 | 亚洲动漫第一页| 亚洲国产精品久久久久婷婷884| 一区二区三区91| 亚洲v中文字幕| 日本91福利区| 国产一区二区在线观看视频| 国产成人免费xxxxxxxx| 成人av在线一区二区| 99久久综合国产精品| 欧美在线短视频| 在线观看91av| 久久久久久久一区| 国产精品久久久久天堂| 亚洲精品国产高清久久伦理二区| 亚洲国产裸拍裸体视频在线观看乱了 | 日韩欧美中文一区| 精品久久国产97色综合| 国产女主播一区| 亚洲欧美区自拍先锋| 亚洲成人免费影院| 久久精品av麻豆的观看方式| 国产精品18久久久久久久久久久久 | 亚洲综合图片区| 日韩高清不卡在线| 国产乱子轮精品视频| 99国产精品久| 日韩丝袜美女视频| 国产精品毛片高清在线完整版| 夜色激情一区二区| 狠狠色丁香婷婷综合| 99精品欧美一区二区三区小说 | 色一情一乱一乱一91av| 91精品免费在线| 国产精品三级av| 亚洲va欧美va天堂v国产综合| 麻豆精品在线观看| 99精品国产视频| 欧美一区二区视频免费观看| 国产偷国产偷精品高清尤物| 亚洲国产精品一区二区久久| 韩国三级电影一区二区| 91成人免费在线| 久久精品日韩一区二区三区| 亚洲国产精品久久久久秋霞影院| 国产成人精品三级| 欧美日本韩国一区二区三区视频 | 日本免费新一区视频| 国产91精品在线观看| 欧美片在线播放| 18成人在线观看| 国产一区在线视频| 欧美色综合影院| 中文字幕第一区第二区| 麻豆成人综合网| 欧美性做爰猛烈叫床潮| 欧美激情在线一区二区三区| 青草av.久久免费一区| 波多野结衣欧美| 日韩美女视频一区二区在线观看| 亚洲男人都懂的| 国产成人免费在线观看不卡| 日韩亚洲欧美一区二区三区| 亚洲一区二区三区在线播放 | 国产亚洲成年网址在线观看| 天堂资源在线中文精品| 色偷偷成人一区二区三区91| 中文字幕成人网| 国产一区视频网站| 91精品国产综合久久久久| 亚洲卡通欧美制服中文| 丁香六月久久综合狠狠色| 精品国产成人在线影院 | 国产一区福利在线| 91精品国产高清一区二区三区蜜臀| 中文字幕在线不卡| 国产麻豆精品视频| 26uuu精品一区二区三区四区在线| 午夜精品久久久久久久99樱桃| 91在线观看污| 亚洲色欲色欲www在线观看| 国产精品夜夜嗨| 国产丝袜欧美中文另类| 韩日欧美一区二区三区| 精品少妇一区二区三区在线播放 | 亚洲图片一区二区| 欧洲亚洲国产日韩| 一区二区三区欧美日韩| 91麻豆成人久久精品二区三区| 中文字幕不卡的av| 成人午夜免费电影| 国产精品灌醉下药二区| 成人激情小说乱人伦| 亚洲欧美中日韩| 一本色道综合亚洲| 亚洲综合图片区| 欧美日本在线播放| 午夜av一区二区| 日韩一区二区精品在线观看| 日本成人在线网站| 日韩欧美国产电影| 国内精品国产成人| 国产日产精品1区| www.亚洲色图.com| 最近中文字幕一区二区三区| 91日韩在线专区| 亚洲精品乱码久久久久久| 欧美三片在线视频观看| 免费观看在线色综合| 精品福利一区二区三区免费视频| 国产一区福利在线| 国产精品国产a| 在线免费观看日本欧美| 青娱乐精品视频在线| 久久一二三国产| jlzzjlzz亚洲日本少妇| 亚洲一区二区三区中文字幕 | 久久久久久久久久久99999| 国产精品1区二区.| 亚洲欧美区自拍先锋| 在线电影院国产精品| 国产自产2019最新不卡| 国产精品久久久久久久久免费相片| 99在线视频精品| 首页亚洲欧美制服丝腿| 国产亚洲一区字幕| 一本久久精品一区二区| 丝袜美腿亚洲一区二区图片| 亚洲精品在线免费播放| 9i看片成人免费高清| 日韩电影在线观看网站| 久久精品视频一区二区| 欧美自拍偷拍一区| 国产自产2019最新不卡| 一区二区三区不卡视频在线观看| 在线播放中文字幕一区| 国产成人av福利| 亚洲午夜精品网| 久久精品免视看| 欧美吞精做爰啪啪高潮| 国产乱人伦精品一区二区在线观看| 综合久久久久久久| 欧美tickling网站挠脚心| 91视频.com| 国产一区二区精品在线观看| 亚洲免费色视频| 欧美精品一区二区三区一线天视频 | 国产另类ts人妖一区二区| 一区2区3区在线看| 久久久久99精品一区| 欧美日韩精品一区二区三区四区 | 成人三级伦理片| 蜜臀a∨国产成人精品| 最新国产成人在线观看| 欧美成人伊人久久综合网| 色婷婷狠狠综合| 国产精一区二区三区| 亚洲不卡在线观看| 中文字幕佐山爱一区二区免费| 欧美tickling挠脚心丨vk| 欧美色男人天堂| 成人av网站免费观看| 精品在线免费视频| 午夜视黄欧洲亚洲| 最近日韩中文字幕| 国产午夜精品久久久久久免费视 | 亚洲电影第三页| 最好看的中文字幕久久| 久久久久久电影| 欧美一级一区二区| 欧美伊人久久久久久久久影院| 成人精品免费网站| 狠狠色伊人亚洲综合成人| 日韩av在线免费观看不卡| 亚洲影视在线观看| 亚洲欧美偷拍三级| 国产亚洲成av人在线观看导航| 欧美一级免费观看| 欧美日韩午夜精品| 欧美天天综合网| 在线观看日韩av先锋影音电影院| 成人免费av在线| 国产91精品一区二区| 国产乱码精品一区二区三区av| 日本不卡视频一二三区| 亚洲五码中文字幕| 一区二区欧美国产| 亚洲精品日韩专区silk| 中文字幕亚洲区| 综合电影一区二区三区 | 国产一区二区三区电影在线观看| 蜜桃av一区二区| 美女网站视频久久| 久久99精品久久久| 久久99精品国产麻豆婷婷|