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

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

?? bootloader.lst

?? Atmega系列單片機 BootLoader程序
?? LST
?? 第 1 頁 / 共 2 頁
字號:
    1CDD 1760      CP	R22,R16
    1CDE F411      BNE	0x1CE1
(0138) 	  return 1;
    1CDF E001      LDI	R16,1
    1CE0 C001      RJMP	0x1CE2
(0139)     else 
(0140) 	  return 0;
    1CE1 2700      CLR	R16
    1CE2 940E1DB3  CALL	pop_gset3
    1CE4 9508      RET
_WriteFlash:
  TempInt              --> R20
  i                    --> R22
    1CE5 940E1DBC  CALL	push_gset2
(0141)   }
(0142) 
(0143) /*****************************************************************************/
(0144) void WriteFlash(void)
(0145)   {
(0146)     unsigned int i;
(0147)     unsigned int TempInt;
(0148)     for (i=0;i<PageByte;i+=2)
    1CE7 2766      CLR	R22
    1CE8 2777      CLR	R23
    1CE9 C017      RJMP	0x1D01
(0149)       {
(0150)    	   TempInt=PageBuffer[i]+(PageBuffer[i+1]<<8);
    1CEA E684      LDI	R24,0x64
    1CEB E090      LDI	R25,0
    1CEC 01FB      MOVW	R30,R22
    1CED 9631      ADIW	R30,1
    1CEE 0FE8      ADD	R30,R24
    1CEF 1FF9      ADC	R31,R25
    1CF0 8020      LDD	R2,Z+0
    1CF1 2433      CLR	R3
    1CF2 2C32      MOV	R3,R2
    1CF3 2422      CLR	R2
    1CF4 01FB      MOVW	R30,R22
    1CF5 0FE8      ADD	R30,R24
    1CF6 1FF9      ADC	R31,R25
    1CF7 8140      LDD	R20,Z+0
    1CF8 2755      CLR	R21
    1CF9 0D42      ADD	R20,R2
    1CFA 1D53      ADC	R21,R3
(0151)    	   fill_temp_buffer(TempInt,i);    //call asm routine.
    1CFB 019B      MOVW	R18,R22
    1CFC 018A      MOVW	R16,R20
    1CFD 940E1C54  CALL	_fill_temp_buffer
    1CFF 5F6E      SUBI	R22,0xFE
    1D00 4F7F      SBCI	R23,0xFF
    1D01 3860      CPI	R22,0x80
    1D02 E0E0      LDI	R30,0
    1D03 077E      CPC	R23,R30
    1D04 F328      BCS	0x1CEA
(0152)       } 
(0153)     write_page(PageAddress,0x03);       //擦除頁
    1D05 E023      LDI	R18,3
    1D06 91000060  LDS	R16,PageAddress
    1D08 91100061  LDS	R17,PageAddress+1
    1D0A 940E1C4E  CALL	_write_page
(0154)     write_page(PageAddress,0x05);       //寫頁數據
    1D0C E025      LDI	R18,5
    1D0D 91000060  LDS	R16,PageAddress
    1D0F 91100061  LDS	R17,PageAddress+1
    1D11 940E1C4E  CALL	_write_page
(0155)    
(0156)     enableRWW();
    1D13 940E1C68  CALL	_enableRWW
    1D15 940E1DB0  CALL	pop_gset2
    1D17 9508      RET
_CheckFlash:
  TempInt2             --> R20
  TempInt              --> R22
  i                    --> R10
    1D18 940E1DBA  CALL	push_gset3
(0157)   }
(0158) 
(0159) /*****************************************************************************/
(0160) 
(0161) char CheckFlash(void)
(0162)   {
(0163)     unsigned char i;							
(0164)     unsigned int TempInt;
(0165)     unsigned int TempInt2;
(0166) 
(0167)     for (i=0;i<PageByte;i+=2)
    1D1A 24AA      CLR	R10
    1D1B C028      RJMP	0x1D44
(0168)       {
(0169) 	   TempInt = read_program_memory(PageAddress + i,0x00);
    1D1C 2722      CLR	R18
    1D1D 2C2A      MOV	R2,R10
    1D1E 2433      CLR	R3
    1D1F 91000060  LDS	R16,PageAddress
    1D21 91100061  LDS	R17,PageAddress+1
    1D23 0D02      ADD	R16,R2
    1D24 1D13      ADC	R17,R3
    1D25 940E1C61  CALL	_read_program_memory
    1D27 01B8      MOVW	R22,R16
(0170) 	   TempInt2 = PageBuffer[i] +(PageBuffer[i+1]<<8);
    1D28 E685      LDI	R24,0x65
    1D29 E090      LDI	R25,0
    1D2A 2DEA      MOV	R30,R10
    1D2B 27FF      CLR	R31
    1D2C 0FE8      ADD	R30,R24
    1D2D 1FF9      ADC	R31,R25
    1D2E 8020      LDD	R2,Z+0
    1D2F 2433      CLR	R3
    1D30 2C32      MOV	R3,R2
    1D31 2422      CLR	R2
    1D32 E684      LDI	R24,0x64
    1D33 E090      LDI	R25,0
    1D34 2DEA      MOV	R30,R10
    1D35 27FF      CLR	R31
    1D36 0FE8      ADD	R30,R24
    1D37 1FF9      ADC	R31,R25
    1D38 8140      LDD	R20,Z+0
    1D39 2755      CLR	R21
    1D3A 0D42      ADD	R20,R2
    1D3B 1D53      ADC	R21,R3
(0171) 	   if (TempInt != TempInt2)
    1D3C 1704      CP	R16,R20
    1D3D 0715      CPC	R17,R21
    1D3E F011      BEQ	0x1D41
(0172) 	     return 0;
    1D3F 2700      CLR	R16
    1D40 C007      RJMP	0x1D48
    1D41 2D8A      MOV	R24,R10
    1D42 5F8E      SUBI	R24,0xFE
    1D43 2EA8      MOV	R10,R24
    1D44 2D8A      MOV	R24,R10
    1D45 3880      CPI	R24,0x80
    1D46 F2A8      BCS	0x1D1C
(0173)       } 
(0174)     return 1;
    1D47 E001      LDI	R16,1
    1D48 940E1DB3  CALL	pop_gset3
    1D4A 9508      RET
(0175)   }
(0176) /*****************************************************************************/
(0177) /* Serial Port Code										                     */
(0178) /*****************************************************************************/
(0179) unsigned char IsChar(void)
(0180) {
(0181)    if(UCSRA & 0x80)
_IsChar:
    1D4B 9B5F      SBIS	0x0B,7
    1D4C C002      RJMP	0x1D4F
(0182)      return 1;
    1D4D E001      LDI	R16,1
    1D4E C001      RJMP	0x1D50
(0183)    else 
(0184)      return 0;	 
    1D4F 2700      CLR	R16
    1D50 9508      RET
(0185) }
(0186) /*****************************************************************************/
(0187) /*  		字符輸入函數 		 */	
(0188) unsigned char RecChar(void)
(0189)   {
(0190)     while(!(UCSRA & 0x80));
_RecChar:
    1D51 9B5F      SBIS	0x0B,7
    1D52 CFFE      RJMP	_RecChar
(0191)     return UDR;
    1D53 B10C      IN	R16,0x0C
    1D54 9508      RET
(0192)   }		
(0193) /*****************************************************************************/
(0194) void SendChar(unsigned char c)
(0195)   { 	 
(0196)     while (!(UCSRA&(1<<UDRE)));
_SendChar:
  c                    --> R16
    1D55 9B5D      SBIS	0x0B,5
    1D56 CFFE      RJMP	_SendChar
(0197)     UDR=c;
    1D57 B90C      OUT	0x0C,R16
    1D58 9508      RET
(0198)   }
(0199) void delay(void)  
(0200)   {
(0201)     unsigned int i;
(0202)     for (i=0;i<65530;i++);
_delay:
  i                    --> R16
    1D59 2700      CLR	R16
    1D5A 2711      CLR	R17
    1D5B C002      RJMP	0x1D5E
    1D5C 5F0F      SUBI	R16,0xFF
    1D5D 4F1F      SBCI	R17,0xFF
    1D5E 3F0A      CPI	R16,0xFA
    1D5F EFEF      LDI	R30,0xFF
    1D60 071E      CPC	R17,R30
    1D61 F3D0      BCS	0x1D5C
    1D62 9508      RET
(0203)   }
(0204) 
(0205) /*****************************************************************************/
(0206) void ExecCode(void)
(0207)   {
(0208) #ifdef RAMPZ_FLAG 
(0209)     RAMPZ = 0;
(0210) #endif
(0211)     INTVECREG=0x01;           //中斷向量表移位允許
_ExecCode:
    1D63 E081      LDI	R24,1
    1D64 BF8B      OUT	0x3B,R24
(0212)     INTVECREG=0x00;           //中斷向量指向應用程序區
    1D65 2422      CLR	R2
    1D66 BE2B      OUT	0x3B,R2
(0213)     asm("jmp 0x0000");              
    1D67 940C0000  JMP	0x0
    1D69 9508      RET
(0214)   }
(0215) 		
(0216) void main(void)
(0217)   {
(0218)     unsigned char BootFlag;
(0219)     
(0220) #ifdef InteClk                //如果使用內部時鐘,讀取時鐘校準值
(0221)        OSCCAL=read_flash(OscAddress);
_main:
  BootFlag             --> R20
    1D6A EF0F      LDI	R16,0xFF
    1D6B E11F      LDI	R17,0x1F
    1D6C 940E1C5C  CALL	_read_flash
    1D6E BF01      OUT	0x31,R16
(0222) #endif
(0223)  
(0224)     UCSRC=(1<<URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位數據+1位停止
    1D6F E886      LDI	R24,0x86
    1D70 BD80      OUT	0x20,R24
(0225)     UCSRB = (1<<RXEN)|(1<<TXEN);       //允許串口發送和接收
    1D71 E188      LDI	R24,0x18
    1D72 B98A      OUT	0x0A,R24
(0226)     UBRR = BAU;
    1D73 E187      LDI	R24,0x17
    1D74 B989      OUT	0x09,R24
(0227) 
(0228)  
(0229)     SendChar('>');              //通知PC機,BOOT下載準備就緒
    1D75 E30E      LDI	R16,0x3E
    1D76 DFDE      RCALL	_SendChar
(0230)     delay();                    //延時等待PC機響應
    1D77 DFE1      RCALL	_delay
(0231) 	delay();
    1D78 DFE0      RCALL	_delay
(0232) 	delay();
    1D79 DFDF      RCALL	_delay
(0233) 	delay();
    1D7A DFDE      RCALL	_delay
(0234) 	delay();
    1D7B DFDD      RCALL	_delay
(0235) 	delay();
    1D7C DFDC      RCALL	_delay
(0236) 	delay();
    1D7D DFDB      RCALL	_delay
(0237) 	delay();
    1D7E DFDA      RCALL	_delay
(0238) 	
(0239)     BootFlag=UDR;             
    1D7F B14C      IN	R20,0x0C
(0240)     if (BootFlag == '<') 
    1D80 334C      CPI	R20,0x3C
    1D81 F531      BNE	0x1DA8
(0241)       {
(0242) 	   SendChar(ChipType);
    1D82 E301      LDI	R16,0x31
    1D83 DFD1      RCALL	_SendChar
(0243) 	   while (RecChar()!='N');
    1D84 DFCC      RCALL	_RecChar
    1D85 340E      CPI	R16,0x4E
    1D86 F7E9      BNE	0x1D84
(0244)          SendChar(BootSize);
    1D87 E604      LDI	R16,0x64
    1D88 DFCC      RCALL	_SendChar
(0245) 	   while (RecChar()!='N');	 
    1D89 DFC7      RCALL	_RecChar
    1D8A 340E      CPI	R16,0x4E
    1D8B F7E9      BNE	0x1D89
(0246)          SendChar(BootVer);
    1D8C E606      LDI	R16,0x66
    1D8D DFC7      RCALL	_SendChar
    1D8E C018      RJMP	0x1DA7
(0247)        while (1)
(0248) 	   {
(0249) 	     switch (RecChar())
    1D8F DFC1      RCALL	_RecChar
    1D90 2F40      MOV	R20,R16
    1D91 2755      CLR	R21
    1D92 3445      CPI	R20,0x45
    1D93 E0E0      LDI	R30,0
    1D94 075E      CPC	R21,R30
    1D95 F059      BEQ	0x1DA1
    1D96 3445      CPI	R20,0x45
    1D97 E0E0      LDI	R30,0
    1D98 075E      CPC	R21,R30
    1D99 F06C      BLT	0x1DA7
    1D9A 3547      CPI	R20,0x57
    1D9B E0E0      LDI	R30,0
    1D9C 075E      CPC	R21,R30
    1D9D F009      BEQ	0x1D9F
    1D9E C008      RJMP	0x1DA7
(0250) 	       {
(0251) 	         case 'W': FlashLoad(); break;
    1D9F DED3      RCALL	_FlashLoad
    1DA0 C006      RJMP	0x1DA7
(0252) 	         case 'E': { 
(0253) 	         	     SendChar('E');  //通知PC機,進入運用程序區
    1DA1 E405      LDI	R16,0x45
    1DA2 DFB2      RCALL	_SendChar
(0254) 					 while (RecChar()!='N');
    1DA3 DFAD      RCALL	_RecChar
    1DA4 340E      CPI	R16,0x4E
    1DA5 F7E9      BNE	0x1DA3
(0255) 	         	     ExecCode();  
    1DA6 DFBC      RCALL	_ExecCode
    1DA7 CFE7      RJMP	0x1D8F
(0256) 	         	   } break;
(0257) 	         default : break;
(0258) 	       }
(0259) 	   }
(0260)       }
(0261)     SendChar('E');  //通知PC機,進入運用程序區
    1DA8 E405      LDI	R16,0x45
    1DA9 DFAB      RCALL	_SendChar
(0262) 	//while (RecChar()!='N');
(0263)     delay();
    1DAA DFAE      RCALL	_delay
(0264) 	delay();
    1DAB DFAD      RCALL	_delay
(0265) 	delay();
    1DAC DFAC      RCALL	_delay
(0266) 	delay();
    1DAD DFAB      RCALL	_delay
(0267)     ExecCode();
FILE: <library>
    1DAE DFB4      RCALL	_ExecCode
    1DAF 9508      RET
pop_gset2:
    1DB0 E0E2      LDI	R30,2
    1DB1 940C1DC2  JMP	pop
pop_gset3:
    1DB3 E0E4      LDI	R30,4
    1DB4 940C1DC2  JMP	pop
push_gset5:
    1DB6 92FA      ST	R15,-Y
    1DB7 92EA      ST	R14,-Y
push_gset4:
    1DB8 92DA      ST	R13,-Y
    1DB9 92CA      ST	R12,-Y
push_gset3:
    1DBA 92BA      ST	R11,-Y
    1DBB 92AA      ST	R10,-Y
push_gset2:
    1DBC 937A      ST	R23,-Y
    1DBD 936A      ST	R22,-Y
push_gset1:
    1DBE 935A      ST	R21,-Y
    1DBF 934A      ST	R20,-Y
    1DC0 9508      RET
pop_gset1:
    1DC1 E0E1      LDI	R30,1
pop:
    1DC2 9149      LD	R20,Y+
    1DC3 9159      LD	R21,Y+
    1DC4 FDE0      SBRC	R30,0
    1DC5 9508      RET
    1DC6 9169      LD	R22,Y+
    1DC7 9179      LD	R23,Y+
    1DC8 FDE1      SBRC	R30,1
    1DC9 9508      RET
    1DCA 90A9      LD	R10,Y+
    1DCB 90B9      LD	R11,Y+
    1DCC FDE2      SBRC	R30,2
    1DCD 9508      RET
    1DCE 90C9      LD	R12,Y+
    1DCF 90D9      LD	R13,Y+
    1DD0 FDE3      SBRC	R30,3
    1DD1 9508      RET
    1DD2 90E9      LD	R14,Y+
    1DD3 90F9      LD	R15,Y+
    1DD4 9508      RET
lsl16:
    1DD5 2322      TST	R18
    1DD6 F021      BEQ	0x1DDB
    1DD7 0F00      LSL	R16
    1DD8 1F11      ROL	R17
    1DD9 952A      DEC	R18
    1DDA CFFA      RJMP	lsl16
    1DDB 9508      RET

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美经典一区二区| 亚洲色图一区二区| 色综合天天综合给合国产| 亚洲国产sm捆绑调教视频| 久久精品网站免费观看| 91国产视频在线观看| 精品一区二区在线观看| 亚洲狠狠丁香婷婷综合久久久| 日韩免费电影网站| 欧美在线不卡视频| 成人av网站在线观看| 久久国产人妖系列| 亚洲成人综合视频| 国产日韩精品久久久| 日韩欧美在线1卡| 欧日韩精品视频| 成人免费的视频| 裸体一区二区三区| 亚洲尤物在线视频观看| 中文字幕一区二区在线播放| 337p日本欧洲亚洲大胆精品| 69p69国产精品| 色综合久久久久综合体桃花网| 国产在线国偷精品免费看| 日韩成人一区二区| 亚洲成人精品一区| 亚洲欧美日韩国产综合| 国产精品高清亚洲| 国产欧美日韩久久| 欧美精品一区二区三区高清aⅴ| 欧美日韩高清一区二区三区| 91精品办公室少妇高潮对白| 成人av在线播放网址| 国产在线精品视频| 美女看a上一区| 日本美女视频一区二区| 亚洲成人在线观看视频| 中文字幕亚洲视频| 中文字幕制服丝袜成人av| 久久精品一区二区三区不卡牛牛| 日韩亚洲电影在线| 欧美哺乳videos| 日韩精品专区在线影院观看| 欧美大胆一级视频| 精品少妇一区二区三区视频免付费| 欧美一区二区在线免费观看| 欧美一区午夜视频在线观看 | 一区二区三区蜜桃网| 中文字幕在线观看一区| 亚洲婷婷综合色高清在线| 亚洲欧美日韩国产另类专区| 亚洲激情图片qvod| 亚洲综合偷拍欧美一区色| 午夜影视日本亚洲欧洲精品| 蜜臀99久久精品久久久久久软件| 久久99最新地址| 国产精品一区在线观看乱码| 国产91丝袜在线播放九色| 99久久99久久精品免费看蜜桃| 91小视频在线免费看| 欧美色成人综合| 在线不卡欧美精品一区二区三区| 欧美精品一二三四| 精品欧美一区二区久久| 国产婷婷一区二区| 亚洲人成网站精品片在线观看| 一个色综合av| 日本亚洲一区二区| 国产不卡视频一区二区三区| 91无套直看片红桃| 91精品国产综合久久久久久| 久久无码av三级| 国产精品萝li| 亚洲成人av电影在线| 久久国产尿小便嘘嘘| 99在线视频精品| 欧美日韩高清影院| 久久久99精品免费观看| 亚洲欧美日韩在线| 美女在线视频一区| 成人午夜视频福利| 欧美日韩mp4| 日本一区二区三区在线观看| 亚洲电影第三页| 国产一区二区三区免费在线观看| 一本色道久久综合狠狠躁的推荐| 欧美一区二区三区在| 国产精品久久综合| 奇米精品一区二区三区在线观看一 | 国产传媒一区在线| 在线观看日韩电影| 久久午夜电影网| 午夜免费欧美电影| 成人综合在线视频| 欧美一区二区在线视频| 亚洲男人天堂av| 国产一区二区三区电影在线观看 | 成人一道本在线| 欧美一区二区三区色| 亚洲美女免费在线| 国内偷窥港台综合视频在线播放| 在线免费亚洲电影| 国产精品婷婷午夜在线观看| 美女精品一区二区| 欧美性猛交xxxx乱大交退制版| 欧美国产精品专区| 久久不见久久见免费视频1| 色成人在线视频| 国产精品天天看| 国产九九视频一区二区三区| 欧美一区二区三区视频在线观看| 一区二区在线观看视频| 国产成人av在线影院| 日韩欧美卡一卡二| 亚洲aⅴ怡春院| 色香蕉成人二区免费| 国产欧美精品在线观看| 久久精工是国产品牌吗| 69久久99精品久久久久婷婷 | 国产精品综合久久| 制服丝袜成人动漫| 亚洲国产精品久久久久秋霞影院 | 亚洲最大成人综合| 一本大道久久a久久综合| 国产精品视频一区二区三区不卡| 蜜臂av日日欢夜夜爽一区| 91.xcao| 午夜精品久久久久久久久久 | 首页国产欧美久久| 在线亚洲+欧美+日本专区| 亚洲欧洲日韩av| av中文字幕亚洲| 国产精品二区一区二区aⅴ污介绍| 国产一区二区精品久久91| 精品动漫一区二区三区在线观看| 美女任你摸久久| 精品国产乱码久久| 国产综合色精品一区二区三区| 精品国产99国产精品| 国产乱国产乱300精品| 精品国产乱码久久| 国产成人免费视频一区| 国产三级精品三级在线专区| 粉嫩av一区二区三区| 国产精品网曝门| 91丨九色丨国产丨porny| 亚洲女与黑人做爰| 日本伦理一区二区| 午夜一区二区三区视频| 欧美一级欧美一级在线播放| 蜜臀精品一区二区三区在线观看| 精品伦理精品一区| 国产成人av一区二区| 国产精品视频第一区| 日本国产一区二区| 亚洲福利视频导航| 日韩欧美不卡在线观看视频| 国产一区二区影院| 国产精品天干天干在观线| 色综合久久久久久久久久久| 亚洲国产三级在线| 欧美大尺度电影在线| 成人丝袜18视频在线观看| 国产精品久久久久桃色tv| 欧美吻胸吃奶大尺度电影 | 中文字幕av一区二区三区 | 欧美mv和日韩mv的网站| 福利91精品一区二区三区| 亚洲人成网站在线| 91麻豆精品国产91久久久久久| 韩国三级电影一区二区| 一区在线观看视频| 欧美日韩高清一区| 国产激情视频一区二区三区欧美| 亚洲女人的天堂| 日韩三级av在线播放| 99精品热视频| 奇米一区二区三区| 中文字幕一区二区三区四区| 91精品国产欧美一区二区18| 国产成人午夜精品影院观看视频| 一级女性全黄久久生活片免费| 精品蜜桃在线看| 91蜜桃视频在线| 九一九一国产精品| 亚洲男女一区二区三区| 日韩精品中文字幕一区二区三区| www.99精品| 久久www免费人成看片高清| 1区2区3区精品视频| 日韩一区二区三免费高清| 99国产精品视频免费观看| 久久国产生活片100| 一区二区三区毛片| 久久久亚洲欧洲日产国码αv| 欧美日韩视频在线一区二区| 国产成人自拍网| 蜜桃传媒麻豆第一区在线观看| 亚洲乱码日产精品bd| 久久久国产综合精品女国产盗摄|