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

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

?? fat16.lst

?? 實現了avr下對sd卡的讀寫,支持文件存取,刪除的功能
?? LST
?? 第 1 頁 / 共 2 頁
字號:
   1               		.file	"FAT16.c"
   2               		.arch atmega32
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  87               	.global	ReadBlock
  89               	ReadBlock:
   1:FAT16.c       **** //-------------------------------------------------------------------------
   2:FAT16.c       **** #include	<avr/io.h>
   3:FAT16.c       **** #include 	<stdint.h>
   4:FAT16.c       **** 
   5:FAT16.c       **** #include	"FAT16.h"
   6:FAT16.c       **** #include	"mmc.h"
   7:FAT16.c       **** //------------------------------------------------------------------------
   8:FAT16.c       **** #define	SEC_Size				512//every sector's content is 512Byte
   9:FAT16.c       **** #define	MBR_Sector				0				//絕對地址
  10:FAT16.c       **** #define	FAT_Sector				0				//邏輯地址
  11:FAT16.c       **** //-------------------------------------------------------------------------
  12:FAT16.c       **** uint8_t		BUFFER[SEC_Size];
  13:FAT16.c       **** uint8_t		PB_RelativeSector;//絕對地址和邏輯地址的映射,即add+it=lba,mbr里唯一我們關注的東西
  14:FAT16.c       **** uint16_t	BPB_BytesPerSec;
  15:FAT16.c       **** uint8_t		BPB_SecPerClus;
  16:FAT16.c       **** uint16_t	BPB_RsvdSecCnt;
  17:FAT16.c       **** uint8_t		BPB_NumFATs;
  18:FAT16.c       **** uint16_t	BPB_RootEntCnt;
  19:FAT16.c       **** uint16_t	BPB_TotSec16;
  20:FAT16.c       **** uint16_t	BPB_FATSz16;							//FAT占用的sectors
  21:FAT16.c       **** uint32_t	BPB_HiddSec;
  22:FAT16.c       **** 
  23:FAT16.c       **** //-------------------------------------------------------------------------
  24:FAT16.c       **** uint8_t ReadBlock(uint32_t LBA){					//絕對地址讀一個扇區(qū)
  91               	.LM1:
  92               	/* prologue: frame size=0 */
  93 0000 EF92      		push r14
  94 0002 FF92      		push r15
  95 0004 0F93      		push r16
  96 0006 1F93      		push r17
  97               	/* prologue end (size=4) */
  98 0008 7B01      		movw r14,r22
  99 000a 8C01      		movw r16,r24
  25:FAT16.c       **** 	mmcReset();
 101               	.LM2:
 102 000c 0E94 0000 		call mmcReset
  26:FAT16.c       **** 	if(mmcRead(LBA,BUFFER)!=0)return SD_FAIL;
 104               	.LM3:
 105 0010 40E0      		ldi r20,lo8(BUFFER)
 106 0012 50E0      		ldi r21,hi8(BUFFER)
 107 0014 C801      		movw r24,r16
 108 0016 B701      		movw r22,r14
 109 0018 0E94 0000 		call mmcRead
 110 001c 8823      		tst r24
 111 001e 19F0      		breq .L2
 113               	.LM4:
 114 0020 81E0      		ldi r24,lo8(1)
 115 0022 90E0      		ldi r25,hi8(1)
 116 0024 02C0      		rjmp .L1
 117               	.L2:
  27:FAT16.c       **** 	return SD_SUCC;
 119               	.LM5:
 120 0026 80E0      		ldi r24,lo8(0)
 121 0028 90E0      		ldi r25,hi8(0)
 122               	.L1:
 123               	/* epilogue: frame size=0 */
 124 002a 1F91      		pop r17
 125 002c 0F91      		pop r16
 126 002e FF90      		pop r15
 127 0030 EF90      		pop r14
 128 0032 0895      		ret
 129               	/* epilogue end (size=5) */
 130               	/* function ReadBlock size 26 (17) */
 132               	.Lscope0:
 135               	.global	WriteBlock
 137               	WriteBlock:
  28:FAT16.c       **** }
  29:FAT16.c       **** //-------------------------------------------------------------------------
  30:FAT16.c       **** uint8_t WriteBlock(uint32_t LBA){					//絕對地址寫一個扇區(qū)
 139               	.LM6:
 140               	/* prologue: frame size=0 */
 141 0034 EF92      		push r14
 142 0036 FF92      		push r15
 143 0038 0F93      		push r16
 144 003a 1F93      		push r17
 145               	/* prologue end (size=4) */
 146 003c 7B01      		movw r14,r22
 147 003e 8C01      		movw r16,r24
  31:FAT16.c       **** 	mmcReset();
 149               	.LM7:
 150 0040 0E94 0000 		call mmcReset
  32:FAT16.c       **** 	if(mmcWrite(LBA,BUFFER)!=0)return SD_FAIL;
 152               	.LM8:
 153 0044 40E0      		ldi r20,lo8(BUFFER)
 154 0046 50E0      		ldi r21,hi8(BUFFER)
 155 0048 C801      		movw r24,r16
 156 004a B701      		movw r22,r14
 157 004c 0E94 0000 		call mmcWrite
 158 0050 8823      		tst r24
 159 0052 19F0      		breq .L4
 161               	.LM9:
 162 0054 81E0      		ldi r24,lo8(1)
 163 0056 90E0      		ldi r25,hi8(1)
 164 0058 02C0      		rjmp .L3
 165               	.L4:
  33:FAT16.c       **** 	return SD_SUCC;
 167               	.LM10:
 168 005a 80E0      		ldi r24,lo8(0)
 169 005c 90E0      		ldi r25,hi8(0)
 170               	.L3:
 171               	/* epilogue: frame size=0 */
 172 005e 1F91      		pop r17
 173 0060 0F91      		pop r16
 174 0062 FF90      		pop r15
 175 0064 EF90      		pop r14
 176 0066 0895      		ret
 177               	/* epilogue end (size=5) */
 178               	/* function WriteBlock size 26 (17) */
 180               	.Lscope1:
 183               	.global	ReadFatBlock
 185               	ReadFatBlock:
  34:FAT16.c       **** }
  35:FAT16.c       **** //-------------------------------------------------------------------------
  36:FAT16.c       **** uint8_t ReadFatBlock(uint32_t Add){					//邏輯地址讀一個扇區(qū)
 187               	.LM11:
 188               	/* prologue: frame size=0 */
 189               	/* prologue end (size=0) */
 190 0068 DC01      		movw r26,r24
 191 006a CB01      		movw r24,r22
  37:FAT16.c       **** 	return ReadBlock(Add+PB_RelativeSector);
 193               	.LM12:
 194 006c 2091 0000 		lds r18,PB_RelativeSector
 195 0070 820F      		add r24,r18
 196 0072 911D      		adc r25,__zero_reg__
 197 0074 A11D      		adc r26,__zero_reg__
 198 0076 B11D      		adc r27,__zero_reg__
 199 0078 BC01      		movw r22,r24
 200 007a CD01      		movw r24,r26
 201 007c 0E94 0000 		call ReadBlock
  38:FAT16.c       **** }
 203               	.LM13:
 204 0080 9927      		clr r25
 205               	/* epilogue: frame size=0 */
 206 0082 0895      		ret
 207               	/* epilogue end (size=1) */
 208               	/* function ReadFatBlock size 14 (13) */
 210               	.Lscope2:
 213               	.global	WriteFatBlock
 215               	WriteFatBlock:
  39:FAT16.c       **** //-------------------------------------------------------------------------
  40:FAT16.c       **** uint8_t WriteFatBlock(uint32_t Add){				//邏輯地址寫一個扇區(qū)
 217               	.LM14:
 218               	/* prologue: frame size=0 */
 219               	/* prologue end (size=0) */
 220 0084 DC01      		movw r26,r24
 221 0086 CB01      		movw r24,r22
  41:FAT16.c       **** 	return WriteBlock(Add+PB_RelativeSector);
 223               	.LM15:
 224 0088 2091 0000 		lds r18,PB_RelativeSector
 225 008c 820F      		add r24,r18
 226 008e 911D      		adc r25,__zero_reg__
 227 0090 A11D      		adc r26,__zero_reg__
 228 0092 B11D      		adc r27,__zero_reg__
 229 0094 BC01      		movw r22,r24
 230 0096 CD01      		movw r24,r26
 231 0098 0E94 0000 		call WriteBlock
  42:FAT16.c       **** }
 233               	.LM16:
 234 009c 9927      		clr r25
 235               	/* epilogue: frame size=0 */
 236 009e 0895      		ret
 237               	/* epilogue end (size=1) */
 238               	/* function WriteFatBlock size 14 (13) */
 240               	.Lscope3:
 245               	.global	CopyBytes
 247               	CopyBytes:
  43:FAT16.c       **** //-------------------------------------------------------------------------
  44:FAT16.c       **** void CopyBytes(uint8_t *ps,uint8_t *pd,uint16_t size){	//內存拷貝
 249               	.LM17:
 250               	/* prologue: frame size=0 */
 251               	/* prologue end (size=0) */
 252 00a0 DC01      		movw r26,r24
 253 00a2 FB01      		movw r30,r22
 254               	.L14:
  45:FAT16.c       **** 	for(;size;size--)*pd++=*ps++;
 256               	.LM18:
 257 00a4 4115      		cp r20,__zero_reg__
 258 00a6 5105      		cpc r21,__zero_reg__
 259 00a8 29F0      		breq .L13
 260 00aa 8D91      		ld r24,X+
 261 00ac 8193      		st Z+,r24
 262 00ae 4150      		subi r20,lo8(-(-1))
 263 00b0 5040      		sbci r21,hi8(-(-1))
 264 00b2 F8CF      		rjmp .L14
 265               	.L13:
 266 00b4 0895      		ret
 267               	/* epilogue: frame size=0 */
 268               	/* epilogue: noreturn */
 269               	/* epilogue end (size=0) */
 270               	/* function CopyBytes size 11 (11) */
 272               	.Lscope4:
 277               	.global	IsEqual
 279               	IsEqual:
  46:FAT16.c       **** }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产网站一区二区三区| 538在线一区二区精品国产| 久久精品人人做人人综合| 寂寞少妇一区二区三区| 久久久久久亚洲综合| 岛国精品在线播放| 亚洲欧美另类图片小说| 欧美午夜在线一二页| 视频一区视频二区中文| 精品国产成人在线影院| 成人黄色a**站在线观看| 一区二区三区产品免费精品久久75| 色猫猫国产区一区二在线视频| 婷婷久久综合九色国产成人| 2014亚洲片线观看视频免费| 99综合电影在线视频| 亚洲国产精品天堂| 日韩欧美的一区| av一区二区三区在线| 亚洲高清视频在线| 欧美成人午夜电影| 99精品视频在线观看免费| 亚洲丰满少妇videoshd| 久久久精品黄色| 欧洲精品一区二区三区在线观看| 精品一区二区三区香蕉蜜桃| 国产精品女同一区二区三区| 88在线观看91蜜桃国自产| 国产另类ts人妖一区二区| 亚洲天堂免费在线观看视频| 91精品黄色片免费大全| 春色校园综合激情亚洲| 日韩制服丝袜av| 国产精品欧美经典| 日韩精品一区二区在线观看| av日韩在线网站| 国产真实乱偷精品视频免| 亚洲精品大片www| 国产欧美日韩综合精品一区二区| 欧美三级中文字幕在线观看| 国产a久久麻豆| 日韩国产在线一| 亚洲婷婷在线视频| 国产欧美一区二区精品性色超碰| 欧美精品aⅴ在线视频| 99re6这里只有精品视频在线观看| 看电影不卡的网站| 亚洲风情在线资源站| 国产精品久久久久久久裸模| 精品久久久久久亚洲综合网 | 成人av网在线| 激情丁香综合五月| 亚洲成人一区在线| 亚洲欧美另类图片小说| 中文字幕+乱码+中文字幕一区| 欧美一区三区四区| 欧美三级电影网| 99久久久无码国产精品| 成人激情动漫在线观看| 国产乱人伦偷精品视频不卡| 日韩av电影天堂| 亚洲福中文字幕伊人影院| 综合久久久久综合| 国产精品白丝在线| 国产无人区一区二区三区| 日韩免费性生活视频播放| 3atv一区二区三区| 欧美日韩电影在线| 欧美性猛片aaaaaaa做受| 色综合久久中文综合久久97| 97精品久久久久中文字幕| 国产精品456| 国产精品一品二品| 国产一区二区三区av电影 | 欧美一区二区三区免费视频| 欧美日韩国产系列| 欧美性猛交一区二区三区精品| 一本久久精品一区二区| 91免费观看视频| 日本久久一区二区三区| 99re66热这里只有精品3直播| 不卡在线视频中文字幕| 91一区一区三区| 色欧美片视频在线观看| 色欧美乱欧美15图片| 欧美亚洲另类激情小说| 欧美日韩五月天| 欧美一区二区三区免费视频 | 中文字幕一区二区三区蜜月| 最新日韩av在线| 亚洲精品乱码久久久久久黑人 | 亚洲国产精品成人综合 | 一区二区三区国产| 亚洲国产精品一区二区www | 99国产精品99久久久久久| 91丨porny丨蝌蚪视频| 色婷婷综合久久久久中文一区二区 | 亚洲精品成人在线| 午夜精品免费在线观看| 奇米精品一区二区三区四区| 国产在线精品一区二区不卡了| 国产91在线|亚洲| 色综合天天综合狠狠| 欧美日本一区二区| 久久免费午夜影院| 亚洲女同ⅹxx女同tv| 日韩激情在线观看| 国产精华液一区二区三区| 91在线观看下载| 777久久久精品| 欧美国产激情一区二区三区蜜月 | 欧美疯狂做受xxxx富婆| 国产情人综合久久777777| 亚洲人吸女人奶水| 蜜桃视频一区二区三区在线观看| 国产精品一级二级三级| 日本道色综合久久| 国产精品无人区| 日本少妇一区二区| 99精品热视频| 欧美一区二区三区日韩| 国产精品久久久久久久久快鸭| 亚洲国产裸拍裸体视频在线观看乱了| 六月丁香综合在线视频| 97国产精品videossex| 欧美一区二区精品在线| 亚洲免费大片在线观看| 精彩视频一区二区| 欧美午夜一区二区三区| 日本一区二区成人| 日本成人中文字幕在线视频| 91小视频免费观看| 精品国产乱码久久久久久久| 夜夜揉揉日日人人青青一国产精品| 国产一区二区三区免费播放| 91精品久久久久久久久99蜜臂| 成人欧美一区二区三区| 国产精品一区一区三区| 欧美一区二区三区成人| 亚洲精品国产高清久久伦理二区| 国精品**一区二区三区在线蜜桃| 欧美日韩色综合| 一区二区在线观看免费视频播放| 国产精品一区在线观看你懂的| 欧美一区二区三区小说| 亚洲一区二区欧美激情| 一本色道久久综合亚洲aⅴ蜜桃| 国产亚洲美州欧州综合国| 婷婷开心激情综合| 欧美图片一区二区三区| 亚洲精品中文在线观看| 成人午夜免费电影| 久久精品视频一区二区| 久久成人免费网站| 日韩一区二区高清| 日韩二区在线观看| 欧美综合色免费| 亚洲精品久久久久久国产精华液| 成人黄色a**站在线观看| 中文字幕免费不卡在线| 国产成人三级在线观看| 2021国产精品久久精品| 国产主播一区二区三区| 欧美大胆人体bbbb| 美日韩一区二区三区| 日韩欧美专区在线| 麻豆久久久久久久| 亚洲精品一区二区三区影院| 韩国一区二区三区| 精品国产乱子伦一区| 国产综合色精品一区二区三区| 日韩精品自拍偷拍| 国产在线精品不卡| 国产日韩欧美高清| 99在线精品观看| 曰韩精品一区二区| 欧美日韩亚洲丝袜制服| 日韩高清在线电影| 欧美va在线播放| 国产一区在线观看视频| 欧美激情综合五月色丁香小说| 丁香另类激情小说| 中文字幕日韩一区| 在线视频亚洲一区| 日本中文一区二区三区| 欧美一区二区三区爱爱| 另类成人小视频在线| 久久久久国产精品麻豆| 91在线无精精品入口| 亚洲午夜激情网站| 日韩欧美久久久| 东方aⅴ免费观看久久av| 中文字幕一区二区不卡| 欧美亚洲综合另类| 精品影院一区二区久久久| 国产欧美一区二区精品婷婷| 91蜜桃视频在线| 麻豆精品视频在线观看| 中文字幕亚洲在| 欧美日韩一级片在线观看|