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

📄 mmc_sd.lst

📁 基於MCU c51/8051 讀寫SD/MMC card 再以USB 傳回電腦的範例程序
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"MMC_SD.c"
   2               		.arch atmega128
   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
  17               	.Ltext0:
  18               	.global	SPI_Low
  20               	SPI_Low:
  21               	.LFB2:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 83E5      		ldi r24,lo8(83)
  27 0002 8DB9      		out 45-0x20,r24
  28               	.LM3:
  29 0004 7098      		cbi 46-0x20,0
  30               	/* epilogue: frame size=0 */
  31 0006 0895      		ret
  32               	/* epilogue end (size=1) */
  33               	/* function SPI_Low size 4 (3) */
  34               	.LFE2:
  36               	.global	SPI_High
  38               	SPI_High:
  39               	.LFB3:
  40               	.LM4:
  41               	/* prologue: frame size=0 */
  42               	/* prologue end (size=0) */
  43               	.LM5:
  44 0008 80E5      		ldi r24,lo8(80)
  45 000a 8DB9      		out 45-0x20,r24
  46               	.LM6:
  47 000c 709A      		sbi 46-0x20,0
  48               	/* epilogue: frame size=0 */
  49 000e 0895      		ret
  50               	/* epilogue end (size=1) */
  51               	/* function SPI_High size 4 (3) */
  52               	.LFE3:
  54               	.global	SPI_Init
  56               	SPI_Init:
  57               	.LFB4:
  58               	.LM7:
  59               	/* prologue: frame size=0 */
  60               	/* prologue end (size=0) */
  61               	.LM8:
  62 0010 87B3      		in r24,55-0x20
  63 0012 8760      		ori r24,lo8(7)
  64 0014 87BB      		out 55-0x20,r24
  65               	.LBB30:
  66               	.LBB31:
  67               	.LM9:
  68 0016 83E5      		ldi r24,lo8(83)
  69 0018 8DB9      		out 45-0x20,r24
  70               	.LM10:
  71 001a 7098      		cbi 46-0x20,0
  72               	.LBE31:
  73               	.LBE30:
  74               	/* epilogue: frame size=0 */
  75 001c 0895      		ret
  76               	/* epilogue end (size=1) */
  77               	/* function SPI_Init size 7 (6) */
  78               	.LFE4:
  80               	.global	SPI_WriteByte
  82               	SPI_WriteByte:
  83               	.LFB5:
  84               	.LM11:
  85               	/* prologue: frame size=0 */
  86               	/* prologue end (size=0) */
  87               	.LVL0:
  88               	.LM12:
  89 001e 8FB9      		out 47-0x20,r24
  90               	.L8:
  91               	.LM13:
  92 0020 779B      		sbis 46-0x20,7
  93 0022 00C0      		rjmp .L8
  94               	.LM14:
  95 0024 8FB1      		in r24,47-0x20
  96               	.LVL1:
  97               	.LM15:
  98 0026 9927      		clr r25
  99               	/* epilogue: frame size=0 */
 100 0028 0895      		ret
 101               	/* epilogue end (size=1) */
 102               	/* function SPI_WriteByte size 6 (5) */
 103               	.LFE5:
 105               	.global	SPI_ReadByte
 107               	SPI_ReadByte:
 108               	.LFB6:
 109               	.LM16:
 110               	/* prologue: frame size=0 */
 111               	/* prologue end (size=0) */
 112               	.LM17:
 113 002a 8FEF      		ldi r24,lo8(-1)
 114 002c 8FB9      		out 47-0x20,r24
 115               	.L14:
 116               	.LM18:
 117 002e 779B      		sbis 46-0x20,7
 118 0030 00C0      		rjmp .L14
 119               	.LM19:
 120 0032 8FB1      		in r24,47-0x20
 121               	.LM20:
 122 0034 9927      		clr r25
 123               	/* epilogue: frame size=0 */
 124 0036 0895      		ret
 125               	/* epilogue end (size=1) */
 126               	/* function SPI_ReadByte size 7 (6) */
 127               	.LFE6:
 129               	.global	MMC_SD_Init
 131               	MMC_SD_Init:
 132               	.LFB7:
 133               	.LM21:
 134               	/* prologue: frame size=0 */
 135               	/* prologue end (size=0) */
 136               	.LM22:
 137 0038 0E94 0000 		call SPI_Init
 138               	.LM23:
 139 003c C09A      		sbi 56-0x20,0
 140               	.LM24:
 141 003e 1B98      		cbi 35-0x20,3
 142               	/* epilogue: frame size=0 */
 143 0040 0895      		ret
 144               	/* epilogue end (size=1) */
 145               	/* function MMC_SD_Init size 5 (4) */
 146               	.LFE7:
 148               	.global	MMC_SD_SendCommand
 150               	MMC_SD_SendCommand:
 151               	.LFB8:
 152               	.LM25:
 153               	/* prologue: frame size=0 */
 154               	/* prologue end (size=0) */
 155               	.LVL2:
 156 0042 982F      		mov r25,r24
 157               	.LBB32:
 158               	.LBB33:
 159               	.LM26:
 160 0044 8FEF      		ldi r24,lo8(-1)
 161               	.LVL3:
 162 0046 8FB9      		out 47-0x20,r24
 163               	.L22:
 164               	.LM27:
 165 0048 779B      		sbis 46-0x20,7
 166 004a 00C0      		rjmp .L22
 167               	.LM28:
 168 004c 8FB1      		in r24,47-0x20
 169               	.LBE33:
 170               	.LBE32:
 171               	.LBB34:
 172               	.LBB35:
 173               	.LM29:
 174 004e 8FEF      		ldi r24,lo8(-1)
 175 0050 8FB9      		out 47-0x20,r24
 176               	.L24:
 177               	.LM30:
 178 0052 779B      		sbis 46-0x20,7
 179 0054 00C0      		rjmp .L24
 180               	.LM31:
 181 0056 8FB1      		in r24,47-0x20
 182               	.LBE35:
 183               	.LBE34:
 184               	.LBB36:
 185               	.LBB37:
 186               	.LM32:
 187 0058 8FEF      		ldi r24,lo8(-1)
 188 005a 8FB9      		out 47-0x20,r24
 189               	.L26:
 190               	.LM33:
 191 005c 779B      		sbis 46-0x20,7
 192 005e 00C0      		rjmp .L26
 193               	.LM34:
 194 0060 8FB1      		in r24,47-0x20
 195               	.LBE37:
 196               	.LBE36:
 197               	.LBB38:
 198               	.LBB39:
 199               	.LM35:
 200 0062 8FEF      		ldi r24,lo8(-1)
 201 0064 8FB9      		out 47-0x20,r24
 202               	.L28:
 203               	.LM36:
 204 0066 779B      		sbis 46-0x20,7
 205 0068 00C0      		rjmp .L28
 206               	.LM37:
 207 006a 8FB1      		in r24,47-0x20
 208               	.LBE39:
 209               	.LBE38:
 210               	.LBB40:
 211               	.LBB41:
 212               	.LM38:
 213 006c 8FEF      		ldi r24,lo8(-1)
 214 006e 8FB9      		out 47-0x20,r24
 215               	.L30:
 216               	.LM39:
 217 0070 779B      		sbis 46-0x20,7
 218 0072 00C0      		rjmp .L30
 219               	.LM40:
 220 0074 8FB1      		in r24,47-0x20
 221               	.LBE41:
 222               	.LBE40:
 223               	.LBB42:
 224               	.LBB43:
 225               	.LM41:
 226 0076 8FEF      		ldi r24,lo8(-1)
 227 0078 8FB9      		out 47-0x20,r24
 228               	.L32:
 229               	.LM42:
 230 007a 779B      		sbis 46-0x20,7
 231 007c 00C0      		rjmp .L32
 232               	.LM43:
 233 007e 8FB1      		in r24,47-0x20
 234               	.LBE43:
 235               	.LBE42:
 236               	.LM44:
 237 0080 C098      		cbi 56-0x20,0
 238               	.LM45:
 239 0082 9064      		ori r25,lo8(64)
 240               	.LBB44:
 241               	.LBB45:
 242               	.LM46:
 243 0084 9FB9      		out 47-0x20,r25
 244               	.L34:
 245               	.LM47:
 246 0086 779B      		sbis 46-0x20,7
 247 0088 00C0      		rjmp .L34
 248               	.LM48:
 249 008a 8FB1      		in r24,47-0x20
 250               	.LBE45:
 251               	.LBE44:
 252               	.LM49:
 253 008c 872F      		mov r24,r23
 254 008e 9927      		clr r25
 255 0090 AA27      		clr r26
 256 0092 BB27      		clr r27
 257               	.LBB46:
 258               	.LBB47:
 259               	.LM50:
 260 0094 8FB9      		out 47-0x20,r24
 261               	.L36:
 262               	.LM51:
 263 0096 779B      		sbis 46-0x20,7
 264 0098 00C0      		rjmp .L36
 265               	.LM52:
 266 009a 8FB1      		in r24,47-0x20
 267               	.LBE47:
 268               	.LBE46:
 269               	.LM53:
 270 009c CB01      		movw r24,r22
 271 009e AA27      		clr r26
 272 00a0 BB27      		clr r27
 273               	.LVL4:
 274               	.LBB48:
 275               	.LBB49:
 276               	.LM54:
 277 00a2 8FB9      		out 47-0x20,r24
 278               	.L38:
 279               	.LM55:
 280 00a4 779B      		sbis 46-0x20,7
 281 00a6 00C0      		rjmp .L38
 282               	.LM56:
 283 00a8 8FB1      		in r24,47-0x20
 284               	.LBE49:
 285               	.LBE48:
 286               	.LM57:
 287 00aa BB27      		clr r27
 288 00ac A72F      		mov r26,r23
 289 00ae 962F      		mov r25,r22
 290 00b0 852F      		mov r24,r21
 291               	.LBB50:
 292               	.LBB51:
 293               	.LM58:
 294 00b2 8FB9      		out 47-0x20,r24
 295               	.L40:
 296               	.LM59:
 297 00b4 779B      		sbis 46-0x20,7
 298 00b6 00C0      		rjmp .L40
 299               	.LM60:
 300 00b8 8FB1      		in r24,47-0x20
 301               	.LBE51:
 302               	.LBE50:
 303               	.LBB52:
 304               	.LBB53:
 305               	.LM61:
 306 00ba 4FB9      		out 47-0x20,r20
 307               	.L42:
 308               	.LM62:
 309 00bc 779B      		sbis 46-0x20,7
 310 00be 00C0      		rjmp .L42
 311               	.LM63:
 312 00c0 8FB1      		in r24,47-0x20
 313               	.LBE53:
 314               	.LBE52:
 315               	.LBB54:
 316               	.LBB55:
 317               	.LM64:
 318 00c2 85E9      		ldi r24,lo8(-107)
 319 00c4 8FB9      		out 47-0x20,r24
 320               	.L44:
 321               	.LM65:
 322 00c6 779B      		sbis 46-0x20,7
 323 00c8 00C0      		rjmp .L44
 324               	.LM66:
 325 00ca 8FB1      		in r24,47-0x20
 326 00cc 90E0      		ldi r25,lo8(0)
 327               	.LVL5:
 328 00ce 2FEF      		ldi r18,lo8(-1)
 329 00d0 00C0      		rjmp .L46
 330               	.LVL6:
 331               	.L47:
 332               	.LBE55:
 333               	.LBE54:
 334               	.LM67:
 335 00d2 9536      		cpi r25,lo8(101)
 336 00d4 01F0      		breq .L48
 337 00d6 9F5F      		subi r25,lo8(-(1))
 338               	.L46:
 339               	.LBB56:
 340               	.LBB57:
 341               	.LM68:
 342 00d8 2FB9      		out 47-0x20,r18
 343               	.L50:
 344               	.LM69:
 345 00da 779B      		sbis 46-0x20,7
 346 00dc 00C0      		rjmp .L50
 347               	.LM70:
 348 00de 8FB1      		in r24,47-0x20
 349               	.LVL7:
 350               	.LVL8:
 351               	.LBE57:
 352               	.LBE56:
 353               	.LM71:
 354 00e0 8F3F      		cpi r24,lo8(-1)
 355 00e2 01F0      		breq .L47
 356               	.L48:
 357               	.LM72:
 358 00e4 C09A      		sbi 56-0x20,0
 359               	.LM73:
 360 00e6 9927      		clr r25
 361               	.LVL9:
 362               	/* epilogue: frame size=0 */
 363 00e8 0895      		ret
 364               	/* epilogue end (size=1) */
 365               	/* function MMC_SD_SendCommand size 84 (83) */
 366               	.LFE8:
 368               	.global	MMC_SD_ReadCapacity
 370               	MMC_SD_ReadCapacity:
 371               	.LFB12:
 372               	.LM74:
 373               	/* prologue: frame size=16 */
 374 00ea 0F93      		push r16
 375 00ec 1F93      		push r17
 376 00ee CF93      		push r28
 377 00f0 DF93      		push r29
 378 00f2 CDB7      		in r28,__SP_L__
 379 00f4 DEB7      		in r29,__SP_H__
 380 00f6 6097      		sbiw r28,16
 381 00f8 0FB6      		in __tmp_reg__,__SREG__
 382 00fa F894      		cli
 383 00fc DEBF      		out __SP_H__,r29
 384 00fe 0FBE      		out __SREG__,__tmp_reg__
 385 0100 CDBF      		out __SP_L__,r28
 386               	/* prologue end (size=12) */
 387               	.LM75:
 388 0102 40E0      		ldi r20,lo8(0)
 389 0104 50E0      		ldi r21,hi8(0)
 390 0106 60E0      		ldi r22,hlo8(0)
 391 0108 70E0      		ldi r23,hhi8(0)
 392 010a 89E0      		ldi r24,lo8(9)
 393 010c 0E94 0000 		call MMC_SD_SendCommand
 394               	.LVL10:
 395               	.LM76:
 396 0110 8823      		tst r24
 397 0112 01F0      		breq .L80
 398               	.LM77:
 399 0114 682F      		mov r22,r24
 400 0116 7727      		clr r23
 401 0118 8827      		clr r24
 402 011a 9927      		clr r25
 403               	.LVL11:
 404 011c 00C0      		rjmp .L82
 405               	.LVL12:
 406               	.L80:
 407               	.LM78:

⌨️ 快捷键说明

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