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

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

?? main.lis

?? 用ATmega128做的mp3播放器
?? LIS
?? 第 1 頁 / 共 3 頁
字號:
                        .module main.c
                        .area data(ram, con, rel)
 0000           _PageAddress16::
 0000                   .blkb 1
                        .area idata
 0000 00                .byte 0
                        .area data(ram, con, rel)
 0001                   .dbfile C:\DATA\MP3\BootLoader\main.c
 0001                   .dbsym e PageAddress16 _PageAddress16 c
                        .area text(rom, con, rel)
 0000                   .dbfile C:\DATA\MP3\BootLoader\main.c
 0000                   .dbfunc e BootLoad _BootLoad fV
                        .even
 0000           _BootLoad::
 0000                   .dbline -1
 0000                   .dbline 70
 0000           ; /*********************************************************/
 0000           ; /* BootLoader for ATMega128 & MP3 Ver:3.0  @ 16Mhz         */
 0000           ; /* Version 1.1 April 2003                                                              */
 0000           ; /* 1.0 : First Release                                                                         */
 0000           ; /* 1.1 : Add auto baud rate, code smaller                              */
 0000           ; /* 1.2 : Correct a bug with file larger than 65280 bytes.*/
 0000           ; /*                                                                                                             */     
 0000           ; /* Sylvain.Bissonnette@MicroSyl.com                                            */
 0000           ; /*********************************************************/
 0000           ; 
 0000           ; /*********************************************************/
 0000           ; /*                   I N C L U D E                                 */
 0000           ; /*********************************************************/   
 0000           ; #include "main.h"
 0000           ; #include "assembly.h"
 0000           ; #include "macros.h"
 0000           ; #include "iom128v.h"
 0000           ; 
 0000           ; /*********************************************************/
 0000           ; /*                   D E F I N E                           */
 0000           ; /*********************************************************/   
 0000           ; //#define      DeviceID        'A'    // Mega8                
 0000           ; //#define      DeviceID        'B'    // Mega16       
 0000           ; //#define      DeviceID        'C'    // Mega64       
 0000           ; #define        DeviceID        'D'    // Mega128      
 0000           ;                                               
 0000           ; //#define      FlashSize       'l'    // Flash 8k
 0000           ; //#define      FlashSize       'm'    // Flash 16k
 0000           ; //#define      FlashSize       'n'    // Flash 32k
 0000           ; //#define      FlashSize       'o'    // Flash 64k
 0000           ; #define        FlashSize       'p'    // Flash 128k
 0000           ; 
 0000           ; //#define      BootSize        'a'    // 128 word
 0000           ; //#define      BootSize        'b'    // 256 word
 0000           ; #define        BootSize        'c'    // 512 word
 0000           ; //#define      BootSize        'd'    // 1024 word
 0000           ; //#define      BootSize        'e'    // 2048 word
 0000           ; //#define      BootSize        'f'    // 4096 word
 0000           ; 
 0000           ; //#define      PageSize        'Q'    // 32 Bytes
 0000           ; //#define      PageSize        'R'    // 64 Bytes
 0000           ; //#define      PageSize        'S'    // 128 Bytes
 0000           ; #define        PageSize        'T'    // 256 Bytes            
 0000           ; //#define      PageSize        'U'    // 512 Bytes
 0000           ; 
 0000           ; //#define  PageByte    32     // 32 Bytes
 0000           ; //#define  PageByte    64     // 64 Bytes
 0000           ; //#define  PageByte    128     // 128 Bytes
 0000           ; #define  PageByte      256     // 256 Bytes           
 0000           ; //#define  PageByte    512     // 512 Bytes
 0000           ; 
 0000           ; #define  FALSE                 0
 0000           ; #define  TRUE          1
 0000           ; 
 0000           ; #define        EXECCODE        0xffff
 0000           ; 
 0000           ; /*********************************************************/
 0000           ; /*           G L O B A L    V A R I A B L E S                  */
 0000           ; /*********************************************************/   
 0000           ; 
 0000           ; unsigned char PageBuffer[PageByte];
 0000           ; unsigned int PageAddress;
 0000           ; unsigned char PageAddress16 = 0;
 0000           ; unsigned int RealPageAddress;
 0000           ; 
 0000           ; 
 0000           ; /*********************************************************/
 0000           ; 
 0000           ; void BootLoad(void)
 0000           ; {
 0000                   .dbline 71
 0000           ; SendDeviceID();
 0000 1ED0              xcall _SendDeviceID
 0002                   .dbline 72
 0002           ; TxChar('!');
 0002 01E2              ldi R16,33
 0004 F6D0              xcall _TxChar
 0006 19C0              xjmp L3
 0008           L2:
 0008                   .dbline 74
 0008           ; while(1)
 0008           ;               {
 0008                   .dbline 75
 0008           ;               GetPageNumber();
 0008 23D0              xcall _GetPageNumber
 000A                   .dbline 76
 000A           ;               if (RealPageAddress == EXECCODE) ExecCode();
 000A 80910000          lds R24,_RealPageAddress
 000E 90910100          lds R25,_RealPageAddress+1
 0012 8F3F              cpi R24,255
 0014 EFEF              ldi R30,255
 0016 9E07              cpc R25,R30
 0018 09F4              brne L5
 001A                   .dbline 76
 001A 40D0              xcall _ExecCode
 001C           L5:
 001C                   .dbline 78
 001C           ; 
 001C           ;               if (GetPage())
 001C 47D0              xcall _GetPage
 001E 0023              tst R16
 0020 51F0              breq L7
 0022                   .dbline 79
 0022           ;                  {
 0022                   .dbline 80
 0022           ;                  WriteFlash();
 0022 6DD0              xcall _WriteFlash
 0024                   .dbline 81
 0024           ;                  if (CheckFlash()) TxChar('!');
 0024 A7D0              xcall _CheckFlash
 0026 0023              tst R16
 0028 19F0              breq L9
 002A                   .dbline 81
 002A 01E2              ldi R16,33
 002C E2D0              xcall _TxChar
 002E 05C0              xjmp L8
 0030           L9:
 0030                   .dbline 82
 0030           ;                  else TxChar('@');
 0030 00E4              ldi R16,64
 0032 DFD0              xcall _TxChar
 0034                   .dbline 83
 0034           ;                  }
 0034 02C0              xjmp L8
 0036           L7:
 0036                   .dbline 84
 0036           ;               else TxChar('@');
 0036 00E4              ldi R16,64
 0038 DCD0              xcall _TxChar
 003A           L8:
 003A                   .dbline 85
 003A           L3:
 003A                   .dbline 73
 003A E6CF              xjmp L2
 003C           X0:
 003C                   .dbline -2
 003C                   .dbline 86
 003C           ;               }
 003C           ; }
 003C           L1:
 003C                   .dbline 0 ; func end
 003C 0895              ret
 003E                   .dbend
 003E                   .dbfunc e SendDeviceID _SendDeviceID fV
                        .even
 003E           _SendDeviceID::
 003E                   .dbline -1
 003E                   .dbline 90
 003E           ; 
 003E           ; /*********************************************************/
 003E           ; void SendDeviceID(void)
 003E           ; {
 003E                   .dbline 91
 003E           ; TxChar(DeviceID);
 003E 04E4              ldi R16,68
 0040 D8D0              xcall _TxChar
 0042                   .dbline 92
 0042           ; TxChar(FlashSize);
 0042 00E7              ldi R16,112
 0044 D6D0              xcall _TxChar
 0046                   .dbline 93
 0046           ; TxChar(BootSize);
 0046 03E6              ldi R16,99
 0048 D4D0              xcall _TxChar
 004A                   .dbline 94
 004A           ; TxChar(PageSize);
 004A 04E5              ldi R16,84
 004C D2D0              xcall _TxChar
 004E                   .dbline 95
 004E           ; RxChar();
 004E                   .dbline -2
 004E                   .dbline 96
 004E           ; }
 004E           L11:
 004E                   .dbline 0 ; func end
 004E CFC0              xjmp _RxChar
 0050                   .dbend
 0050                   .dbfunc e GetPageNumber _GetPageNumber fV
 0050           ; PageAddressLow -> R22
 0050           ; PageAddressHigh -> R20
                        .even
 0050           _GetPageNumber::
 0050 0E940000          xcall push_gset2
 0054                   .dbline -1
 0054                   .dbline 101
 0054           ; 
 0054           ; /*********************************************************/
 0054           ; 
 0054           ; void GetPageNumber(void)
 0054           ; {
 0054           L13:
 0054                   .dbline 105
 0054           L14:
 0054                   .dbline 105
 0054           ; unsigned char PageAddressHigh;
 0054           ; unsigned char PageAddressLow;
 0054           ; 
 0054           ; while(!IsChar());
 0054 C6D0              xcall _IsChar
 0056 0023              tst R16
 0058 E9F3              breq L13
 005A                   .dbline 106
 005A           ; PageAddressHigh = RxChar();
 005A C9D0              xcall _RxChar
 005C 402F              mov R20,R16
 005E           L16:
 005E                   .dbline 108
 005E           L17:
 005E                   .dbline 108
 005E           ; 
 005E           ; while(!IsChar());
 005E C1D0              xcall _IsChar
 0060 0023              tst R16
 0062 E9F3              breq L16
 0064                   .dbline 109
 0064           ; PageAddressLow = RxChar();
 0064 C4D0              xcall _RxChar
 0066 602F              mov R22,R16
 0068                   .dbline 111
 0068           ; 
 0068           ; RealPageAddress = (int)((PageAddressHigh << 8) + PageAddressLow);
 0068 342E              mov R3,R20
 006A 262E              mov R2,R22
 006C 30920100          sts _RealPageAddress+1,R3
 0070 20920000          sts _RealPageAddress,R2
 0074                   .dbline 112
 0074           ; PageAddress = ((unsigned int)PageAddressLow << 8);
 0074 262E              mov R2,R22
 0076 3324              clr R3
 0078 322C              mov R3,R2
 007A 2224              clr R2
 007C 30920300          sts _PageAddress+1,R3
 0080 20920200          sts _PageAddress,R2
 0084                   .dbline 113
 0084           ; if (PageAddressHigh) PageAddress16 = 1;
 0084 4423              tst R20
 0086 21F0              breq L19
 0088                   .dbline 113
 0088 81E0              ldi R24,1
 008A 80930000          sts _PageAddress16,R24
 008E 03C0              xjmp L20
 0090           L19:
 0090                   .dbline 114
 0090 2224              clr R2
 0092 20920000          sts _PageAddress16,R2
 0096           L20:
 0096                   .dbline -2
 0096                   .dbline 115
 0096           ; else PageAddress16 = 0;
 0096           ; }
 0096           L12:
 0096 0E940000          xcall pop_gset2
 009A                   .dbline 0 ; func end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人丝袜18视频在线观看| 丁香天五香天堂综合| 奇米一区二区三区| 国产精品一区二区91| 91丨九色丨尤物| 欧美一区二视频| 国产综合一区二区| 不卡视频在线观看| 欧美男生操女生| 亚洲欧洲精品一区二区三区不卡| 天天做天天摸天天爽国产一区| 国产伦精品一区二区三区视频青涩 | 天天色图综合网| 成人短视频下载| 精品久久久久久无| 婷婷六月综合网| 色婷婷久久综合| 国产人久久人人人人爽| 日本一道高清亚洲日美韩| 91小视频在线观看| 欧美国产精品一区二区| 麻豆成人免费电影| 91精品在线一区二区| 亚洲欧美福利一区二区| 成人短视频下载| 久久亚区不卡日本| 狠狠色综合日日| 69成人精品免费视频| 亚洲国产精品天堂| 欧美专区日韩专区| 亚洲视频 欧洲视频| 国产美女久久久久| 国产亚洲欧美一级| 4438x亚洲最大成人网| 亚洲精品中文在线| 91美女在线观看| 亚洲欧美另类在线| 色爱区综合激月婷婷| 成人免费一区二区三区在线观看| 国产a视频精品免费观看| 国产色一区二区| 成人毛片视频在线观看| 国产精品少妇自拍| 91亚洲精品久久久蜜桃网站| 18成人在线观看| 在线观看视频欧美| 亚洲午夜视频在线观看| 欧美日韩国产美| 免费国产亚洲视频| 久久人人爽爽爽人久久久| 国产高清精品网站| 国产精品白丝在线| 欧美色区777第一页| 午夜伦欧美伦电影理论片| 日韩欧美一区电影| 国产精品99久久不卡二区| 国产精品美女久久久久aⅴ国产馆| 成人激情动漫在线观看| 亚洲图片欧美激情| 欧美日韩dvd在线观看| 免费人成精品欧美精品| 精品动漫一区二区三区在线观看| 国产一区二区三区| 中文字幕综合网| 欧美高清你懂得| 国产精品一区二区果冻传媒| 最新日韩在线视频| 91精品国产综合久久久久久久| 麻豆91免费看| 国产精品久久久久aaaa樱花| 91黄色免费版| 久久99久久99| 中文字幕日韩一区| 欧美一级生活片| 成人app在线观看| 日韩在线播放一区二区| 欧美韩国日本一区| 91精品国产色综合久久ai换脸| 国产成人av电影| 亚洲1区2区3区视频| 国产欧美一区二区精品性色| 色狠狠一区二区三区香蕉| 老司机精品视频导航| 亚洲欧美电影一区二区| 26uuu久久综合| 欧美日韩国产a| av电影在线不卡| 国模一区二区三区白浆| 亚洲18影院在线观看| 亚洲天堂精品视频| 久久久美女毛片| 日韩三级.com| 国产精品水嫩水嫩| 欧美一区二区日韩一区二区| 99视频国产精品| 国产一区二区三区久久久| 秋霞成人午夜伦在线观看| 亚洲人成电影网站色mp4| 久久综合久久鬼色| 日韩一区二区免费电影| 欧美性色黄大片| 99re这里都是精品| 成人免费视频网站在线观看| 九九九久久久精品| 日本视频免费一区| 香蕉久久夜色精品国产使用方法| 18成人在线视频| 中文字幕制服丝袜成人av | 久久久美女艺术照精彩视频福利播放| 欧美色综合久久| 日本精品一区二区三区四区的功能| 国产乱子伦视频一区二区三区 | 欧美sm极限捆绑bd| 欧美一区二区三区小说| 欧美三级视频在线播放| 在线观看三级视频欧美| 日本高清不卡视频| 99v久久综合狠狠综合久久| 成人午夜精品一区二区三区| 国产91精品在线观看| 国产黄色精品视频| 成人午夜电影久久影院| 粉嫩嫩av羞羞动漫久久久| 丰满亚洲少妇av| www.av精品| 91行情网站电视在线观看高清版| 色婷婷av一区二区三区gif| 色偷偷久久人人79超碰人人澡| av电影在线观看一区| 精品久久久久久无| 国产欧美精品一区二区色综合| 久久久青草青青国产亚洲免观| 国产亚洲婷婷免费| 国产精品夫妻自拍| 亚洲香蕉伊在人在线观| 日本成人中文字幕在线视频| 人人超碰91尤物精品国产| 韩国女主播成人在线| 高清不卡在线观看| 欧美亚洲综合色| 日韩女优av电影在线观看| 久久久久国产免费免费| 自拍偷自拍亚洲精品播放| 亚洲成精国产精品女| 精品一区二区三区免费播放| 国产精品一品二品| 在线影视一区二区三区| 欧美一区二区三区免费视频| 久久女同性恋中文字幕| 亚洲激情五月婷婷| 久久精品国产精品青草| 成人h动漫精品一区二区| 欧美色图激情小说| 久久久久久免费网| 亚洲视频综合在线| 麻豆91免费观看| 色综合久久中文字幕综合网| 欧美人妇做爰xxxⅹ性高电影| 欧美va在线播放| 亚洲日本护士毛茸茸| 麻豆一区二区三| 91在线免费看| 精品久久久久久久久久久久久久久久久| 久久久久久亚洲综合| 亚洲国产欧美一区二区三区丁香婷| 久久国产精品72免费观看| 91亚洲永久精品| 精品久久久久久久一区二区蜜臀| 亚洲桃色在线一区| 国产成人在线免费观看| 欧美人体做爰大胆视频| 一区视频在线播放| 精品一区二区成人精品| 欧美在线你懂得| 国产精品热久久久久夜色精品三区 | 91久久精品网| 国产欧美精品一区| 秋霞电影网一区二区| 91首页免费视频| 国产调教视频一区| 美女网站色91| 欧美日韩一区二区三区高清| 国产精品美女久久久久高潮| 精一区二区三区| 欧美二区三区91| 亚洲一区二区五区| 91视频免费观看| 国产精品素人视频| 国产九九视频一区二区三区| 欧美福利视频一区| 亚洲午夜在线视频| 欧美中文字幕不卡| 亚洲日穴在线视频| 99国产精品久久久久久久久久| 精品久久久久久综合日本欧美| 秋霞av亚洲一区二区三| 欧美精三区欧美精三区| 亚洲综合色婷婷| 在线国产电影不卡| 亚洲一区二区视频在线观看|