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

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

?? descript.asm

?? This example implements a gameport translator on the PIC16C765. The firmware translates a gaming d
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;                            Software License Agreement
;
; The software supplied herewith by Microchip Technology Incorporated (the "Company")
; for its PICmicro(r) Microcontroller is intended and supplied to you, the Company's
; customer, for use solely and exclusively on Microchip PICmicro Microcontroller
; products.
;
; The software is owned by the Company and/or its supplier, and is protected under
; applicable copyright laws. All rights are reserved. Any use in violation of the
; foregoing restrictions may subject the user to criminal sanctions under applicable
; laws, as well as to civil liability for the breach of the terms and conditions of
; this license.
;
; THIS SOFTWARE IS PROVIDED IN AN "AS IS" CONDITION. NO WARRANTIES, WHETHER EXPRESS,
; IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
; MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. THE
; COMPANY SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL OR
; CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
;
; ###############################################################################
;   filename:           DESCRIPT.ASM
;
; This file contains a set of descriptors for a gamepad.  
;
; ###############################################################################
;
;   Author:             Dan Butler and Reston Condit
;   Company:            Microchip Technology Inc
;
;   Revision:           1.21
;   Date:               08 August 2001
;   Assembled using     MPASM 2.61
;   Revision History:
;   23 August 2000      DZB Changed descriptor pointers to 16 bits.
;   24 August 2000      DZB Moved EP1 & 2 configuration from USBReset
;                           to Set_Configuration to implement requirement in
;                           USB V1.1 spec paragraph 5.3.1.2
;   28 August 2000      DZB Force data toggle on OUT packets in PutUSB
;   20 March 2001       DZB Reduced use of common RAM
;   20 March 2001       DZB Put and Get use their own temp variable (GPtemp) to
;                           avoid collisions with the ISR's use of temp.
;   29 March 2001       DZB Fixed saving of bank bits in GetUSB
;   02 May 2001         DZB Implemented SHOW_ENUM_STATUS to show enumeration
;                           status on the PORTB LEDs: 0- Powered, 1- Default,
;                           2- addressed, 3- configured, 4- sleep, 
;                           5- EP0 Activity, 6- EP1 Activity, 7- EP2 Activity
;   03 August 2001      RAC Made distinct GetEP and PutEP macros for endpoints 1 
;                           and 2.  These functions are GetEP1, GetEP2, PutEP1, and 
;                           PutEP2.  Instances of the these macros are created in
;                           usb_ch9.asm.
;   08 August 2001      RAC Corrected various banking and paging issues.
;   15 August           RAC Added Report_desc_index function in descript.asm.
;                           This function allows more than one report descriptor
;                           to be used.  
;
;################################################################################
;
;   include files:
;       P16C765.inc     Rev 1.00
;       usb_defs.inc    Rev 1.00
;
;################################################################################
#include <p16C765.inc>
#include "usb_defs.inc"

USBBANK code
    global  Config_desc_index
    global  Report_desc_index
    global  Descriptions
    global  string_index
    global  DeviceDescriptor
    global  ReportDescriptor
    global  ReportDescriptorLen
    global  String0
    global  String0_end
    global  StringDescriptions
    global  HID_Descriptor

    extern  EP0_start
    extern  temp    ; temp var used in get config index
    extern  temp2   ; another temp, in bank2 

; ******************************************************************
; Given a configuration descriptor index, returns the beginning address
; of the descriptor within the descriptions table
; ******************************************************************
Config_desc_index
    movwf   temp
    movlw   HIGH CDI_start
    movwf   PCLATH
    movlw   low  CDI_start
    addwf   temp,w
    btfsc   STATUS,C
    incf    PCLATH,f
    movwf   PCL
CDI_start           ; this table calculates the offsets for each configuration
    retlw   low  Config1       ; descriptor from the beginning
    retlw   high Config1       ; of the table, effectively
    ; more configurations can be added here
    ; retlw   low Config2
    ; retlw   high Config2
    ; etc....

; ******************************************************************
; Given a report descriptor index, returns the beginning address
; of the descriptor within the descriptions table
; ******************************************************************
Report_desc_index
    movwf   temp
    movlw   HIGH RDI_start
    movwf   PCLATH
    movlw   low  RDI_start
    addwf   temp,w
    btfsc   STATUS,C
    incf    PCLATH,f
    movwf   PCL
