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

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

?? usblib1.asm

?? USB接口的鍵盤
?? ASM
字號:
include		ht82k96e.inc
;include    	usbrf.inc
include		usbfifo.inc



extern		stall			:byte
extern		FIFO_Type		:byte
extern		FIFO_OUT1 		:byte
extern		int_temp1		:byte
extern		int_temp2		:byte
extern		fifo_sendlen	:byte
extern		bhas_len0		:bit
extern		wr_NO			:byte
extern		kywr_NO			:byte


FIFO_temp		equ			int_temp1
fifo_no			equ			int_temp2



USBlib		.Section	AT 270H 'code'   ;AT	USBlib_ADDRESS
LEN0_Rd_Check:
	            MOV     A,USB_MISC				;		
                MOV     MP1,A
				mov		a,11100000b
				andm	a,r1
				nop
				nop
                SET     R1.@USB_Req         	;Set request
				nop
				nop
				nop
				nop
				nop
				nop
                MOV     A,(01H SHL @USB_Len0)  	;Len0 ready flag
                JMP     Check           		;Z=0:Len0 ready/1:Len0 not ready

;----------------------------------------------------------------------------
;FIFO 0 ready to read ?

FIFO0_Rd_Check:
				mov		a,00000000b
				jmp		FIFO_Check

FIFO1_RD_check:
				mov		a,00001000b
				jmp		FIFO_Check
FIFO2_RD_check:
				mov		a,00010000b
				jmp		FIFO_Check
FIFO3_RD_check:
				mov		a,00011000b
				jmp		FIFO_Check

				
;----------------------------------------------------------------------------
;Len 0 ready to write ?
LEN0_Wr_Check:
;FIFO 0 ready to write ?
FIFO0_Wr_Check:
				mov		a,00000010b
				jmp		FIFO_Check
FIFO1_Wr_check:
				mov		a,00001010b
				jmp		FIFO_Check
FIFO2_Wr_check:
				mov		a,00010010b
				jmp		FIFO_Check
FIFO3_Wr_check:
				mov		a,00011010b
				jmp		FIFO_Check
				
FIFO_Check:
				mov		FIFO_temp,a
                MOV     A,USB_MISC
                MOV     MP1,A
				mov		a,r1
				and		a,11100000b
				or		a,fifo_temp		;清misc的低3位,選擇相應的Endpoint
				mov		r1,a
				nop
				nop
                SET     R1.@USB_Req         	;Set request
				nop
				nop
;				mov		a,40h
                MOV     A,(01H SHL @USB_Ready) 	;access ready flag
Check:
                NOP                 			;min delay 3 instruction cycle
                NOP 
				nop
				nop
				nop
				nop
;				AND		A,41H
                AND     A,R1        			;Z=0:ready/1:not ready
                RET

;----------------------------------------------------------------------------
;----BEGIN (Read FIFO)
ReadLen0:
                MOV     A,USB_FIFO0             ;dummy read
                MOV     MP1,A                   ;
                MOV     A,R1                    ;
				nop
                JMP     E1ND_Request             ;
ReadFIFO0:
                MOV     A,USB_FIFO0
                JMP     ReadFIFO
ReadFIFO1:
                MOV     A,USB_FIFO1
				JMP		ReadFIFO	
ReadFIFO2:
                MOV     A,USB_FIFO2
				JMP		ReadFIFO	
ReadFIFO3:
                MOV     A,USB_FIFO3
				JMP		ReadFIFO	

ReadFIFO:
                MOV     FIFO_NO,A             	;FIFO NO.
                CLR     FIFO_SendLen            ;Initial length to 0
                MOV     A,OFFSET FIFO_Type      ;set input FIFO buffer pointer
                MOV     MP0,A                   ;
ReadFIFOLoop:
                MOV     A,FIFO_NO              	;FIFO NO.
                MOV     MP1,A                   ;
                MOV     A,R1                    ;Read FIFO data
				nop
                MOV     R0,A                    ;
                INC     FIFO_SendLen            ;Getting data length++
                INC     MP0                     ;Update to next pointer
                MOV     A,FIFO_SIZE             ;FIFO full ?
                XOR     A,FIFO_SendLen          ;
                SZ      Z                       ;
                JMP     E1ND_Request             ;Yes
                MOV     A,USB_MISC              ;Check ready ?
                MOV     MP1,A                   ;
				nop
				nop
				nop
				nop
				nop
				nop
                SZ      R1.@USB_Ready           ;
                JMP     ReadFIFOLoop            ;Yes


                JMP     E1ND_Request             ;No Exit for not 8 bytes data
;----END (Read FIFO)

