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

📄 uart.lst

📁 MAXIM的DS3231时钟,温度都具备的芯片.驱动IC为AVRmega16或者mega32.全功能.内附全部驱动程序.绝对原创.
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"uart.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	UartIntit
  20               	UartIntit:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 80B5      		in r24,64-0x20
  27 0002 8F77      		andi r24,lo8(127)
  28 0004 80BD      		out 64-0x20,r24
  29               	.LM3:
  30 0006 10BC      		out 64-0x20,__zero_reg__
  31               	.LM4:
  32 0008 85E0      		ldi r24,lo8(5)
  33 000a 89B9      		out 41-0x20,r24
  34               	.LM5:
  35 000c 1BB8      		out 43-0x20,__zero_reg__
  36               	.LM6:
  37 000e 88E9      		ldi r24,lo8(-104)
  38 0010 8AB9      		out 42-0x20,r24
  39               	.LM7:
  40 0012 86E8      		ldi r24,lo8(-122)
  41 0014 80BD      		out 64-0x20,r24
  42               	/* epilogue: frame size=0 */
  43 0016 0895      		ret
  44               	/* epilogue end (size=1) */
  45               	/* function UartIntit size 12 (11) */
  46               	.LFE6:
  48               	.global	UARTSend
  50               	UARTSend:
  51               	.LFB7:
  52               	.LM8:
  53               	/* prologue: frame size=0 */
  54               	/* prologue end (size=0) */
  55               	.LVL0:
  56               	.L5:
  57               	.LM9:
  58 0018 5D9B      		sbis 43-0x20,5
  59 001a 00C0      		rjmp .L5
  60               	.LM10:
  61 001c 8CB9      		out 44-0x20,r24
  62               	/* epilogue: frame size=0 */
  63 001e 0895      		ret
  64               	/* epilogue end (size=1) */
  65               	/* function UARTSend size 4 (3) */
  66               	.LFE7:
  68               	.global	UARTSendString
  70               	UARTSendString:
  71               	.LFB9:
  72               	.LM11:
  73               	/* prologue: frame size=0 */
  74               	/* prologue end (size=0) */
  75               	.LVL1:
  76 0020 FC01      		movw r30,r24
  77 0022 00C0      		rjmp .L11
  78               	.LVL2:
  79               	.L21:
  80               	.LBB8:
  81               	.LBB9:
  82               	.LM12:
  83 0024 5D9B      		sbis 43-0x20,5
  84 0026 00C0      		rjmp .L21
  85               	.LBE9:
  86               	.LBE8:
  87               	.LM13:
  88 0028 3196      		adiw r30,1
  89               	.LBB10:
  90               	.LBB11:
  91               	.LM14:
  92 002a 8CB9      		out 44-0x20,r24
  93               	.LVL3:
  94               	.L11:
  95               	.LBE11:
  96               	.LBE10:
  97               	.LM15:
  98 002c 8081      		ld r24,Z
  99 002e 8823      		tst r24
 100 0030 01F4      		brne .L21
 101               	.L20:
 102               	.LBB12:
 103               	.LBB13:
 104               	.LM16:
 105 0032 5D9B      		sbis 43-0x20,5
 106 0034 00C0      		rjmp .L20
 107               	.LM17:
 108 0036 8DE0      		ldi r24,lo8(13)
 109 0038 8CB9      		out 44-0x20,r24
 110               	.L17:
 111               	.LBE13:
 112               	.LBE12:
 113               	.LBB14:
 114               	.LBB15:
 115               	.LM18:
 116 003a 5D9B      		sbis 43-0x20,5
 117 003c 00C0      		rjmp .L17
 118               	.LM19:
 119 003e 8AE0      		ldi r24,lo8(10)
 120 0040 8CB9      		out 44-0x20,r24
 121               	.LBE15:
 122               	.LBE14:
 123               	/* epilogue: frame size=0 */
 124 0042 0895      		ret
 125               	/* epilogue end (size=1) */
 126               	/* function UARTSendString size 18 (17) */
 127               	.LFE9:
 129               		.data
 130               	.LC0:
 131 0000 D6B8 C1EE 		.string	"\326\270\301\356\316\336\320\247!"
 131      CEDE D0A7 
 131      2100 
 132               		.text
 133               	.global	ResponseErro
 135               	ResponseErro:
 136               	.LFB15:
 137               	.LM20:
 138               	/* prologue: frame size=0 */
 139               	/* prologue end (size=0) */
 140               	.LM21:
 141 0044 80E0      		ldi r24,lo8(.LC0)
 142 0046 90E0      		ldi r25,hi8(.LC0)
 143 0048 0E94 0000 		call UARTSendString
 144               	/* epilogue: frame size=0 */
 145 004c 0895      		ret
 146               	/* epilogue end (size=1) */
 147               	/* function ResponseErro size 5 (4) */
 148               	.LFE15:
 150               	.global	ResponseWrite
 152               	ResponseWrite:
 153               	.LFB14:
 154               	.LM22:
 155               	/* prologue: frame size=0 */
 156               	/* prologue end (size=0) */
 157               	.LM23:
 158 004e 1092 0000 		sts UartWriteflag,__zero_reg__
 159               	.LM24:
 160 0052 8091 0000 		lds r24,ReceiveBuffer+2
 161 0056 8530      		cpi r24,lo8(5)
 162 0058 00F4      		brsh .L31
 163               	.LM25:
 164 005a 8091 0000 		lds r24,ReceiveBuffer+2
 165 005e 8130      		cpi r24,lo8(1)
 166 0060 01F4      		brne .L33
 167 0062 A0E0      		ldi r26,lo8(RealTimeDate)
 168 0064 B0E0      		ldi r27,hi8(RealTimeDate)
 169 0066 E0E0      		ldi r30,lo8(ReceiveBuffer+3)
 170 0068 F0E0      		ldi r31,hi8(ReceiveBuffer+3)
 171               	.L35:
 172               	.LM26:
 173 006a 8191      		ld r24,Z+
 174 006c 8D93      		st X+,r24
 175 006e 80E0      		ldi r24,hi8(ReceiveBuffer+10)
 176 0070 E030      		cpi r30,lo8(ReceiveBuffer+10)
 177 0072 F807      		cpc r31,r24
 178 0074 01F4      		brne .L35
 179               	.LM27:
 180 0076 0E94 0000 		call DS3231WriteTime
 181               	.LM28:
 182 007a 0E94 0000 		call ReadDate
 183               	.LM29:
 184 007e 80E0      		ldi r24,lo8(NowDATE)
 185 0080 90E0      		ldi r25,hi8(NowDATE)
 186 0082 0E94 0000 		call UARTSendString
 187 0086 0895      		ret
 188               	.L33:
 189               	.LM30:
 190 0088 8091 0000 		lds r24,ReceiveBuffer+2
 191 008c 8230      		cpi r24,lo8(2)
 192 008e 01F0      		breq .L40
 193               	.LM31:
 194 0090 8091 0000 		lds r24,ReceiveBuffer+2
 195 0094 8330      		cpi r24,lo8(3)
 196 0096 01F0      		breq .L40
 197               	.LM32:
 198 0098 8091 0000 		lds r24,ReceiveBuffer+2
 199 009c 0895      		ret
 200               	.L31:
 201               	.LM33:
 202 009e 0E94 0000 		call ResponseErro
 203               	.L40:
 204 00a2 0895      		ret
 205               	/* epilogue: frame size=0 */
 206               	/* epilogue: noreturn */
 207               	/* epilogue end (size=0) */
 208               	/* function ResponseWrite size 43 (43) */
 209               	.LFE14:
 211               		.data
 212               	.LC1:
 213 000a 5E5F 5E00 		.string	"^_^"
 214               	.LC2:
 215 000e B6C1 C8A1 		.string	"\266\301\310\241\265\261\307\260\312\261\274\344..."
 215      B5B1 C7B0 
 215      CAB1 BCE4 
 215      2E2E 2E00 
 216               		.text
 217               	.global	ResponseRead
 219               	ResponseRead:
 220               	.LFB13:
 221               	.LM34:
 222               	/* prologue: frame size=0 */
 223               	/* prologue end (size=0) */
 224               	.LM35:
 225 00a4 0E94 0000 		call ReadDate
 226               	.LM36:
 227 00a8 80E0      		ldi r24,lo8(NowDATE)
 228 00aa 90E0      		ldi r25,hi8(NowDATE)
 229 00ac 0E94 0000 		call UARTSendString
 230               	.LM37:
 231 00b0 8091 0000 		lds r24,Uartshortkeyflag
 232 00b4 8823      		tst r24
 233 00b6 01F0      		breq .L44
 234               	.LM38:
 235 00b8 1092 0000 		sts Uartshortkeyflag,__zero_reg__
 236               	.LM39:
 237 00bc 8091 0000 		lds r24,ReceiveBuffer
 238 00c0 9091 0000 		lds r25,ReceiveBuffer
 239 00c4 8337      		cpi r24,lo8(115)
 240 00c6 01F0      		breq .L48
 241 00c8 9335      		cpi r25,lo8(83)
 242 00ca 01F4      		brne .L46
 243               	.L48:
 244 00cc 81E0      		ldi r24,lo8(1)
 245 00ce 00C0      		rjmp .L67
 246               	.L46:
 247               	.LM40:
 248 00d0 8091 0000 		lds r24,ReceiveBuffer
 249 00d4 9091 0000 		lds r25,ReceiveBuffer
 250 00d8 8437      		cpi r24,lo8(116)
 251 00da 01F0      		breq .L52
 252 00dc 9435      		cpi r25,lo8(84)
 253 00de 01F4      		brne .L50
 254               	.L52:
 255 00e0 82E0      		ldi r24,lo8(2)
 256               	.L67:
 257 00e2 8093 0000 		sts ReceiveBuffer+2,r24
 258 00e6 00C0      		rjmp .L49
 259               	.L50:
 260               	.LM41:
 261 00e8 8091 0000 		lds r24,ReceiveBuffer
 262 00ec 9091 0000 		lds r25,ReceiveBuffer
 263 00f0 8D36      		cpi r24,lo8(109)
 264 00f2 01F0      		breq .L57
 265 00f4 9D34      		cpi r25,lo8(77)
 266 00f6 01F0      		breq .L57
 267               	.LM42:
 268 00f8 8091 0000 		lds r24,ReceiveBuffer
 269 00fc 9091 0000 		lds r25,ReceiveBuffer
 270 0100 8536      		cpi r24,lo8(101)
 271 0102 01F0      		breq .L57
 272 0104 9534      		cpi r25,lo8(69)
 273 0106 01F4      		brne .L49
 274               	.L57:
 275 0108 80E0      		ldi r24,lo8(.LC1)
 276 010a 90E0      		ldi r25,hi8(.LC1)
 277 010c 0E94 0000 		call UARTSendString
 278 0110 00C0      		rjmp .L49
 279               	.L44:
 280               	.LM43:
 281 0112 1092 0000 		sts UartReadflag,__zero_reg__
 282               	.LM44:
 283 0116 8091 0000 		lds r24,ReceiveBuffer+2
 284 011a 8530      		cpi r24,lo8(5)
 285 011c 00F4      		brsh .L58
 286               	.L49:
 287               	.LM45:
 288 011e 8091 0000 		lds r24,ReceiveBuffer+2
 289 0122 8130      		cpi r24,lo8(1)
 290 0124 01F4      		brne .L59
 291               	.LM46:
 292 0126 80E0      		ldi r24,lo8(.LC2)
 293 0128 90E0      		ldi r25,hi8(.LC2)
 294 012a 0E94 0000 		call UARTSendString
 295               	.LM47:
 296 012e 0E94 0000 		call ReadDate
 297               	.LM48:
 298 0132 80E0      		ldi r24,lo8(NowDATE)
 299 0134 90E0      		ldi r25,hi8(NowDATE)
 300 0136 0E94 0000 		call UARTSendString
 301 013a 0895      		ret
 302               	.L59:
 303               	.LM49:
 304 013c 8091 0000 		lds r24,ReceiveBuffer+2
 305 0140 8230      		cpi r24,lo8(2)
 306 0142 01F4      		brne .L62
 307 0144 81E0      		ldi r24,lo8(1)
 308 0146 8093 0000 		sts ReadTemperatureflag,r24
 309 014a 0895      		ret
 310               	.L62:
 311               	.LM50:
 312 014c 8091 0000 		lds r24,ReceiveBuffer+2
 313 0150 8230      		cpi r24,lo8(2)
 314 0152 01F0      		breq .L66
 315               	.LM51:
 316 0154 8091 0000 		lds r24,ReceiveBuffer+2
 317 0158 8230      		cpi r24,lo8(2)
 318 015a 01F0      		breq .L66
 319               	.LM52:
 320 015c 0E94 0000 		call ResponseErro
 321 0160 0895      		ret
 322               	.L58:
 323               	.LM53:
 324 0162 0E94 0000 		call ResponseErro
 325               	.L66:
 326 0166 0895      		ret
 327               	/* epilogue: frame size=0 */
 328               	/* epilogue: noreturn */
 329               	/* epilogue end (size=0) */
 330               	/* function ResponseRead size 98 (98) */
 331               	.LFE13:
 333               	.global	ProcessReceiveData
 335               	ProcessReceiveData:
 336               	.LFB12:
 337               	.LM54:
 338               	/* prologue: frame size=0 */
 339               	/* prologue end (size=0) */
 340               	.LM55:
 341 0168 8091 0000 		lds r24,UartReceiveflag
 342 016c 8823      		tst r24
 343 016e 01F0      		breq .L69
 344               	.LM56:
 345 0170 1092 0000 		sts UartReceiveflag,__zero_reg__
 346               	.LM57:
 347 0174 1092 0000 		sts ReceiveCounter,__zero_reg__
 348               	.LM58:
 349 0178 8091 0000 		lds r24,UartReadflag

⌨️ 快捷键说明

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