RDI_start       ; this table calculates the offsets for each report
    retlw   low  ReportDescriptorLen  ; descriptor from the beginning
    retlw   high ReportDescriptorLen  ; of the table, effectively
    ; more reports can be added here
    ; retlw   low  ReportDescriptorLen2
    ; retlw   high ReportDescriptorLen2
    ; etc....

; ******************************************************************
; This table is polled by the host immediately after USB Reset has been released.
; This table defines the maximum packet size EP0 can take.
; See section 9.6.1 of the Rev 1.0 USB specification.
; These fields are application DEPENDENT. Modify these to meet
; your specifications.
; the offset is passed in P0 and P1 (P0 is low order byte).
; ******************************************************************
Descriptions
    banksel EP0_start
    movf    EP0_start+1,w
    movwf   PCLATH
    movf    EP0_start,w
    movwf   PCL

DeviceDescriptor
StartDevDescr
	retlw	0x12    ; bLength	Length of this descriptor
	retlw	0x01    ; bDescType This is a DEVICE descriptor
	retlw	0x00  	; bcdUSB	USB revision 1.10 (low byte)
	retlw	0x01    ; high byte
	retlw	0x00    ; bDeviceClass	zero means each interface operates independently
	retlw	0x00    ; bDeviceSubClass
	retlw	0x00    ; bDeviceProtocol
	retlw	0x08	; bMaxPacketSize0 - inited in UsbInit()
	retlw	0xD8	; idVendor	0x04D8 is Microchip Vendor ID
	retlw	0x04	; high order byte
	retlw	0x03	; idProduct
	retlw	0x00
	retlw	0x00	; bcdDevice
	retlw	0x00
	retlw	0x01	; iManufacturer
	retlw	0x02	; iProduct
	; somehow, changing iSerialNumber will cause windows to display
	; "New Hardware found" dialog. The device will function normally,
	; however, USBCheck will NOT start. From CATC we can see that
	; the string is correctly transmitted.
	retlw	0;0x0	; iSerialNumber - 3
	retlw	NUM_CONFIGURATIONS	; bNumConfigurations

; ******************************************************************
; This table is retrieved by the host after the address has been set.
; This table defines the configurations available for the device.
; See section 9.6.2 of the Rev 1.0 USB specification (page 184).
; These fields are application DEPENDENT. 
; Modify these to meet your specifications.
; ******************************************************************
Config1
	retlw	0x09	; bLength	Length of this descriptor
	retlw	0x02	; bDescType	2=CONFIGURATION

	retlw	EndConfig1 - Config1
	retlw	0x00   
	retlw	0x01   	; bNumInterfaces	Number of interfaces

	retlw	0x01   	; bConfigValue	Configuration Value
	retlw	0x04   	; iConfig	String Index for this config = #01
	retlw	0x80	; bmAttributes	attributes - bus powered
	retlw	0x32	; MaxPower	self-powered draws 0 mA from the bus.
Interface1
	retlw	0x09	; length of descriptor
	retlw	INTERFACE;
	retlw	0x00	; number of interface, 0 based array
	retlw	0x00	; alternate setting
	retlw	0x01	; number of endpoints used in this interface
	retlw	0x03	; interface class - assigned by the USB
	retlw	0x00	; boot device
	retlw	0x00	; interface protocol
	retlw 	0x05    ; index to string descriptor that describes this interface
HID_Descriptor
    retlw	0x09    ; descriptor size (9 bytes)
    retlw	0x21    ; descriptor type (HID)
    retlw	0x00
	retlw	0x01    ; HID class release number (1.00)
    retlw	0x00    ; Localized country code (none)
    retlw	0x01    ; # of HID class descriptor to follow (1)
    retlw	0x22    ; Report descriptor type (HID)
    retlw	(end_ReportDescriptor - ReportDescriptor)
    retlw	0x00
Endpoint1
	retlw	0x07    ; length of descriptor
	retlw	ENDPOINT
	retlw	0x81	; EP1, In
	retlw	0x03   	; Interrupt
	retlw	0x03	; max packet size (3 bytes) low order byte
	retlw	0x00	; max packet size (3 bytes) high order byte
	retlw	0x0A	; polling interval (10ms)
EndConfig1

ReportDescriptorLen
	retlw	low  (end_ReportDescriptor-ReportDescriptor)

