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

📄 sd2300.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"sd2300.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
  17               	.Ltext0:
  18               	.global	hexToBcd
  20               	hexToBcd:
  21               	.LFB14:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25 0000 482F      		mov r20,r24
  26               	.LM2:
  27 0002 5AE0      		ldi r21,lo8(10)
  28 0004 652F      		mov r22,r21
  29 0006 0E94 0000 		call __udivmodqi4
  30 000a 282F      		mov r18,r24
  31 000c 3327      		clr r19
  32 000e 84E0      		ldi r24,4
  33 0010 220F      	1:	lsl r18
  34 0012 331F      		rol r19
  35 0014 8A95      		dec r24
  36 0016 E1F7      		brne 1b
  37 0018 842F      		mov r24,r20
  38 001a 0E94 0000 		call __udivmodqi4
  39 001e 892F      		mov r24,r25
  40 0020 820F      		add r24,r18
  41               	.LM3:
  42 0022 9927      		clr r25
  43               	/* epilogue: frame size=0 */
  44 0024 0895      		ret
  45               	/* epilogue end (size=1) */
  46               	/* function hexToBcd size 19 (18) */
  47               	.LFE14:
  49               	.global	a2toi
  51               	a2toi:
  52               	.LFB15:
  53               	.LM4:
  54               	/* prologue: frame size=2 */
  55 0026 CF93      		push r28
  56 0028 DF93      		push r29
  57 002a CDB7      		in r28,__SP_L__
  58 002c DEB7      		in r29,__SP_H__
  59 002e 2297      		sbiw r28,2
  60 0030 0FB6      		in __tmp_reg__,__SREG__
  61 0032 F894      		cli
  62 0034 DEBF      		out __SP_H__,r29
  63 0036 0FBE      		out __SREG__,__tmp_reg__
  64 0038 CDBF      		out __SP_L__,r28
  65               	/* prologue end (size=10) */
  66 003a DC01      		movw r26,r24
  67               	.LM5:
  68 003c 8C91      		ld r24,X
  69 003e 8983      		std Y+1,r24
  70               	.LM6:
  71 0040 9E01      		movw r18,r28
  72 0042 2F5F      		subi r18,lo8(-(1))
  73 0044 3F4F      		sbci r19,hi8(-(1))
  74 0046 FD01      		movw r30,r26
  75 0048 8181      		ldd r24,Z+1
  76 004a F901      		movw r30,r18
  77 004c 8183      		std Z+1,r24
  78               	.LM7:
  79 004e C901      		movw r24,r18
  80 0050 0E94 0000 		call atoi
  81               	.LM8:
  82 0054 9927      		clr r25
  83               	/* epilogue: frame size=2 */
  84 0056 2296      		adiw r28,2
  85 0058 0FB6      		in __tmp_reg__,__SREG__
  86 005a F894      		cli
  87 005c DEBF      		out __SP_H__,r29
  88 005e 0FBE      		out __SREG__,__tmp_reg__
  89 0060 CDBF      		out __SP_L__,r28
  90 0062 DF91      		pop r29
  91 0064 CF91      		pop r28
  92 0066 0895      		ret
  93               	/* epilogue end (size=9) */
  94               	/* function a2toi size 33 (14) */
  95               	.LFE15:
  97               	.global	hextoa2
  99               	hextoa2:
 100               	.LFB16:
 101               	.LM9:
 102               	/* prologue: frame size=0 */
 103               	/* prologue end (size=0) */
 104 0068 FB01      		movw r30,r22
 105               	.LM10:
 106 006a 982F      		mov r25,r24
 107 006c 9295      		swap r25
 108 006e 9F70      		andi r25,0x0f
 109 0070 905D      		subi r25,lo8(-(48))
 110 0072 9083      		st Z,r25
 111               	.LM11:
 112 0074 8F70      		andi r24,lo8(15)
 113 0076 805D      		subi r24,lo8(-(48))
 114 0078 8183      		std Z+1,r24
 115               	/* epilogue: frame size=0 */
 116 007a 0895      		ret
 117               	/* epilogue end (size=1) */
 118               	/* function hextoa2 size 10 (9) */
 119               	.LFE16:
 121               	.global	a2tobcd2
 123               	a2tobcd2:
 124               	.LFB17:
 125               	.LM12:
 126               	/* prologue: frame size=0 */
 127               	/* prologue end (size=0) */
 128               	.LM13:
 129 007c 0E94 0000 		call a2toi
 130 0080 0E94 0000 		call hexToBcd
 131               	.LM14:
 132 0084 9927      		clr r25
 133               	/* epilogue: frame size=0 */
 134 0086 0895      		ret
 135               	/* epilogue end (size=1) */
 136               	/* function a2tobcd2 size 6 (5) */
 137               	.LFE17:
 139               	.global	twiInit
 141               	twiInit:
 142               	.LFB18:
 143               	.LM15:
 144               	/* prologue: frame size=0 */
 145               	/* prologue end (size=0) */
 146               	.LM16:
 147 0088 84B3      		in r24,52-0x20
 148 008a 8A7F      		andi r24,lo8(-6)
 149 008c 84BB      		out 52-0x20,r24
 150               	.LM17:
 151 008e 85B3      		in r24,53-0x20
 152 0090 8560      		ori r24,lo8(5)
 153 0092 85BB      		out 53-0x20,r24
 154               	.LM18:
 155 0094 8CE1      		ldi r24,lo8(28)
 156 0096 80B9      		out 32-0x20,r24
 157               	/* epilogue: frame size=0 */
 158 0098 0895      		ret
 159               	/* epilogue end (size=1) */
 160               	/* function twiInit size 9 (8) */
 161               	.LFE18:
 163               	.global	twiStart
 165               	twiStart:
 166               	.LFB19:
 167               	.LM19:
 168               	/* prologue: frame size=0 */
 169               	/* prologue end (size=0) */
 170               	.LM20:
 171 009a 84EA      		ldi r24,lo8(-92)
 172 009c 86BF      		out 86-0x20,r24
 173               	.L7:
 174               	.LM21:
 175 009e 06B6      		in __tmp_reg__,86-0x20
 176 00a0 07FE      		sbrs __tmp_reg__,7
 177 00a2 FDCF      		rjmp .L7
 178               	/* epilogue: frame size=0 */
 179 00a4 0895      		ret
 180               	/* epilogue end (size=1) */
 181               	/* function twiStart size 6 (5) */
 182               	.LFE19:
 184               	.global	twiStop
 186               	twiStop:
 187               	.LFB20:
 188               	.LM22:
 189               	/* prologue: frame size=0 */
 190               	/* prologue end (size=0) */
 191               	.LM23:
 192 00a6 84E9      		ldi r24,lo8(-108)
 193 00a8 86BF      		out 86-0x20,r24
 194               	/* epilogue: frame size=0 */
 195 00aa 0895      		ret
 196               	/* epilogue end (size=1) */
 197               	/* function twiStop size 3 (2) */
 198               	.LFE20:
 200               	.global	twiWriteByte
 202               	twiWriteByte:
 203               	.LFB21:
 204               	.LM24:
 205               	/* prologue: frame size=0 */
 206               	/* prologue end (size=0) */
 207               	.LM25:
 208 00ac 83B9      		out 35-0x20,r24
 209               	.LM26:
 210 00ae 84E8      		ldi r24,lo8(-124)
 211 00b0 86BF      		out 86-0x20,r24
 212               	.L12:
 213               	.LM27:
 214 00b2 06B6      		in __tmp_reg__,86-0x20
 215 00b4 07FE      		sbrs __tmp_reg__,7
 216 00b6 FDCF      		rjmp .L12
 217               	/* epilogue: frame size=0 */
 218 00b8 0895      		ret
 219               	/* epilogue end (size=1) */
 220               	/* function twiWriteByte size 7 (6) */
 221               	.LFE21:
 223               	.global	twiReadByteACK
 225               	twiReadByteACK:
 226               	.LFB22:
 227               	.LM28:
 228               	/* prologue: frame size=0 */
 229               	/* prologue end (size=0) */
 230               	.LM29:
 231 00ba 84EC      		ldi r24,lo8(-60)
 232 00bc 86BF      		out 86-0x20,r24
 233               	.L16:
 234               	.LM30:
 235 00be 06B6      		in __tmp_reg__,86-0x20
 236 00c0 07FE      		sbrs __tmp_reg__,7
 237 00c2 FDCF      		rjmp .L16
 238               	.LM31:
 239 00c4 83B1      		in r24,35-0x20
 240               	.LM32:
 241 00c6 9927      		clr r25
 242               	/* epilogue: frame size=0 */
 243 00c8 0895      		ret
 244               	/* epilogue end (size=1) */
 245               	/* function twiReadByteACK size 8 (7) */
 246               	.LFE22:
 248               	.global	twiReadByteNACK
 250               	twiReadByteNACK:
 251               	.LFB23:
 252               	.LM33:
 253               	/* prologue: frame size=0 */
 254               	/* prologue end (size=0) */
 255               	.LM34:
 256 00ca 84E8      		ldi r24,lo8(-124)
 257 00cc 86BF      		out 86-0x20,r24
 258               	.L20:
 259               	.LM35:
 260 00ce 06B6      		in __tmp_reg__,86-0x20
 261 00d0 07FE      		sbrs __tmp_reg__,7
 262 00d2 FDCF      		rjmp .L20
 263               	.LM36:
 264 00d4 83B1      		in r24,35-0x20
 265               	.LM37:
 266 00d6 9927      		clr r25
 267               	/* epilogue: frame size=0 */
 268 00d8 0895      		ret
 269               	/* epilogue end (size=1) */
 270               	/* function twiReadByteNACK size 8 (7) */
 271               	.LFE23:
 273               	.global	sd2300Init
 275               	sd2300Init:
 276               	.LFB24:
 277               	.LM38:
 278               	/* prologue: frame size=0 */
 279               	/* prologue end (size=0) */
 280               	.LM39:
 281 00da 0E94 0000 		call twiInit
 282               	/* epilogue: frame size=0 */
 283 00de 0895      		ret
 284               	/* epilogue end (size=1) */
 285               	/* function sd2300Init size 3 (2) */
 286               	.LFE24:
 288               	.global	_rtcWriteNByte
 290               	_rtcWriteNByte:
 291               	.LFB25:
 292               	.LM40:
 293               	/* prologue: frame size=0 */
 294 00e0 EF92      		push r14
 295 00e2 FF92      		push r15
 296 00e4 0F93      		push r16
 297 00e6 1F93      		push r17
 298 00e8 CF93      		push r28
 299               	/* prologue end (size=5) */
 300 00ea C82F      		mov r28,r24
 301 00ec F62E      		mov r15,r22
 302 00ee E42E      		mov r14,r20
 303 00f0 8901      		movw r16,r18
 304               	.LM41:
 305 00f2 0E94 0000 		call twiStart
 306               	.LM42:
 307 00f6 81B1      		in r24,33-0x20
 308 00f8 8830      		cpi r24,lo8(8)
 309 00fa 19F0      		breq .L25
 310               	.LM43:
 311 00fc 88E0      		ldi r24,lo8(8)
 312 00fe 90E0      		ldi r25,hi8(8)
 313 0100 20C0      		rjmp .L24
 314               	.L25:
 315               	.LM44:
 316 0102 8C2F      		mov r24,r28
 317 0104 0E94 0000 		call twiWriteByte
 318               	.LM45:
 319 0108 81B1      		in r24,33-0x20
 320 010a 8831      		cpi r24,lo8(24)
 321 010c 19F0      		breq .L26
 322               	.LM46:
 323 010e 88E1      		ldi r24,lo8(24)
 324 0110 90E0      		ldi r25,hi8(24)
 325 0112 17C0      		rjmp .L24
 326               	.L26:
 327               	.LM47:
 328 0114 8F2D      		mov r24,r15
 329 0116 0E94 0000 		call twiWriteByte
 330               	.LM48:
 331 011a 81B1      		in r24,33-0x20
 332 011c 8832      		cpi r24,lo8(40)
 333 011e 19F0      		breq .L27
 334               	.LM49:
 335 0120 88E2      		ldi r24,lo8(40)
 336 0122 90E0      		ldi r25,hi8(40)
 337 0124 0EC0      		rjmp .L24
 338               	.L27:
 339               	.LM50:
 340 0126 C0E0      		ldi r28,lo8(0)
 341               	.L34:
 342 0128 CE15      		cp r28,r14
 343 012a 38F4      		brsh .L33
 344               	.LM51:
 345 012c F801      		movw r30,r16
 346 012e 8191      		ld r24,Z+
 347 0130 8F01      		movw r16,r30
 348 0132 0E94 0000 		call twiWriteByte
 349               	.LM52:
 350 0136 CF5F      		subi r28,lo8(-(1))
 351 0138 F7CF      		rjmp .L34
 352               	.L33:
 353               	.LM53:
 354 013a 0E94 0000 		call twiStop
 355               	.LM54:
 356 013e 80E0      		ldi r24,lo8(0)
 357 0140 90E0      		ldi r25,hi8(0)
 358               	.L24:
 359               	/* epilogue: frame size=0 */
 360 0142 CF91      		pop r28
 361 0144 1F91      		pop r17
 362 0146 0F91      		pop r16
 363 0148 FF90      		pop r15
 364 014a EF90      		pop r14
 365 014c 0895      		ret
 366               	/* epilogue end (size=6) */
 367               	/* function _rtcWriteNByte size 55 (44) */
 368               	.LFE25:
 370               	.global	_rtcReadNByte
 372               	_rtcReadNByte:
 373               	.LFB26:
 374               	.LM55:
 375               	/* prologue: frame size=0 */
 376 014e EF92      		push r14
 377 0150 FF92      		push r15
 378 0152 0F93      		push r16
 379 0154 1F93      		push r17
 380 0156 CF93      		push r28

⌨️ 快捷键说明

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