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

📄 ds3231.lst

📁 MAXIM的DS3231时钟,温度都具备的芯片.驱动IC为AVRmega16或者mega32.全功能.内附全部驱动程序.绝对原创.
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"ds3231.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	BCDtoASCII
  20               	BCDtoASCII:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26 0000 FB01      		movw r30,r22
  27               	.LM2:
  28 0002 982F      		mov r25,r24
  29 0004 9295      		swap r25
  30 0006 9F70      		andi r25,0x0f
  31 0008 905D      		subi r25,lo8(-(48))
  32 000a 9083      		st Z,r25
  33               	.LM3:
  34 000c 8F70      		andi r24,lo8(15)
  35 000e 805D      		subi r24,lo8(-(48))
  36 0010 8183      		std Z+1,r24
  37               	/* epilogue: frame size=0 */
  38 0012 0895      		ret
  39               	/* epilogue end (size=1) */
  40               	/* function BCDtoASCII size 10 (9) */
  41               	.LFE6:
  43               	.global	decodeWEEK
  45               	decodeWEEK:
  46               	.LFB7:
  47               	.LM4:
  48               	/* prologue: frame size=0 */
  49               	/* prologue end (size=0) */
  50               	.LVL1:
  51               	.LM5:
  52 0014 8770      		andi r24,lo8(7)
  53               	.LVL2:
  54               	.LM6:
  55 0016 880F      		lsl r24
  56               	.LM7:
  57 0018 A0E0      		ldi r26,lo8(WEEK)
  58 001a B0E0      		ldi r27,hi8(WEEK)
  59 001c FD01      		movw r30,r26
  60 001e E80F      		add r30,r24
  61 0020 F11D      		adc r31,__zero_reg__
  62 0022 9081      		ld r25,Z
  63 0024 FB01      		movw r30,r22
  64 0026 9083      		st Z,r25
  65               	.LM8:
  66 0028 8F5F      		subi r24,lo8(-(1))
  67 002a A80F      		add r26,r24
  68 002c B11D      		adc r27,__zero_reg__
  69 002e 8C91      		ld r24,X
  70               	.LVL3:
  71 0030 8183      		std Z+1,r24
  72               	/* epilogue: frame size=0 */
  73 0032 0895      		ret
  74               	/* epilogue end (size=1) */
  75               	/* function decodeWEEK size 16 (15) */
  76               	.LFE7:
  78               	.global	BcdToBin
  80               	BcdToBin:
  81               	.LFB8:
  82               	.LM9:
  83               	/* prologue: frame size=0 */
  84               	/* prologue end (size=0) */
  85               	.LVL4:
  86 0034 282F      		mov r18,r24
  87 0036 2295      		swap r18
  88 0038 2F70      		andi r18,0x0f
  89 003a 9AE0      		ldi r25,lo8(10)
  90 003c 299F      		mul r18,r25
  91 003e 9001      		movw r18,r0
  92 0040 1124      		clr r1
  93 0042 8F70      		andi r24,lo8(15)
  94 0044 820F      		add r24,r18
  95               	.LM10:
  96 0046 9927      		clr r25
  97               	.LVL5:
  98               	/* epilogue: frame size=0 */
  99 0048 0895      		ret
 100               	/* epilogue end (size=1) */
 101               	/* function BcdToBin size 11 (10) */
 102               	.LFE8:
 104               	.global	BinToBcd
 106               	BinToBcd:
 107               	.LFB9:
 108               	.LM11:
 109               	/* prologue: frame size=0 */
 110               	/* prologue end (size=0) */
 111               	.LVL6:
 112 004a 282F      		mov r18,r24
 113 004c 6AE0      		ldi r22,lo8(10)
 114               	.LVL7:
 115 004e 0E94 0000 		call __udivmodqi4
 116 0052 482F      		mov r20,r24
 117 0054 5527      		clr r21
 118 0056 84E0      		ldi r24,4
 119 0058 440F      	1:	lsl r20
 120 005a 551F      		rol r21
 121 005c 8A95      		dec r24
 122 005e 01F4      		brne 1b
 123 0060 822F      		mov r24,r18
 124 0062 0E94 0000 		call __udivmodqi4
 125 0066 940F      		add r25,r20
 126               	.LM12:
 127 0068 892F      		mov r24,r25
 128 006a 9927      		clr r25
 129               	/* epilogue: frame size=0 */
 130 006c 0895      		ret
 131               	/* epilogue end (size=1) */
 132               	/* function BinToBcd size 18 (17) */
 133               	.LFE9:
 135               	.global	ERROR
 137               	ERROR:
 138               	.LFB11:
 139               	.LM13:
 140               	/* prologue: frame size=0 */
 141               	/* prologue end (size=0) */
 142               	.LM14:
 143 006e 81E0      		ldi r24,lo8(1)
 144 0070 8093 0000 		sts systemerror,r24
 145               	.LM15:
 146 0074 84E9      		ldi r24,lo8(-108)
 147 0076 86BF      		out 86-0x20,r24
 148               	/* epilogue: frame size=0 */
 149 0078 0895      		ret
 150               	/* epilogue end (size=1) */
 151               	/* function ERROR size 6 (5) */
 152               	.LFE11:
 154               	.global	DS3231TWIRead
 156               	DS3231TWIRead:
 157               	.LFB12:
 158               	.LM16:
 159               	/* prologue: frame size=0 */
 160               	/* prologue end (size=0) */
 161               	.LVL8:
 162 007a 9C01      		movw r18,r24
 163               	.LM17:
 164 007c 84EA      		ldi r24,lo8(-92)
 165               	.LVL9:
 166 007e 86BF      		out 86-0x20,r24
 167               	.L12:
 168               	.LM18:
 169 0080 06B6      		in __tmp_reg__,86-0x20
 170 0082 07FE      		sbrs __tmp_reg__,7
 171 0084 00C0      		rjmp .L12
 172               	.LM19:
 173 0086 81B1      		in r24,33-0x20
 174 0088 887F      		andi r24,lo8(-8)
 175 008a 8830      		cpi r24,lo8(8)
 176 008c 01F0      		breq .L14
 177               	.LBB32:
 178               	.LBB33:
 179               	.LM20:
 180 008e 81E0      		ldi r24,lo8(1)
 181 0090 8093 0000 		sts systemerror,r24
 182               	.LM21:
 183 0094 84E9      		ldi r24,lo8(-108)
 184 0096 86BF      		out 86-0x20,r24
 185               	.L14:
 186               	.LBE33:
 187               	.LBE32:
 188               	.LM22:
 189 0098 80ED      		ldi r24,lo8(-48)
 190 009a 83B9      		out 35-0x20,r24
 191               	.LM23:
 192 009c 84E8      		ldi r24,lo8(-124)
 193 009e 86BF      		out 86-0x20,r24
 194               	.L16:
 195               	.LM24:
 196 00a0 06B6      		in __tmp_reg__,86-0x20
 197 00a2 07FE      		sbrs __tmp_reg__,7
 198 00a4 00C0      		rjmp .L16
 199               	.LM25:
 200 00a6 81B1      		in r24,33-0x20
 201 00a8 887F      		andi r24,lo8(-8)
 202 00aa 8831      		cpi r24,lo8(24)
 203 00ac 01F0      		breq .L18
 204               	.LBB34:
 205               	.LBB35:
 206               	.LM26:
 207 00ae 81E0      		ldi r24,lo8(1)
 208 00b0 8093 0000 		sts systemerror,r24
 209               	.LM27:
 210 00b4 84E9      		ldi r24,lo8(-108)
 211 00b6 86BF      		out 86-0x20,r24
 212               	.L18:
 213               	.LBE35:
 214               	.LBE34:
 215               	.LM28:
 216 00b8 23B9      		out 35-0x20,r18
 217               	.LM29:
 218 00ba 84E8      		ldi r24,lo8(-124)
 219 00bc 86BF      		out 86-0x20,r24
 220               	.L20:
 221               	.LM30:
 222 00be 06B6      		in __tmp_reg__,86-0x20
 223 00c0 07FE      		sbrs __tmp_reg__,7
 224 00c2 00C0      		rjmp .L20
 225               	.LM31:
 226 00c4 81B1      		in r24,33-0x20
 227 00c6 887F      		andi r24,lo8(-8)
 228 00c8 8832      		cpi r24,lo8(40)
 229 00ca 01F0      		breq .L22
 230               	.LBB36:
 231               	.LBB37:
 232               	.LM32:
 233 00cc 81E0      		ldi r24,lo8(1)
 234 00ce 8093 0000 		sts systemerror,r24
 235               	.LM33:
 236 00d2 84E9      		ldi r24,lo8(-108)
 237 00d4 86BF      		out 86-0x20,r24
 238               	.L22:
 239               	.LBE37:
 240               	.LBE36:
 241               	.LM34:
 242 00d6 84EA      		ldi r24,lo8(-92)
 243 00d8 86BF      		out 86-0x20,r24
 244               	.L24:
 245               	.LM35:
 246 00da 06B6      		in __tmp_reg__,86-0x20
 247 00dc 07FE      		sbrs __tmp_reg__,7
 248 00de 00C0      		rjmp .L24
 249               	.LM36:
 250 00e0 81B1      		in r24,33-0x20
 251 00e2 887F      		andi r24,lo8(-8)
 252 00e4 8031      		cpi r24,lo8(16)
 253 00e6 01F0      		breq .L26
 254               	.LBB38:
 255               	.LBB39:
 256               	.LM37:
 257 00e8 81E0      		ldi r24,lo8(1)
 258 00ea 8093 0000 		sts systemerror,r24
 259               	.LM38:
 260 00ee 84E9      		ldi r24,lo8(-108)
 261 00f0 86BF      		out 86-0x20,r24
 262               	.L26:
 263               	.LBE39:
 264               	.LBE38:
 265               	.LM39:
 266 00f2 81ED      		ldi r24,lo8(-47)
 267 00f4 83B9      		out 35-0x20,r24
 268               	.LM40:
 269 00f6 84E8      		ldi r24,lo8(-124)
 270 00f8 86BF      		out 86-0x20,r24
 271               	.L28:
 272               	.LM41:
 273 00fa 06B6      		in __tmp_reg__,86-0x20
 274 00fc 07FE      		sbrs __tmp_reg__,7
 275 00fe 00C0      		rjmp .L28
 276               	.LM42:
 277 0100 81B1      		in r24,33-0x20
 278 0102 887F      		andi r24,lo8(-8)
 279 0104 8034      		cpi r24,lo8(64)
 280 0106 01F0      		breq .L30
 281               	.LBB40:
 282               	.LBB41:
 283               	.LM43:
 284 0108 81E0      		ldi r24,lo8(1)
 285 010a 8093 0000 		sts systemerror,r24
 286               	.LM44:
 287 010e 84E9      		ldi r24,lo8(-108)
 288 0110 86BF      		out 86-0x20,r24
 289               	.L30:
 290               	.LBE41:
 291               	.LBE40:
 292               	.LM45:
 293 0112 84E8      		ldi r24,lo8(-124)
 294 0114 86BF      		out 86-0x20,r24
 295               	.L32:
 296               	.LM46:
 297 0116 06B6      		in __tmp_reg__,86-0x20
 298 0118 07FE      		sbrs __tmp_reg__,7
 299 011a 00C0      		rjmp .L32
 300               	.LM47:
 301 011c 81B1      		in r24,33-0x20
 302 011e 887F      		andi r24,lo8(-8)
 303 0120 8835      		cpi r24,lo8(88)
 304 0122 01F0      		breq .L34
 305               	.LBB42:
 306               	.LBB43:
 307               	.LM48:
 308 0124 81E0      		ldi r24,lo8(1)
 309 0126 8093 0000 		sts systemerror,r24
 310               	.LM49:
 311 012a 84E9      		ldi r24,lo8(-108)
 312 012c 86BF      		out 86-0x20,r24
 313               	.L34:
 314               	.LBE43:
 315               	.LBE42:
 316               	.LM50:
 317 012e 83B1      		in r24,35-0x20
 318               	.LVL10:
 319               	.LM51:
 320 0130 94E9      		ldi r25,lo8(-108)
 321 0132 96BF      		out 86-0x20,r25
 322               	.LBB44:
 323               	.LBB45:
 324               	.LBB46:
 325               	.LBB47:
 326               	.LM52:
 327 0134 E0E0      		ldi r30,lo8(13824)
 328 0136 F6E3      		ldi r31,hi8(13824)
 329               	.LVL11:
 330               	/* #APP */
 331 0138 3197      		1: sbiw r30,1
 332 013a 01F4      		brne 1b
 333               	/* #NOAPP */
 334               	.LBE47:
 335               	.LBE46:
 336               	.LBE45:
 337               	.LBE44:
 338               	.LM53:
 339 013c 9927      		clr r25
 340               	.LVL12:
 341               	/* epilogue: frame size=0 */
 342 013e 0895      		ret
 343               	/* epilogue end (size=1) */
 344               	/* function DS3231TWIRead size 101 (100) */
 345               	.LFE12:
 347               	.global	DS3231TWIWrite
 349               	DS3231TWIWrite:
 350               	.LFB13:
 351               	.LM54:
 352               	/* prologue: frame size=0 */
 353               	/* prologue end (size=0) */
 354               	.LVL13:
 355 0140 9C01      		movw r18,r24
 356               	.LM55:
 357 0142 84EA      		ldi r24,lo8(-92)
 358               	.LVL14:
 359 0144 86BF      		out 86-0x20,r24
 360               	.L50:
 361               	.LM56:
 362 0146 06B6      		in __tmp_reg__,86-0x20
 363 0148 07FE      		sbrs __tmp_reg__,7
 364 014a 00C0      		rjmp .L50
 365               	.LM57:
 366 014c 81B1      		in r24,33-0x20
 367 014e 887F      		andi r24,lo8(-8)
 368 0150 8830      		cpi r24,lo8(8)
 369 0152 01F0      		breq .L52
 370               	.LBB48:
 371               	.LBB49:
 372               	.LM58:
 373 0154 81E0      		ldi r24,lo8(1)
 374 0156 8093 0000 		sts systemerror,r24
 375               	.LM59:
 376 015a 84E9      		ldi r24,lo8(-108)
 377 015c 86BF      		out 86-0x20,r24
 378               	.L52:
 379               	.LBE49:
 380               	.LBE48:
 381               	.LM60:
 382 015e 80ED      		ldi r24,lo8(-48)
 383 0160 83B9      		out 35-0x20,r24
 384               	.LM61:
 385 0162 84E8      		ldi r24,lo8(-124)
 386 0164 86BF      		out 86-0x20,r24
 387               	.L54:
 388               	.LM62:
 389 0166 06B6      		in __tmp_reg__,86-0x20
 390 0168 07FE      		sbrs __tmp_reg__,7
 391 016a 00C0      		rjmp .L54
 392               	.LM63:
 393 016c 81B1      		in r24,33-0x20
 394 016e 887F      		andi r24,lo8(-8)
 395 0170 8831      		cpi r24,lo8(24)

⌨️ 快捷键说明

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