ReportDescriptor
    retlw	0x05
	retlw	0x01                ; USAGE_PAGE (Generic Desktop)
    retlw	0x09
	retlw	0x05                ; USAGE (Game Pad)
    retlw	0xa1
	retlw	0x01                ; COLLECTION (Application)
    retlw	0x09
	retlw	0x01                ;   USAGE (Pointer)
    retlw	0xa1
    retlw	0x00                ;   COLLECTION (Physical)
    retlw	0x09
	retlw	0x30                ;     USAGE (X)
    retlw	0x09
	retlw	0x31                ;     USAGE (Y)
    retlw	0x15
	retlw	0x00                ;     LOGICAL_MINIMUM (0)
    retlw	0x26
	retlw	0xFF                ;     LOGICAL_MAXIMUM (255)
    retlw   0x00
    retlw   0x75
	retlw	0x08                ;     REPORT_SIZE (8)	
    retlw	0x95
	retlw	0x02                ;     REPORT_COUNT (2)
    retlw	0x81
	retlw	0x02                ;     INPUT (Data,Var,Abs)
    retlw	0xc0                ;   END_COLLECTION
    retlw	0x05
	retlw	0x09                ;   USAGE_PAGE (Button)
    retlw	0x19
	retlw	0x01                ;   USAGE_MINIMUM (Button 1)
    retlw	0x29
	retlw	0x06                ;   USAGE_MAXIMUM (Button 6)
    retlw	0x15
	retlw	0x00                ;   LOGICAL_MINIMUM (0)
    retlw	0x25
	retlw	0x01                ;   LOGICAL_MAXIMUM (1)
    retlw	0x75
	retlw	0x01                ;   REPORT_SIZE (1)
    retlw	0x95
	retlw	0x06                ;   REPORT_COUNT (6)
    retlw	0x81
	retlw	0x02                ;   INPUT (Data,Var,Abs)
    retlw	0x95
	retlw	0x02                ;   REPORT_COUNT (2)
    retlw	0x81
	retlw	0x03                ;   INPUT (Constant,Var,Abs)
    retlw	0xc0                ; END_COLLECTION
end_ReportDescriptor

StringDescriptions
	banksel	EP0_start
	movf	EP0_start+1,w
	movwf	PCLATH
	movf	EP0_start,w
	movwf	PCL

