亚洲欧美第一页_禁久久精品乱码_粉嫩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){					//絕對地址讀一個扇區
  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){					//絕對地址寫一個扇區
 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){					//邏輯地址讀一個扇區
 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){				//邏輯地址寫一個扇區
 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一区二区三区免费野_久草精品视频
丰满亚洲少妇av| 另类综合日韩欧美亚洲| caoporn国产一区二区| 久久久久高清精品| 成人av在线播放网址| 亚洲欧美日韩精品久久久久| 在线看国产一区| 日日欢夜夜爽一区| 欧美一级视频精品观看| 国产精品资源在线看| 国产欧美1区2区3区| av影院午夜一区| 亚洲成av人片在线观看无码| 欧美一级国产精品| 国产精品原创巨作av| 亚洲三级电影全部在线观看高清| 一本久久a久久精品亚洲| 亚洲va天堂va国产va久| 精品成人一区二区| 99久久免费视频.com| 五月婷婷综合激情| 久久久久99精品国产片| 欧美少妇xxx| 激情综合五月天| 亚洲青青青在线视频| 91精品国产综合久久福利软件| 国产一区 二区| 亚洲制服欧美中文字幕中文字幕| 欧美成人艳星乳罩| 99视频在线精品| 免费观看30秒视频久久| 中文字幕一区二区不卡| 91精品国产麻豆国产自产在线 | 色哟哟亚洲精品| 日韩二区三区四区| 亚洲欧洲av另类| 日韩精品一区二区三区中文不卡 | 喷水一区二区三区| 国产精品入口麻豆原神| 日韩欧美你懂的| 色成人在线视频| 国产黄色91视频| 日本大胆欧美人术艺术动态| 国产精品素人视频| 欧美一区二区大片| 色综合久久天天综合网| 国产精品综合av一区二区国产馆| 五月天亚洲精品| 一区二区三区在线视频免费观看| 欧美一区二区三区四区五区| 色吊一区二区三区| jlzzjlzz亚洲女人18| 国产激情一区二区三区四区| 日本不卡在线视频| 午夜国产不卡在线观看视频| 亚洲欧美在线视频观看| 中文字幕欧美激情| 久久精品综合网| 精品福利二区三区| 欧美电影精品一区二区| 欧美一区二区三区视频在线| 欧美日本一道本在线视频| 91色综合久久久久婷婷| voyeur盗摄精品| 国产成人超碰人人澡人人澡| 久久精品国产77777蜜臀| 日韩黄色片在线观看| 亚洲国产欧美在线人成| 亚洲精品五月天| 亚洲欧美韩国综合色| 国产精品麻豆久久久| 中文字幕五月欧美| 国产精品天美传媒| 一区在线观看免费| 中文字幕综合网| 一区二区免费视频| 亚洲一区在线观看网站| 亚洲国产视频a| 日韩精品一级中文字幕精品视频免费观看 | 国产精品欧美久久久久无广告| 26uuu精品一区二区在线观看| 日韩欧美色综合网站| 精品国产一区二区三区不卡| 精品盗摄一区二区三区| 久久久91精品国产一区二区三区| 26uuuu精品一区二区| 欧美极品xxx| 亚洲三级在线观看| 午夜精品久久一牛影视| 美国三级日本三级久久99| 国模套图日韩精品一区二区| 国产剧情在线观看一区二区| 成人激情av网| 在线精品国精品国产尤物884a| 欧美精品乱人伦久久久久久| 日韩欧美在线综合网| 2021中文字幕一区亚洲| 国产精品麻豆视频| 亚洲一二三区视频在线观看| 青青草精品视频| 成人一区在线观看| 在线看国产日韩| 欧美成人免费网站| 最好看的中文字幕久久| 日韩精品欧美成人高清一区二区| 久草精品在线观看| 91亚洲国产成人精品一区二区三 | 日本女人一区二区三区| 国产毛片精品视频| 色噜噜狠狠成人网p站| 91精品国产美女浴室洗澡无遮挡| 国产亚洲精品7777| 一区二区成人在线| 国内精品不卡在线| 欧美在线一区二区三区| 精品久久久久久最新网址| 亚洲视频每日更新| 麻豆成人综合网| 一本大道久久a久久综合婷婷| 欧美三级午夜理伦三级中视频| 欧美mv日韩mv国产网站| 亚洲欧美日韩在线播放| 激情亚洲综合在线| 欧美曰成人黄网| 国产亚洲欧美一级| 日韩综合一区二区| 91视频在线看| 久久久www免费人成精品| 亚洲国产欧美在线| 成人av片在线观看| 欧美一区二区在线不卡| 亚洲美女电影在线| 国产69精品一区二区亚洲孕妇| 欧美日韩国产影片| 亚洲少妇最新在线视频| 国产伦理精品不卡| 91精品国产91热久久久做人人| 亚洲欧洲精品一区二区三区| 国产呦精品一区二区三区网站| 欧美日韩三级一区| 亚洲欧美一区二区不卡| 懂色av一区二区三区免费观看| 欧美一区二区免费视频| 亚洲一二三四久久| 91免费看片在线观看| 欧美国产在线观看| 国产一区不卡视频| 26uuu成人网一区二区三区| 视频一区二区三区在线| 91精品福利视频| 亚洲三级电影网站| 99国产精品久久久久久久久久久| 久久久精品黄色| 国产美女主播视频一区| 欧美精品一区二区三区蜜桃| 日本aⅴ免费视频一区二区三区| 欧美撒尿777hd撒尿| 一区二区三区中文在线| 91福利精品第一导航| 亚洲卡通动漫在线| 欧美中文一区二区三区| 亚洲夂夂婷婷色拍ww47| 欧美色综合天天久久综合精品| 亚洲理论在线观看| 欧美色综合影院| 日韩综合小视频| 日韩一区二区三区电影| 人人狠狠综合久久亚洲| 日韩精品在线网站| 国产综合成人久久大片91| 久久色中文字幕| 国产一区二区不卡老阿姨| 久久久99精品久久| eeuss鲁片一区二区三区在线观看| 国产精品国产三级国产三级人妇| av在线不卡免费看| 亚洲综合激情网| 5月丁香婷婷综合| 久久99久久99精品免视看婷婷| 精品福利视频一区二区三区| 国产精一品亚洲二区在线视频| 中文字幕精品三区| 91视频在线看| 日本欧美一区二区三区乱码| 日韩精品中文字幕在线一区| 国产69精品久久99不卡| 亚洲三级免费观看| 欧美精品一卡二卡| 狠狠久久亚洲欧美| 国产精品乱人伦一区二区| 一本大道久久a久久综合| 日本中文字幕不卡| 久久久亚洲精品一区二区三区| 成人免费高清在线| 亚洲大片精品永久免费| 久久久亚洲精品一区二区三区| www.日本不卡| 午夜精品福利一区二区三区蜜桃| 欧美一级片在线观看| 成人免费毛片片v|