;----------------------------------------------------------------------------
;----BEGIN (Write FIFO)
;Write FIFO_OUT1 Data to FIFO Buffer 
WriteFIFO0:
				inc		wr_no
				mov		a, wr_no
				sub		a, 02h
				sz		acc
				jmp		$+2
				nop
                MOV     A,USB_FIFO0
			    JMP     WriteFIFO
WriteFIFO1:
				inc		kywr_no
				mov		a, kywr_no
				sub		a, 02h
				sz		acc
				jmp		$+2
				nop
			    MOV     A,USB_FIFO1
				JMP		WriteFIFO
WriteFIFO2:
                MOV     A,USB_FIFO2
				JMP		WriteFIFO
WriteFIFO3:
                MOV     A,USB_FIFO3
				JMP		WriteFIFO

WriteFIFO:
                MOV     FIFO_NO,A             	;FIFO NO.
                MOV     A,OFFSET FIFO_OUT1      ;set output FIFO buffer pointer
                MOV     MP0,A                   ;


WriteFIFOLoop:
                SZ      FIFO_SendLen           	;Any data to write ?
                JMP     WriteFIFOTag            ;Yes
                JMP     EndWrite                ;No
WriteFIFOTag:
                MOV     A,FIFO_NO              	;FIFO NO.
                MOV     MP1,A                   ;
				
				SET		FIFO_w_c_b
                MOV     A,R0                    ;Write data to FIFO
                MOV     R1,A                    ;
				CLR		FIFO_w_c_b				

                DEC     FIFO_SendLen           	;Getting data length++
                INC     MP0                     ;Update to next pointer
                MOV     A,USB_MISC              ;End of FIFO ?
                MOV     MP1,A                   ;
				nop
				nop
				nop
				nop
				nop
				nop
                SZ      R1.@USB_Ready           ;
                JMP     WriteFIFOLoop           ;No
WriteLen0:
EndWrite:
;----------------------------------------------------------------------------
;----BEGIN (End request)
E1ND_Request:
                MOV     A,USB_MISC
                MOV     MP1,A
                MOV     A,(01H SHL @USB_Tx) ;Change Tx state
                XORM    A,R1                ;
				nop
				nop
				nop
				nop
				nop
				nop
                CLR     R1.@USB_Req         ;End request
                RET
;----END (End request)

;----END (Write FIFO)

;----------------------------------------------------------------------------
;----BEGIN (Clear FIFO)
ClearFIFO1:
				set		r1.@USB_Clear
				clr		r1.@USB_Tx
				nop
				nop
                CLR     R1.@USB_Clear       ;Disable Clear
                CLR     R1.@USB_Req         ;End request
                RET



;                MOV     A,USB_MISC
;                MOV     MP1,A
;				mov		a,11110000b
;				and		a,r1
;                or     	A,((1 SHL @USB_Tx)+(1 SHL @USB_SelP)+(1 SHL @USB_Clear)+ (01H shl @USB_Req))
;                                            ;set Tx, Pipe & Clear state
;;				JMP		ClearFIFO
;ClearFIFO:
;                MOV     R1,A                ;
;;                JMP     END_Clear_Request
;END_Clear_Request:
;                MOV     A,USB_MISC
;                MOV     MP1,A
;                MOV     A,(01H SHL @USB_Tx) ;Change Tx state
;                XORM    A,R1                ;
;				nop
;				nop
;                CLR     R1.@USB_Clear       ;Disable Clear
;                CLR     R1.@USB_Req         ;End request
;                RET

;----END (Clear FIFO)




;----------------------------------------------------------------------------
;----BEGIN (Check setup)
;Output: Z = 0:Setup/1:None
;CheckSetup:
;                MOV     A,USB_MISC          	;MP1 point to Misc. register
;                MOV     MP1,A               	;
;                MOV     A,(01H SHL @USB_Setup)  ;Misc. Register Setup flag
;                JMP     Check

;----------------------------------------------------------------------------
;----BEGIN (Get pipe bit)
;Input : ACC pipe number
;Output: ACC pip bit (D0:pipe 0, D1:pipe 1...)
GetPipeBit:
                INC     ACC
                MOV     FIFO_TEMP,A
                MOV     A,80H
GetPipeBitLoop:
                RL      ACC
                SDZ     FIFO_TEMP 
                JMP     GetPipeBitLoop
                RET
;----END (Get pipe bit)

;----------------------------------------------------------------------------
;----BEGIN (Set Stall)
;Input : ACC = Pipe number
SetStall:
                MOV     FIFO_TEMP ,A   	;
                MOV     A,USB_STALL     ;MP1 point to Stall register (Read Only)
                MOV     MP1,A           ;
                MOV     A,FIFO_TEMP 
                OR      A,STALL        	;Set stall bit
                JMP     SetStallTag