; ******************************************************************
; Given a configuration descriptor index, returns the beginning address
; of the descriptor within the descriptions table
; ******************************************************************
string_index		; langid in W reg, string offset in EP0_start
	movwf	temp
	bcf	    STATUS,C
	rlf	    temp, f

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区在线看| jiyouzz国产精品久久| 国产乱码精品一区二区三区五月婷| 色综合久久久久综合体桃花网| 国产成人在线影院| 在线免费观看一区| 国产日韩欧美a| 日本网站在线观看一区二区三区| 粉嫩av一区二区三区| 日韩无一区二区| 亚洲综合av网| 一道本成人在线| 国产精品欧美一区二区三区| 美腿丝袜一区二区三区| 欧美性三三影院| 亚洲女人的天堂| 高清国产一区二区| 久久女同精品一区二区| 美女视频网站久久| 4438x亚洲最大成人网| 一区二区不卡在线视频 午夜欧美不卡在| 国产乱淫av一区二区三区| 日韩欧美一级二级三级久久久| 亚洲一区二区成人在线观看| 一本一道综合狠狠老| 亚洲日本乱码在线观看| 成人一区二区视频| 欧美激情中文不卡| 成人av在线播放网址| 欧美激情在线一区二区三区| 国产成人精品午夜视频免费| 国产欧美精品一区aⅴ影院| 国产乱子轮精品视频| 欧美mv日韩mv国产网站app| 久久精品国产亚洲aⅴ| 欧美一区二区三区男人的天堂| 爽爽淫人综合网网站| 4438x亚洲最大成人网| 日本中文字幕一区二区视频 | 欧美激情在线观看视频免费| 黑人巨大精品欧美一区| 久久婷婷国产综合国色天香| 国产精品综合二区| 国产欧美日韩久久| 99久久99久久免费精品蜜臀| 玉足女爽爽91| 欧美另类变人与禽xxxxx| 免费成人av资源网| 国产网红主播福利一区二区| 成人av网站免费观看| 亚洲麻豆国产自偷在线| 欧美日韩三级视频| 久久99国产乱子伦精品免费| 中文成人av在线| 91国产精品成人| 久久精品国产久精国产爱| 精品99一区二区| 97久久人人超碰| 日韩在线卡一卡二| 久久久精品免费观看| 日韩一区二区麻豆国产| 极品少妇xxxx精品少妇偷拍| 国产精品国产三级国产aⅴ原创| 一本一道综合狠狠老| 日本aⅴ亚洲精品中文乱码| 国产午夜亚洲精品午夜鲁丝片| 99re这里只有精品首页| 偷拍亚洲欧洲综合| 欧美激情一区二区| 69p69国产精品| 不卡av电影在线播放| 日日夜夜一区二区| 国产精品第一页第二页第三页| 欧美人与性动xxxx| 成人在线视频首页| 蜜桃精品视频在线观看| 亚洲伦在线观看| 久久久久久久久久电影| 欧美视频中文一区二区三区在线观看| 久久99在线观看| 亚洲精品写真福利| 国产日韩精品一区二区三区| 欧美色综合影院| 成人午夜私人影院| 麻豆精品国产91久久久久久| 亚洲精品五月天| 国产日韩精品一区二区浪潮av| 欧美日韩亚洲综合一区| 91女人视频在线观看| 国模娜娜一区二区三区| 日韩 欧美一区二区三区| 亚洲黄色片在线观看| 蜜臀久久99精品久久久久久9| 中文字幕一区二区三区在线观看| 日韩午夜激情免费电影| 欧美欧美欧美欧美| 在线免费观看日本一区| 99在线精品一区二区三区| 激情久久五月天| 久久精品国产**网站演员| 亚洲sss视频在线视频| 亚洲视频小说图片| 国产精品久久综合| 国产肉丝袜一区二区| 精品欧美一区二区三区精品久久| 欧美精品视频www在线观看| 91国产免费看| 欧美体内she精高潮| 在线精品观看国产| 在线观看中文字幕不卡| 日本久久一区二区三区| 99国产精品国产精品久久| 成人伦理片在线| 国产91精品入口| 成人高清免费观看| 99久久er热在这里只有精品15| 成人永久免费视频| 色综合天天综合网天天狠天天| 91麻豆.com| 在线日韩一区二区| 欧美精品久久99久久在免费线 | 中文在线一区二区| 国产精品久久三| 亚洲精品网站在线观看| 亚洲国产中文字幕在线视频综合 | 色天使色偷偷av一区二区| 日韩免费观看2025年上映的电影| 欧美日韩精品专区| 日韩一区二区三区免费观看 | 在线视频欧美精品| 欧美欧美欧美欧美首页| 欧美v亚洲v综合ⅴ国产v| 久久久久97国产精华液好用吗| 国产精品丝袜黑色高跟| 一区二区在线观看免费| 视频精品一区二区| 国产精品综合一区二区| 99精品热视频| 91精品一区二区三区在线观看| 精品乱码亚洲一区二区不卡| 国产精品免费视频观看| 夜夜嗨av一区二区三区| 久久电影网站中文字幕| jiyouzz国产精品久久| 欧美日韩精品一二三区| 精品国产sm最大网站免费看| 国产精品国产三级国产专播品爱网 | 极品销魂美女一区二区三区| 99久久婷婷国产| 欧美精品一二三四| 国产精品免费网站在线观看| 亚洲自拍另类综合| 国产一区二区三区四区在线观看| 成人免费视频一区二区| 欧美人妖巨大在线| 国产欧美一二三区| 亚洲不卡av一区二区三区| 国产精品夜夜嗨| 777精品伊人久久久久大香线蕉| 国产日韩欧美综合在线| 午夜激情久久久| 波多野结衣亚洲| 精品国产乱码久久久久久免费| 亚洲精品一二三区| 国产精品一区二区三区网站| 在线观看av一区| 国产精品午夜春色av| 免费成人在线影院| 在线观看中文字幕不卡| 中文字幕va一区二区三区| 蜜臀av国产精品久久久久| 色婷婷av一区二区| 亚洲国产高清不卡| 激情综合色综合久久| 欧美日韩精品福利| 亚洲免费资源在线播放| 国产成人精品影视| 亚洲美女免费在线| 不卡在线视频中文字幕| 精品理论电影在线| 免费精品视频在线| 欧美电影在线免费观看| 怡红院av一区二区三区| eeuss鲁一区二区三区| 国产亚洲欧洲997久久综合| 日韩av电影免费观看高清完整版 | 欧美日韩亚洲高清一区二区| 国产精品情趣视频| 国产激情视频一区二区在线观看| 日韩三级在线免费观看| 午夜视黄欧洲亚洲| 欧美日韩在线直播| 一区二区三区四区蜜桃| 色哟哟一区二区三区| 亚洲欧美激情小说另类| 不卡的av中国片| 亚洲日本乱码在线观看| 91啪在线观看| 亚洲另类色综合网站| 日本精品一级二级|