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

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

?? usbdrvasm.s

?? avr單片機usb下載器的制作資料
?? S
字號:
/* Name: usbdrvasm.S * Project: AVR USB driver * Author: Christian Starkjohann * Creation Date: 2007-06-13 * Tabsize: 4 * Copyright: (c) 2007 by OBJECTIVE DEVELOPMENT Software GmbH * License: GNU GPL v2 (see License.txt) or proprietary (CommercialLicense.txt) * Revision: $Id$ *//*General Description:This module is the assembler part of the USB driver. This file containsgeneral code (preprocessor acrobatics and CRC computation) and then includesthe file appropriate for the given clock rate.*/#include "iarcompat.h"#ifndef __IAR_SYSTEMS_ASM__    /* configs for io.h */#   define __SFR_OFFSET 0#   define _VECTOR(N)   __vector_ ## N   /* io.h does not define this for asm */#   include <avr/io.h> /* for CPU I/O register definitions and vectors */#endif  /* __IAR_SYSTEMS_ASM__ */#include "usbdrv.h" /* for common defs *//* register names */#define x1      r16#define x2      r17#define shift   r18#define cnt     r19#define x3      r20#define x4      r21#define bitcnt  r22#define phase   x4#define leap    x4/* Some assembler dependent definitions and declarations: */#ifdef __IAR_SYSTEMS_ASM__#   define nop2     rjmp    $+2 /* jump to next instruction */#   define XL       r26#   define XH       r27#   define YL       r28#   define YH       r29#   define ZL       r30#   define ZH       r31#   define lo8(x)   LOW(x)#   define hi8(x)   ((x)>>8)    /* not HIGH to allow XLINK to make a proper range check */    extern  usbRxBuf, usbDeviceAddr, usbNewDeviceAddr, usbInputBufOffset    extern  usbCurrentTok, usbRxLen, usbRxToken, usbTxLen    extern  usbTxBuf, usbMsgLen, usbTxLen1, usbTxBuf1, usbTxLen3, usbTxBuf3    public  usbCrc16    public  usbCrc16Append    COMMON  INTVEC    ORG     INT0_vect    rjmp    SIG_INTERRUPT0    RSEG    CODE#else /* __IAR_SYSTEMS_ASM__ */#   define nop2     rjmp    .+0 /* jump to next instruction */    .text    .global SIG_INTERRUPT0    .type   SIG_INTERRUPT0, @function    .global usbCrc16    .global usbCrc16Append#endif /* __IAR_SYSTEMS_ASM__ */;----------------------------------------------------------------------------; Utility functions;----------------------------------------------------------------------------#ifdef __IAR_SYSTEMS_ASM__/* Register assignments for usbCrc16 on IAR cc *//* Calling conventions on IAR: * First parameter passed in r16/r17, second in r18/r19 and so on. * Callee must preserve r4-r15, r24-r29 (r28/r29 is frame pointer) * Result is passed in r16/r17 * In case of the "tiny" memory model, pointers are only 8 bit with no * padding. We therefore pass argument 1 as "16 bit unsigned". */RTMODEL "__rt_version", "3"/* The line above will generate an error if cc calling conventions change. * The value "3" above is valid for IAR 4.10B/W32 */#   define argLen   r18 /* argument 2 */#   define argPtrL  r16 /* argument 1 */#   define argPtrH  r17 /* argument 1 */#   define resCrcL  r16 /* result */#   define resCrcH  r17 /* result */#   define ptrL     ZL#   define ptrH     ZH#   define ptr      Z#   define byte     r22#   define bitCnt   r19#   define polyL    r20#   define polyH    r21#   define scratch  r23#else  /* __IAR_SYSTEMS_ASM__ */ /* Register assignments for usbCrc16 on gcc *//* Calling conventions on gcc: * First parameter passed in r24/r25, second in r22/23 and so on. * Callee must preserve r1-r17, r28/r29 * Result is passed in r24/r25 */#   define argLen   r22 /* argument 2 */#   define argPtrL  r24 /* argument 1 */#   define argPtrH  r25 /* argument 1 */#   define resCrcL  r24 /* result */#   define resCrcH  r25 /* result */#   define ptrL     XL#   define ptrH     XH#   define ptr      x#   define byte     r18#   define bitCnt   r19#   define polyL    r20#   define polyH    r21#   define scratch  r23#endif; extern unsigned usbCrc16(unsigned char *data, unsigned char len);; data: r24/25; len: r22; temp variables:;   r18: data byte;   r19: bit counter;   r20/21: polynomial;   r23: scratch;   r24/25: crc-sum;   r26/27=X: ptrusbCrc16:    mov     ptrL, argPtrL    mov     ptrH, argPtrH    ldi     resCrcL, 0xff    ldi     resCrcH, 0xff    ldi     polyL, lo8(0xa001)    ldi     polyH, hi8(0xa001)crcByteLoop:    subi    argLen, 1    brcs    crcReady    ld      byte, ptr+    ldi     bitCnt, 8crcBitLoop:    mov     scratch, byte    eor     scratch, resCrcL    lsr     resCrcH    ror     resCrcL    lsr     byte    sbrs    scratch, 0    rjmp    crcNoXor    eor     resCrcL, polyL    eor     resCrcH, polyHcrcNoXor:    dec     bitCnt    brne    crcBitLoop    rjmp    crcByteLoopcrcReady:    com     resCrcL    com     resCrcH    ret; extern unsigned usbCrc16Append(unsigned char *data, unsigned char len);usbCrc16Append:    rcall   usbCrc16    st      ptr+, resCrcL    st      ptr+, resCrcH    ret;----------------------------------------------------------------------------; Now include the clock rate specific code;----------------------------------------------------------------------------#ifndef USB_CFG_CLOCK_KHZ#   define USB_CFG_CLOCK_KHZ 12000#endif#if USB_CFG_CLOCK_KHZ == 12000#   include "usbdrvasm12.S"#elif USB_CFG_CLOCK_KHZ == 16000#   include "usbdrvasm16.S"#elif USB_CFG_CLOCK_KHZ == 16500#   include "usbdrvasm165.S"#else#   error "USB_CFG_CLOCK_KHZ is not one of the supported rates!"#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人91在线观看| 美日韩一级片在线观看| 精品成人私密视频| 欧美mv和日韩mv国产网站| 91精品欧美福利在线观看| 欧美日韩成人在线| 欧美一区二区在线看| 欧美精品一二三| 欧美日韩1区2区| 欧美精品在欧美一区二区少妇| 欧美亚男人的天堂| 在线不卡一区二区| 欧美www视频| 国产欧美一区二区精品性色| 国产精品久久免费看| 亚洲伦理在线免费看| 亚洲另类在线一区| 天堂在线一区二区| 精彩视频一区二区| aaa欧美日韩| 欧美肥胖老妇做爰| 久久久美女毛片| 日韩理论片一区二区| 亚洲综合色噜噜狠狠| 奇米影视一区二区三区| 黄色成人免费在线| 成人影视亚洲图片在线| 在线观看91精品国产入口| 91精品国产综合久久精品图片 | 精品乱人伦小说| 久久综合九色综合欧美就去吻| 欧美经典一区二区三区| 一区二区三区四区亚洲| 免费亚洲电影在线| 成人h版在线观看| 欧美日韩久久久| 国产丝袜在线精品| 五月天亚洲婷婷| 成人精品亚洲人成在线| 欧美人牲a欧美精品| 欧美激情一区在线观看| 五月天欧美精品| 国产成人啪午夜精品网站男同| 在线看不卡av| 中文字幕欧美日本乱码一线二线| 亚洲高清在线精品| 成人精品高清在线| 日韩精品一区二区三区中文不卡 | 日韩视频免费观看高清在线视频| 国产欧美精品在线观看| 香蕉久久夜色精品国产使用方法 | 精品乱人伦小说| 亚洲国产日产av| 成人avav影音| 久久色在线视频| 天天影视网天天综合色在线播放| 99久久国产综合色|国产精品| 久久综合九色综合欧美亚洲| 日日噜噜夜夜狠狠视频欧美人 | 欧美性猛片xxxx免费看久爱| 国产三级三级三级精品8ⅰ区| 天天综合网 天天综合色| 97精品视频在线观看自产线路二| 久久噜噜亚洲综合| 久久疯狂做爰流白浆xx| 91精品国产色综合久久不卡电影| 亚洲麻豆国产自偷在线| av不卡一区二区三区| 国产欧美一区二区精品性| 激情伊人五月天久久综合| 日韩一区二区在线播放| 偷拍一区二区三区| 欧美亚洲国产一卡| 亚洲福利一区二区三区| 欧美伊人精品成人久久综合97| 亚洲男人的天堂在线aⅴ视频| 不卡的av电影| 国产精品女人毛片| 99re这里只有精品首页| 椎名由奈av一区二区三区| 色综合天天性综合| 亚洲免费观看高清完整版在线观看| eeuss鲁片一区二区三区| 国产精品美女久久久久久| 粉嫩久久99精品久久久久久夜| 日本一区二区免费在线观看视频 | 日韩欧美国产一二三区| 奇米一区二区三区av| 欧美tk—视频vk| 国产v综合v亚洲欧| 成人免费在线视频| 欧美日韩国产色站一区二区三区| 亚洲h在线观看| 欧美videos大乳护士334| 国产成人在线视频播放| 亚洲人成伊人成综合网小说| 欧洲国产伦久久久久久久| 日韩高清不卡一区二区| 久久综合九色综合97婷婷女人 | 99精品国产热久久91蜜凸| 国产精品初高中害羞小美女文| 色94色欧美sute亚洲线路二| 午夜免费久久看| 久久久国产一区二区三区四区小说 | 99久久精品免费看国产免费软件| 亚洲欧美日韩中文字幕一区二区三区| 在线观看亚洲精品视频| 久久99精品国产麻豆婷婷| 国产欧美一区二区精品仙草咪| 日本韩国精品在线| 精品一区二区三区免费毛片爱| 日本一区免费视频| 欧美日精品一区视频| 国产米奇在线777精品观看| 亚洲激情欧美激情| 久久美女高清视频| 欧美日韩综合不卡| 国产aⅴ精品一区二区三区色成熟| 亚洲午夜免费福利视频| 国产亚洲精品超碰| 91精品国产综合久久久久久久| 成人av网在线| 麻豆成人91精品二区三区| 亚洲欧洲综合另类| 国产日韩欧美亚洲| 欧美军同video69gay| 99re视频这里只有精品| 久久精品99国产精品日本| 亚洲综合视频在线观看| 国产精品久久久久久久久果冻传媒| 欧美日韩一卡二卡| av激情成人网| 国产精品亚洲а∨天堂免在线| 日韩成人伦理电影在线观看| 亚洲色图清纯唯美| 中国色在线观看另类| 精品捆绑美女sm三区| 91精品国产综合久久婷婷香蕉| 91亚洲精品一区二区乱码| 国产成人高清视频| 黄色精品一二区| 美腿丝袜亚洲色图| 秋霞av亚洲一区二区三| 亚洲二区在线视频| 一区二区三区在线视频观看58| 国产精品乱码妇女bbbb| 国产色综合一区| 国产婷婷色一区二区三区在线| 久久亚洲私人国产精品va媚药| 日韩欧美国产综合一区| 制服丝袜在线91| 欧美精品三级日韩久久| 911精品国产一区二区在线| 欧美日韩一区二区三区免费看 | 欧美一区二区三区免费大片 | 精品一区中文字幕| 久久精工是国产品牌吗| 久久精品国内一区二区三区| 日韩精品免费视频人成| 日本欧美肥老太交大片| 奇米四色…亚洲| 激情图区综合网| 国产一区二区女| 成人性生交大合| aaa欧美色吧激情视频| 91麻豆免费看片| 欧美性受xxxx黑人xyx性爽| 欧美三区免费完整视频在线观看| 精品视频在线免费| 欧美大胆一级视频| 久久综合九色综合97_久久久| 日本一区二区三区国色天香 | 精品视频一区二区不卡| 日韩一区二区三区在线视频| 精品99一区二区三区| 国产精品人人做人人爽人人添| 中文字幕字幕中文在线中不卡视频| 亚洲精品日韩专区silk| 日韩中文字幕亚洲一区二区va在线| 蜜臀精品一区二区三区在线观看 | 亚洲精品videosex极品| 亚洲午夜免费福利视频| 久久成人精品无人区| 成人高清伦理免费影院在线观看| 色一情一乱一乱一91av| 欧美一级搡bbbb搡bbbb| 中文字幕av不卡| 日韩精品一卡二卡三卡四卡无卡| 激情综合网天天干| 8x福利精品第一导航| 日韩午夜精品电影| 亚洲人精品午夜| 久草热8精品视频在线观看| av在线不卡电影| 精品免费视频一区二区| 亚洲永久精品国产| 国产成人免费9x9x人网站视频| 欧美三级中文字| 国产精品久久久久久久第一福利| 日本欧美在线看|