;----END (Set Stall)


;----------------------------------------------------------------------------
;----BEGIN (Clear Stall)
;Input : ACC = Pipe number
ClearStall:
                MOV     FIFO_TEMP,A         ;
                MOV     A,USB_STALL         ;MP1 point to Stall register
                MOV     MP1,A               ;
                MOV     A,FIFO_TEMP 
                CPL     ACC                 ;Clear stall bit
                AND     A,STALL            	;
SetStallTag:
                MOV     STALL,A       		;Update Satll buffer
                MOV     R1,A            	;Update Stall register
                RET
;----END (Clear Sta

;----------------------------------------------------------------------------
;----BEGIN (Set Address)
;Input : ACC = Address
;SetAddress:
;                RL      ACC                 	;Shift address to D1
;                AND     A,0FEH              	;& save it
;                MOV     FIFO_ADDR,A       		;Move address to adress buffer
;                SZ      STD_FLAG.@RmtWakeup 	;Remote wakeup exist ?
;                SET     FIFO_ADDR.@ADDR_Wake	;Yes:Set remote wakeup flag
;                MOV     A,USB_ADDR_WAKE     	;MP1 point to Address register
;                MOV     MP1,A               	;
;                MOV     A,FIFO_ADDR        		;Write to Address Register
;                MOV     R1,A                	;
;                RET



;----- END (USB function) --------------------------------------------------


public	LEN0_Rd_Check
public	LEN0_Wr_Check
public	FIFO0_Rd_Check
;public	FIFO0_Rd_Check1
public	FIFO1_Rd_Check
public	FIFO2_Rd_Check
public	FIFO3_Rd_Check
public	FIFO0_Wr_Check
public	FIFO1_Wr_Check
public	FIFO2_Wr_Check
public	FIFO3_Wr_Check
public	ReadLen0
public	ReadFIFO0
public	ReadFIFO1
public	ReadFIFO2
public	ReadFIFO3
public	WriteLen0
public	WriteFIFO0
public	WriteFIFO1
public	WriteFIFO2
;public	ClearFIFO0
public	ClearFIFO1
;public	ClearFIFO2
;public	CheckSetup
;public	CheckPipe
public	GetPipeBit
public	SetStall
public	ClearStall
;public	SetAddress
;public	SetRemoteFun
;public	END_Request
END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久成人综合网| 欧美变态tickling挠脚心| 亚洲欧洲99久久| av电影天堂一区二区在线观看| 久久精品亚洲精品国产欧美 | 丝袜国产日韩另类美女| 在线成人av影院| 激情综合亚洲精品| 国产精品嫩草久久久久| 色婷婷亚洲综合| 天堂在线亚洲视频| 久久久久国产精品麻豆| 成人av资源站| 亚洲成av人在线观看| 日韩欧美一区中文| 粉嫩在线一区二区三区视频| 一色屋精品亚洲香蕉网站| 欧美亚洲高清一区二区三区不卡| 亚洲午夜久久久久久久久电影网| 欧美一区二区在线免费播放| 国产精品77777竹菊影视小说| 中文字幕制服丝袜成人av| 欧美日韩一区二区电影| 久久爱www久久做| 国产精品久久久久久久久搜平片| 91福利在线播放| 狠狠色狠狠色综合日日91app| 日韩一区中文字幕| 91精品国产综合久久久久| 国产美女精品在线| 亚洲国产日产av| 国产三级久久久| 欧美精品乱码久久久久久按摩| 国产在线日韩欧美| 亚洲午夜激情av| 欧美韩日一区二区三区| 欧美日韩一区二区欧美激情| 国产传媒久久文化传媒| 日韩精品成人一区二区三区| 中文字幕免费一区| 欧美一二三区在线| 91欧美一区二区| 国产成人综合网| 奇米在线7777在线精品| 亚洲精品国久久99热| 久久精品人人做| 91麻豆精品国产91久久久久久| 99国产欧美久久久精品| 国产真实精品久久二三区| 亚洲成人激情自拍| 亚洲免费看黄网站| 中文幕一区二区三区久久蜜桃| 337p亚洲精品色噜噜狠狠| 色欧美88888久久久久久影院| 国产一区二区三区久久久| 日韩中文字幕av电影| 一区二区三区久久| **网站欧美大片在线观看| 久久久精品综合| 日韩女优制服丝袜电影| 欧美美女视频在线观看| 91黄色免费看| 色偷偷久久一区二区三区| 波波电影院一区二区三区| 国产美女在线观看一区| 另类调教123区 | 久久精品视频在线看| 欧美一级二级在线观看| 正在播放一区二区| 正在播放亚洲一区| 欧美一区二区三区免费观看视频 | 午夜成人在线视频| 亚洲国产精品综合小说图片区| 成人欧美一区二区三区小说 | 欧美欧美午夜aⅴ在线观看| 欧美午夜电影在线播放| 欧美在线观看一二区| 欧美在线免费播放| 在线播放亚洲一区| 这里只有精品视频在线观看| 欧美精品成人一区二区三区四区| 精品视频123区在线观看| 在线精品观看国产| 欧美精品久久天天躁| 日韩亚洲欧美综合| 精品福利在线导航| 久久精品夜色噜噜亚洲a∨| 国产亲近乱来精品视频| 国产精品另类一区| 日韩毛片视频在线看| 一区二区三区精品视频| 性做久久久久久免费观看| 日韩av中文字幕一区二区| 麻豆精品在线看| 国产一区二区毛片| 成人av午夜影院| 91国模大尺度私拍在线视频| 欧美日韩久久久久久| 精品美女一区二区三区| 国产精品视频线看| 亚洲国产精品嫩草影院| 免费看日韩a级影片| 韩国v欧美v日本v亚洲v| eeuss鲁片一区二区三区在线观看| 91视频精品在这里| 欧美乱妇一区二区三区不卡视频| 精品少妇一区二区三区免费观看| 欧美极品少妇xxxxⅹ高跟鞋| 自拍偷拍国产精品| 七七婷婷婷婷精品国产| 国产精品一区二区免费不卡| 99国产精品久久久| 日韩一二三区不卡| 亚洲同性gay激情无套| 日本欧美一区二区三区乱码| 粉嫩在线一区二区三区视频| 欧美日韩国产bt| 国产欧美日产一区| 日韩有码一区二区三区| 丁香婷婷深情五月亚洲| 欧美视频一区二| 久久九九国产精品| 亚洲成年人网站在线观看| 狠狠狠色丁香婷婷综合久久五月| 91视频精品在这里| 久久免费午夜影院| 亚洲va国产天堂va久久en| 国产很黄免费观看久久| 欧美老肥妇做.爰bbww视频| 国产精品免费人成网站| 美女诱惑一区二区| 91成人免费在线| 国产日韩欧美精品在线| 三级久久三级久久| 91在线无精精品入口| 久久久久久久精| 日日嗨av一区二区三区四区| 91网站在线观看视频| 久久人人超碰精品| 青青草原综合久久大伊人精品优势 | 欧洲国产伦久久久久久久| 国产日韩欧美一区二区三区乱码| 免费久久精品视频| 欧美色综合网站| 国产精品国产三级国产aⅴ无密码| 经典一区二区三区| 日韩视频123| 水蜜桃久久夜色精品一区的特点| 一本久道中文字幕精品亚洲嫩| 欧美高清在线精品一区| 国产乱码精品一区二区三区av| 91精品国产欧美一区二区| 午夜视频一区在线观看| 欧美色窝79yyyycom| 亚洲女子a中天字幕| 91麻豆福利精品推荐| 亚洲欧洲成人自拍| 大胆亚洲人体视频| 日本一区二区免费在线| 国内成人精品2018免费看| 欧美成人r级一区二区三区| 日韩精品欧美成人高清一区二区| 在线国产亚洲欧美| 亚洲第一电影网| 欧美日韩国产美| 日韩国产欧美在线播放| 欧美久久一二区| 日本美女视频一区二区| 日韩一区二区三区观看| 免费成人在线播放| 欧美成人一区二区三区| 久久av老司机精品网站导航| 精品少妇一区二区三区在线播放 | 欧美激情一区在线观看| 成人国产亚洲欧美成人综合网| 国产精品欧美一级免费| 不卡av在线免费观看| 亚洲精品中文在线观看| 欧美日精品一区视频| 石原莉奈在线亚洲三区| 日韩免费成人网| 国产精品一区在线观看你懂的| 国产亚洲欧美在线| 一本色道久久综合狠狠躁的推荐| 伊人性伊人情综合网| 欧美精品在线观看播放| 久久不见久久见免费视频1| 中文字幕免费观看一区| 91麻豆精品一区二区三区| 日韩精品福利网| 精品日韩欧美在线| 成人性色生活片| 亚洲成人福利片| 2017欧美狠狠色| 99久久综合国产精品| 五月激情综合色| 国产三级精品三级| 欧美特级限制片免费在线观看| 免费成人深夜小野草| 国产精品久线观看视频|