⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fat.lst

📁 240*320 TFT屏用M16读取SD卡内BMP格式图片.和汉字显示程序(字库也是存在SD卡里
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"fat.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	FAT_LoadPartCluster
  20               	FAT_LoadPartCluster:
  21               	.LFB16:
  22               	.LM1:
  23               	.LVL0:
  24 0000 CF92      		push r12
  25 0002 DF92      		push r13
  26 0004 EF92      		push r14
  27 0006 FF92      		push r15
  28 0008 0F93      		push r16
  29 000a 1F93      		push r17
  30               	/* prologue: function */
  31               	/* frame size = 0 */
  32 000c 7A01      		movw r14,r20
  33 000e 6901      		movw r12,r18
  34               	.LM2:
  35 0010 6250      		subi r22,lo8(-(-2))
  36 0012 7040      		sbci r23,hi8(-(-2))
  37 0014 8040      		sbci r24,hlo8(-(-2))
  38 0016 9040      		sbci r25,hhi8(-(-2))
  39               	.LVL1:
  40 0018 2091 0000 		lds r18,SectorsPerClust
  41 001c 3091 0000 		lds r19,(SectorsPerClust)+1
  42               	.LVL2:
  43 0020 40E0      		ldi r20,lo8(0)
  44 0022 50E0      		ldi r21,hi8(0)
  45               	.LVL3:
  46 0024 0E94 0000 		call __mulsi3
  47               	.LVL4:
  48 0028 00E0      		ldi r16,lo8(0)
  49 002a 10E0      		ldi r17,hi8(0)
  50               	.LVL5:
  51 002c E60E      		add r14,r22
  52 002e F71E      		adc r15,r23
  53 0030 081F      		adc r16,r24
  54 0032 191F      		adc r17,r25
  55               	.LVL6:
  56 0034 6091 0000 		lds r22,FirstDataSector
  57 0038 7091 0000 		lds r23,(FirstDataSector)+1
  58 003c 8091 0000 		lds r24,(FirstDataSector)+2
  59 0040 9091 0000 		lds r25,(FirstDataSector)+3
  60 0044 6E0D      		add r22,r14
  61 0046 7F1D      		adc r23,r15
  62 0048 801F      		adc r24,r16
  63 004a 911F      		adc r25,r17
  64 004c E091 0000 		lds r30,FAT_ReadSector
  65 0050 F091 0000 		lds r31,(FAT_ReadSector)+1
  66 0054 A601      		movw r20,r12
  67 0056 0995      		icall
  68 0058 8111      		cpse r24,__zero_reg__
  69 005a 81E0      		ldi r24,lo8(1)
  70               	.L2:
  71               	/* epilogue start */
  72               	.LM3:
  73 005c 1F91      		pop r17
  74 005e 0F91      		pop r16
  75               	.LVL7:
  76 0060 FF90      		pop r15
  77 0062 EF90      		pop r14
  78               	.LVL8:
  79 0064 DF90      		pop r13
  80 0066 CF90      		pop r12
  81               	.LVL9:
  82 0068 0895      		ret
  83               	.LFE16:
  85               	.global	FAT_NextCluster
  87               	FAT_NextCluster:
  88               	.LFB17:
  89               	.LM4:
  90               	.LVL10:
  91 006a 8F92      		push r8
  92 006c 9F92      		push r9
  93 006e AF92      		push r10
  94 0070 BF92      		push r11
  95 0072 CF92      		push r12
  96 0074 DF92      		push r13
  97 0076 EF92      		push r14
  98 0078 FF92      		push r15
  99 007a 0F93      		push r16
 100 007c 1F93      		push r17
 101 007e DF93      		push r29
 102 0080 CF93      		push r28
 103 0082 CDB7      		in r28,__SP_L__
 104 0084 DEB7      		in r29,__SP_H__
 105 0086 C050      		subi r28,lo8(-(-512))
 106 0088 D240      		sbci r29,hi8(-(-512))
 107 008a 0FB6      		in __tmp_reg__,__SREG__
 108 008c F894      		cli
 109 008e DEBF      		out __SP_H__,r29
 110 0090 0FBE      		out __SREG__,__tmp_reg__
 111 0092 CDBF      		out __SP_L__,r28
 112               	/* prologue: function */
 113               	/* frame size = 512 */
 114 0094 7B01      		movw r14,r22
 115 0096 8C01      		movw r16,r24
 116               	.LM5:
 117 0098 8091 0000 		lds r24,FAT32_Enable
 118 009c 8823      		tst r24
 119 009e 01F0      		breq .L5
 120               	.LVL11:
 121 00a0 5701      		movw r10,r14
 122 00a2 6801      		movw r12,r16
 123               	.LVL12:
 124 00a4 57E0      		ldi r21,7
 125 00a6 D694      	1:	lsr r13
 126 00a8 C794      		ror r12
 127 00aa B794      		ror r11
 128 00ac A794      		ror r10
 129 00ae 5A95      		dec r21
 130 00b0 01F4      		brne 1b
 131 00b2 00C0      		rjmp .L6
 132               	.LVL13:
 133               	.L5:
 134               	.LM6:
 135 00b4 AF2C      		mov r10,r15
 136 00b6 B02E      		mov r11,r16
 137 00b8 C12E      		mov r12,r17
 138 00ba DD24      		clr r13
 139               	.LVL14:
 140               	.L6:
 141               	.LM7:
 142 00bc 82E0      		ldi r24,lo8(2)
 143 00be E816      		cp r14,r24
 144 00c0 F104      		cpc r15,__zero_reg__
 145 00c2 0105      		cpc r16,__zero_reg__
 146 00c4 1105      		cpc r17,__zero_reg__
 147 00c6 00F4      		brsh .+2
 148 00c8 00C0      		rjmp .L7
 149               	.LM8:
 150 00ca 8091 0000 		lds r24,FirstFATSector
 151 00ce 9091 0000 		lds r25,(FirstFATSector)+1
 152 00d2 A091 0000 		lds r26,(FirstFATSector)+2
 153 00d6 B091 0000 		lds r27,(FirstFATSector)+3
 154 00da A80E      		add r10,r24
 155 00dc B91E      		adc r11,r25
 156 00de CA1E      		adc r12,r26
 157 00e0 DB1E      		adc r13,r27
 158 00e2 E091 0000 		lds r30,FAT_ReadSector
 159 00e6 F091 0000 		lds r31,(FAT_ReadSector)+1
 160 00ea 4E01      		movw r8,r28
 161 00ec 0894      		sec
 162 00ee 811C      		adc r8,__zero_reg__
 163 00f0 911C      		adc r9,__zero_reg__
 164 00f2 A401      		movw r20,r8
 165 00f4 C601      		movw r24,r12
 166 00f6 B501      		movw r22,r10
 167 00f8 0995      		icall
 168 00fa 8823      		tst r24
 169 00fc 01F4      		brne .L7
 170               	.LM9:
 171 00fe 8091 0000 		lds r24,FAT32_Enable
 172 0102 8823      		tst r24
 173 0104 01F0      		breq .L8
 174               	.LM10:
 175 0106 8FE7      		ldi r24,lo8(127)
 176 0108 90E0      		ldi r25,hi8(127)
 177 010a A0E0      		ldi r26,hlo8(127)
 178 010c B0E0      		ldi r27,hhi8(127)
 179 010e E822      		and r14,r24
 180 0110 F922      		and r15,r25
 181 0112 0A23      		and r16,r26
 182 0114 1B23      		and r17,r27
 183 0116 C701      		movw r24,r14
 184 0118 880F      		lsl r24
 185 011a 991F      		rol r25
 186 011c 880F      		lsl r24
 187 011e 991F      		rol r25
 188 0120 880E      		add r8,r24
 189 0122 991E      		adc r9,r25
 190 0124 D401      		movw r26,r8
 191 0126 2D91      		ld r18,X+
 192 0128 3D91      		ld r19,X+
 193 012a 4D91      		ld r20,X+
 194 012c 5C91      		ld r21,X
 195               	.LVL15:
 196 012e 00C0      		rjmp .L9
 197               	.LVL16:
 198               	.L8:
 199               	.LM11:
 200 0130 8FEF      		ldi r24,lo8(255)
 201 0132 90E0      		ldi r25,hi8(255)
 202 0134 A0E0      		ldi r26,hlo8(255)
 203 0136 B0E0      		ldi r27,hhi8(255)
 204 0138 E822      		and r14,r24
 205 013a F922      		and r15,r25
 206 013c 0A23      		and r16,r26
 207 013e 1B23      		and r17,r27
 208 0140 C701      		movw r24,r14
 209 0142 880F      		lsl r24
 210 0144 991F      		rol r25
 211 0146 880E      		add r8,r24
 212 0148 991E      		adc r9,r25
 213 014a D401      		movw r26,r8
 214 014c 8D91      		ld r24,X+
 215 014e 9C91      		ld r25,X
 216 0150 9C01      		movw r18,r24
 217               	.LVL17:
 218 0152 40E0      		ldi r20,lo8(0)
 219 0154 50E0      		ldi r21,hi8(0)
 220               	.LVL18:
 221 0156 00C0      		rjmp .L9
 222               	.LVL19:
 223               	.L7:
 224 0158 28EF      		ldi r18,lo8(268435448)
 225 015a 3FEF      		ldi r19,hi8(268435448)
 226 015c 4FEF      		ldi r20,hlo8(268435448)
 227 015e 5FE0      		ldi r21,hhi8(268435448)
 228               	.LVL20:
 229               	.L9:
 230               	.LM12:
 231 0160 B901      		movw r22,r18
 232               	.LVL21:
 233 0162 CA01      		movw r24,r20
 234               	.LVL22:
 235               	/* epilogue start */
 236 0164 C050      		subi r28,lo8(-(512))
 237 0166 DE4F      		sbci r29,hi8(-(512))
 238 0168 0FB6      		in __tmp_reg__,__SREG__
 239 016a F894      		cli
 240 016c DEBF      		out __SP_H__,r29
 241 016e 0FBE      		out __SREG__,__tmp_reg__
 242 0170 CDBF      		out __SP_L__,r28
 243 0172 CF91      		pop r28
 244 0174 DF91      		pop r29
 245 0176 1F91      		pop r17
 246 0178 0F91      		pop r16
 247 017a FF90      		pop r15
 248 017c EF90      		pop r14
 249               	.LVL23:
 250 017e DF90      		pop r13
 251 0180 CF90      		pop r12
 252 0182 BF90      		pop r11
 253 0184 AF90      		pop r10
 254               	.LVL24:
 255 0186 9F90      		pop r9
 256 0188 8F90      		pop r8
 257 018a 0895      		ret
 258               	.LFE17:
 260               	.global	CopyDirentruyItem
 262               	CopyDirentruyItem:
 263               	.LFB18:
 264               	.LM13:
 265               	.LVL25:
 266 018c CF93      		push r28
 267 018e DF93      		push r29
 268               	/* prologue: function */
 269               	/* frame size = 0 */
 270 0190 9C01      		movw r18,r24
 271 0192 EB01      		movw r28,r22
 272               	.LM14:
 273 0194 40E0      		ldi r20,lo8(0)
 274 0196 50E0      		ldi r21,hi8(0)
 275               	.LVL26:
 276               	.L12:
 277               	.LM15:
 278 0198 F901      		movw r30,r18
 279 019a E40F      		add r30,r20
 280 019c F51F      		adc r31,r21
 281 019e DE01      		movw r26,r28
 282 01a0 A40F      		add r26,r20
 283 01a2 B51F      		adc r27,r21
 284 01a4 8C91      		ld r24,X
 285 01a6 8083      		st Z,r24
 286 01a8 4F5F      		subi r20,lo8(-(1))
 287 01aa 5F4F      		sbci r21,hi8(-(1))
 288 01ac 4830      		cpi r20,8
 289 01ae 5105      		cpc r21,__zero_reg__
 290 01b0 01F4      		brne .L12
 291               	.LM16:
 292 01b2 8885      		ldd r24,Y+8
 293 01b4 F901      		movw r30,r18
 294 01b6 8087      		std Z+8,r24
 295 01b8 8985      		ldd r24,Y+9
 296 01ba 8187      		std Z+9,r24
 297 01bc 8A85      		ldd r24,Y+10
 298 01be 8287      		std Z+10,r24
 299               	.LM17:
 300 01c0 8B85      		ldd r24,Y+11
 301 01c2 8387      		std Z+11,r24
 302               	.LM18:
 303 01c4 8C85      		ldd r24,Y+12
 304 01c6 8487      		std Z+12,r24
 305               	.LM19:
 306 01c8 8D85      		ldd r24,Y+13
 307 01ca 8587      		std Z+13,r24
 308               	.LM20:
 309 01cc 8E85      		ldd r24,Y+14
 310 01ce 8687      		std Z+14,r24
 311 01d0 8F85      		ldd r24,Y+15
 312 01d2 8787      		std Z+15,r24
 313               	.LM21:
 314 01d4 8889      		ldd r24,Y+16
 315 01d6 808B      		std Z+16,r24
 316 01d8 8989      		ldd r24,Y+17
 317 01da 818B      		std Z+17,r24
 318               	.LM22:
 319 01dc 8A89      		ldd r24,Y+18
 320 01de 828B      		std Z+18,r24
 321 01e0 8B89      		ldd r24,Y+19
 322 01e2 838B      		std Z+19,r24
 323               	.LM23:
 324 01e4 8C89      		ldd r24,Y+20
 325 01e6 9D89      		ldd r25,Y+21
 326 01e8 958B      		std Z+21,r25
 327 01ea 848B      		std Z+20,r24
 328               	.LM24:
 329 01ec 8E89      		ldd r24,Y+22
 330 01ee 868B      		std Z+22,r24
 331 01f0 8F89      		ldd r24,Y+23
 332 01f2 878B      		std Z+23,r24
 333               	.LM25:
 334 01f4 888D      		ldd r24,Y+24
 335 01f6 808F      		std Z+24,r24
 336 01f8 898D      		ldd r24,Y+25
 337 01fa 818F      		std Z+25,r24
 338               	.LM26:
 339 01fc 8A8D      		ldd r24,Y+26
 340 01fe 9B8D      		ldd r25,Y+27
 341 0200 938F      		std Z+27,r25
 342 0202 828F      		std Z+26,r24
 343               	.LM27:
 344 0204 8C8D      		ldd r24,Y+28
 345 0206 9D8D      		ldd r25,Y+29
 346 0208 AE8D      		ldd r26,Y+30
 347 020a BF8D      		ldd r27,Y+31
 348 020c 848F      		std Z+28,r24
 349 020e 958F      		std Z+29,r25
 350 0210 A68F      		std Z+30,r26
 351 0212 B78F      		std Z+31,r27
 352               	/* epilogue start */
 353               	.LM28:
 354 0214 DF91      		pop r29
 355 0216 CF91      		pop r28
 356               	.LVL27:
 357 0218 0895      		ret
 358               	.LFE18:
 360               	.global	WriteFolderCluster
 362               	WriteFolderCluster:
 363               	.LFB19:
 364               	.LM29:
 365               	.LVL28:
 366               	/* prologue: function */
 367               	/* frame size = 0 */
 368 021a 9C01      		movw r18,r24
 369               	.LVL29:
 370               	.L16:
 371               	.LBB18:
 372               	.LBB19:
 373               	.LM30:
 374 021c E199      		sbic 60-32,1
 375 021e 00C0      		rjmp .L16
 376               	.LM31:
 377 0220 3FBB      		out (62)+1-32,r19
 378 0222 2EBB      		out 62-32,r18
 379               	.LBE19:
 380               	.LBE18:
 381               	.LM32:
 382 0224 872F      		mov r24,r23
 383 0226 9927      		clr r25
 384 0228 AA27      		clr r26
 385 022a BB27      		clr r27

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -