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

📄 instruction.lst

📁 AVR atmega64串口驱动
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"Instruction.c"
   2               		.arch atmega64
   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	acquisition_n
  19               	.global	acquisition_n
  20               		.section .bss
  23               	acquisition_n:
  24 0000 00        		.skip 1,0
  25               	.global	Sensitivity
  26               	.global	Sensitivity
  29               	Sensitivity:
  30 0001 00        		.skip 1,0
  31               	.global	State_health
  32               	.global	State_health
  35               	State_health:
  36 0002 00        		.skip 1,0
  37               	.global	Stops_cycle
  38               	.global	Stops_cycle
  41               	Stops_cycle:
  42 0003 00        		.skip 1,0
  43               	.global	Action_cycle
  44               	.global	Action_cycle
  47               	Action_cycle:
  48 0004 00        		.skip 1,0
  49               	.global	Supply_current
  50               	.global	Supply_current
  53               	Supply_current:
  54 0005 0000      		.skip 2,0
  55               	.global	Six_voltage
  56               	.global	Six_voltage
  59               	Six_voltage:
  60 0007 0000      		.skip 2,0
  61               	.global	Work_code
  62               		.data
  65               	Work_code:
  66 0000 3F        		.byte	63
  67               	.LC0:
  68 0001 3030 3000 		.string	"000"
  69               	.LC1:
  70 0005 0D0A 00   		.string	"\r\n"
  71               		.text
  72               	.global	hex_bcd_8
  74               	hex_bcd_8:
  75               	.LFB19:
  76               	.LM1:
  77               	/* prologue: frame size=4 */
  78 0000 CF93      		push r28
  79 0002 DF93      		push r29
  80 0004 CDB7      		in r28,__SP_L__
  81 0006 DEB7      		in r29,__SP_H__
  82 0008 2497      		sbiw r28,4
  83 000a 0FB6      		in __tmp_reg__,__SREG__
  84 000c F894      		cli
  85 000e DEBF      		out __SP_H__,r29
  86 0010 0FBE      		out __SREG__,__tmp_reg__
  87 0012 CDBF      		out __SP_L__,r28
  88               	/* prologue end (size=10) */
  89 0014 282F      		mov r18,r24
  90               	.LM2:
  91 0016 8091 0000 		lds r24,.LC0
  92 001a 9091 0000 		lds r25,(.LC0)+1
  93 001e A091 0000 		lds r26,(.LC0)+2
  94 0022 B091 0000 		lds r27,(.LC0)+3
  95 0026 8983      		std Y+1,r24
  96 0028 9A83      		std Y+2,r25
  97 002a AB83      		std Y+3,r26
  98 002c BC83      		std Y+4,r27
  99               	.LM3:
 100 002e 33E0      		ldi r19,lo8(3)
 101 0030 FE01      		movw r30,r28
 102 0032 3396      		adiw r30,3
 103               	.L5:
 104               	.LM4:
 105 0034 822F      		mov r24,r18
 106 0036 6AE0      		ldi r22,lo8(10)
 107 0038 0E94 0000 		call __udivmodqi4
 108 003c 892F      		mov r24,r25
 109 003e 805D      		subi r24,lo8(-(48))
 110 0040 8083      		st Z,r24
 111 0042 3197      		sbiw r30,1
 112               	.LM5:
 113 0044 822F      		mov r24,r18
 114 0046 0E94 0000 		call __udivmodqi4
 115 004a 282F      		mov r18,r24
 116               	.LM6:
 117 004c 3150      		subi r19,lo8(-(-1))
 118 004e 91F7      		brne .L5
 119               	.LM7:
 120 0050 CE01      		movw r24,r28
 121 0052 0196      		adiw r24,1
 122 0054 0E94 0000 		call UART0_Transmitstr
 123               	.LM8:
 124 0058 80E0      		ldi r24,lo8(.LC1)
 125 005a 90E0      		ldi r25,hi8(.LC1)
 126 005c 0E94 0000 		call UART0_Transmitstr
 127               	/* epilogue: frame size=4 */
 128 0060 2496      		adiw r28,4
 129 0062 0FB6      		in __tmp_reg__,__SREG__
 130 0064 F894      		cli
 131 0066 DEBF      		out __SP_H__,r29
 132 0068 0FBE      		out __SREG__,__tmp_reg__
 133 006a CDBF      		out __SP_L__,r28
 134 006c DF91      		pop r29
 135 006e CF91      		pop r28
 136 0070 0895      		ret
 137               	/* epilogue end (size=9) */
 138               	/* function hex_bcd_8 size 58 (39) */
 139               	.LFE19:
 141               	.global	Inquiry_tx
 143               	Inquiry_tx:
 144               	.LFB20:
 145               	.LM9:
 146               	/* prologue: frame size=0 */
 147               	/* prologue end (size=0) */
 148               	.LM10:
 149 0072 8FEF      		ldi r24,lo8(-1)
 150 0074 0E94 0000 		call UART1_TransmitByte
 151               	.LM11:
 152 0078 83E0      		ldi r24,lo8(3)
 153 007a 0E94 0000 		call UART1_TransmitByte
 154               	.LM12:
 155 007e 80E0      		ldi r24,lo8(0)
 156 0080 0E94 0000 		call UART1_TransmitByte
 157               	.LM13:
 158 0084 81E4      		ldi r24,lo8(65)
 159 0086 0E94 0000 		call UART1_TransmitByte
 160               	/* epilogue: frame size=0 */
 161 008a 0895      		ret
 162               	/* epilogue end (size=1) */
 163               	/* function Inquiry_tx size 13 (12) */
 164               	.LFE20:
 166               	.global	Data_acquisition
 168               	Data_acquisition:
 169               	.LFB21:
 170               	.LM14:
 171               	/* prologue: frame size=64 */
 172 008c FF92      		push r15
 173 008e 0F93      		push r16
 174 0090 1F93      		push r17
 175 0092 CF93      		push r28
 176 0094 DF93      		push r29
 177 0096 CDB7      		in r28,__SP_L__
 178 0098 DEB7      		in r29,__SP_H__
 179 009a C054      		subi r28,lo8(64)
 180 009c D040      		sbci r29,hi8(64)
 181 009e 0FB6      		in __tmp_reg__,__SREG__
 182 00a0 F894      		cli
 183 00a2 DEBF      		out __SP_H__,r29
 184 00a4 0FBE      		out __SREG__,__tmp_reg__
 185 00a6 CDBF      		out __SP_L__,r28
 186               	/* prologue end (size=14) */
 187               	.LM15:
 188 00a8 8091 0000 		lds r24,bit_hardware
 189 00ac 8695      		lsr r24
 190 00ae 80FD      		sbrc r24,0
 191 00b0 16C1      		rjmp .L9
 192               	.LBB2:
 193               	.LM16:
 194 00b2 FF24      		clr r15
 195               	.LM17:
 196 00b4 85E0      		ldi r24,lo8(5)
 197 00b6 90E0      		ldi r25,hi8(5)
 198 00b8 0E94 0000 		call DelayMs
 199               	.LM18:
 200 00bc 0E94 0000 		call Inquiry_tx
 201               	.LM19:
 202 00c0 85E0      		ldi r24,lo8(5)
 203 00c2 90E0      		ldi r25,hi8(5)
 204 00c4 0E94 0000 		call DelayMs
 205               	.LM20:
 206 00c8 84EF      		ldi r24,lo8(500)
 207 00ca 91E0      		ldi r25,hi8(500)
 208 00cc 0E94 0000 		call DelayMs
 209               	.LM21:
 210 00d0 0AC0      		rjmp .L11
 211               	.L13:
 212               	.LM22:
 213 00d2 8E01      		movw r16,r28
 214 00d4 0F5F      		subi r16,lo8(-(1))
 215 00d6 1F4F      		sbci r17,hi8(-(1))
 216 00d8 060F      		add r16,r22
 217 00da 171F      		adc r17,r23
 218 00dc F394      		inc r15
 219 00de 0E94 0000 		call UART1_ReceiveByte
 220 00e2 F801      		movw r30,r16
 221 00e4 8083      		st Z,r24
 222               	.L11:
 223 00e6 0E94 0000 		call UART1_DataInReceiveBuffer
 224 00ea 082F      		mov r16,r24
 225 00ec 6F2D      		mov r22,r15
 226 00ee 7727      		clr r23
 227 00f0 8823      		tst r24
 228 00f2 79F7      		brne .L13
 229               	.LM23:
 230 00f4 CE01      		movw r24,r28
 231 00f6 0196      		adiw r24,1
 232 00f8 0E94 0000 		call crc16_update
 233 00fc 892B      		or r24,r25
 234 00fe 09F0      		breq .+2
 235 0100 C9C0      		rjmp .L14
 236               	.LM24:
 237 0102 0093 0000 		sts acquisition_n,r16
 238               	.LM25:
 239 0106 8D85      		ldd r24,Y+13
 240 0108 9927      		clr r25
 241 010a 982F      		mov r25,r24
 242 010c 8827      		clr r24
 243 010e 2C85      		ldd r18,Y+12
 244 0110 820F      		add r24,r18
 245 0112 911D      		adc r25,__zero_reg__
 246 0114 28E2      		ldi r18,lo8(40)
 247 0116 30E0      		ldi r19,hi8(40)
 248 0118 829F      		mul r24,r18
 249 011a A001      		movw r20,r0
 250 011c 839F      		mul r24,r19
 251 011e 500D      		add r21,r0
 252 0120 929F      		mul r25,r18
 253 0122 500D      		add r21,r0
 254 0124 1124      		clr r1
 255 0126 5093 0000 		sts (Six_voltage)+1,r21
 256 012a 4093 0000 		sts Six_voltage,r20
 257               	.LM26:
 258 012e 8B85      		ldd r24,Y+11
 259 0130 9927      		clr r25
 260 0132 982F      		mov r25,r24
 261 0134 8827      		clr r24
 262 0136 2A85      		ldd r18,Y+10
 263 0138 820F      		add r24,r18
 264 013a 911D      		adc r25,__zero_reg__
 265 013c 880F      		add r24,r24
 266 013e 991F      		adc r25,r25
 267 0140 9093 0000 		sts (Supply_current)+1,r25
 268 0144 8093 0000 		sts Supply_current,r24
 269               	.LM27:
 270 0148 8981      		ldd r24,Y+1
 271 014a 8093 0000 		sts State_health,r24
 272               	.LM28:
 273 014e 9E85      		ldd r25,Y+14
 274 0150 91FF      		sbrs r25,1
 275 0152 04C0      		rjmp .L15
 276               	.LM29:
 277 0154 8091 0000 		lds r24,bit_flag
 278 0158 8260      		ori r24,lo8(2)
 279 015a 03C0      		rjmp .L69
 280               	.L15:
 281               	.LM30:
 282 015c 8091 0000 		lds r24,bit_flag
 283 0160 8D7F      		andi r24,lo8(-3)
 284               	.L69:
 285 0162 8093 0000 		sts bit_flag,r24
 286               	.LM31:
 287 0166 92FF      		sbrs r25,2
 288 0168 04C0      		rjmp .L17
 289               	.LM32:
 290 016a 8091 0000 		lds r24,bit_flag
 291 016e 8460      		ori r24,lo8(4)
 292 0170 03C0      		rjmp .L70
 293               	.L17:
 294               	.LM33:
 295 0172 8091 0000 		lds r24,bit_flag
 296 0176 8B7F      		andi r24,lo8(-5)
 297               	.L70:
 298 0178 8093 0000 		sts bit_flag,r24
 299               	.LM34:
 300 017c 93FF      		sbrs r25,3
 301 017e 04C0      		rjmp .L19
 302               	.LM35:
 303 0180 8091 0000 		lds r24,bit_flag
 304 0184 8860      		ori r24,lo8(8)
 305 0186 03C0      		rjmp .L71
 306               	.L19:
 307               	.LM36:
 308 0188 8091 0000 		lds r24,bit_flag
 309 018c 877F      		andi r24,lo8(-9)
 310               	.L71:
 311 018e 8093 0000 		sts bit_flag,r24
 312               	.LM37:
 313 0192 8F81      		ldd r24,Y+7
 314 0194 9927      		clr r25
 315 0196 8130      		cpi r24,1
 316 0198 9105      		cpc r25,__zero_reg__
 317 019a 71F0      		breq .L23
 318 019c 8230      		cpi r24,2
 319 019e 9105      		cpc r25,__zero_reg__
 320 01a0 1CF4      		brge .L27
 321 01a2 892B      		or r24,r25
 322 01a4 39F0      		breq .L22
 323 01a6 0FC0      		rjmp .L21
 324               	.L27:
 325 01a8 8230      		cpi r24,2
 326 01aa 9105      		cpc r25,__zero_reg__
 327 01ac 39F0      		breq .L24
 328 01ae 0397      		sbiw r24,3
 329 01b0 39F0      		breq .L25
 330 01b2 09C0      		rjmp .L21
 331               	.L22:
 332               	.LM38:
 333 01b4 8AE0      		ldi r24,lo8(10)
 334 01b6 05C0      		rjmp .L72
 335               	.L23:
 336               	.LM39:
 337 01b8 8FE0      		ldi r24,lo8(15)
 338 01ba 03C0      		rjmp .L72
 339               	.L24:
 340               	.LM40:
 341 01bc 84E1      		ldi r24,lo8(20)
 342 01be 01C0      		rjmp .L72
 343               	.L25:
 344               	.LM41:
 345 01c0 89E1      		ldi r24,lo8(25)
 346               	.L72:
 347 01c2 8093 0000 		sts Action_cycle,r24
 348               	.L21:
 349               	.LM42:
 350 01c6 8885      		ldd r24,Y+8
 351 01c8 9927      		clr r25
 352 01ca 8230      		cpi r24,2
 353 01cc 9105      		cpc r25,__zero_reg__
 354 01ce 99F0      		breq .L31
 355 01d0 8330      		cpi r24,3
 356 01d2 9105      		cpc r25,__zero_reg__
 357 01d4 2CF4      		brge .L35
 358 01d6 0097      		sbiw r24,0
 359 01d8 49F0      		breq .L29
 360 01da 0197      		sbiw r24,1
 361 01dc 51F0      		breq .L30
 362 01de 12C0      		rjmp .L28
 363               	.L35:
 364 01e0 8330      		cpi r24,3
 365 01e2 9105      		cpc r25,__zero_reg__
 366 01e4 51F0      		breq .L32
 367 01e6 0497      		sbiw r24,4
 368 01e8 51F0      		breq .L33
 369 01ea 0CC0      		rjmp .L28
 370               	.L29:
 371               	.LM43:
 372 01ec 1092 0000 		sts Stops_cycle,__zero_reg__
 373 01f0 09C0      		rjmp .L28
 374               	.L30:
 375               	.LM44:
 376 01f2 8AE0      		ldi r24,lo8(10)
 377 01f4 05C0      		rjmp .L73
 378               	.L31:
 379               	.LM45:
 380 01f6 8FE0      		ldi r24,lo8(15)
 381 01f8 03C0      		rjmp .L73
 382               	.L32:
 383               	.LM46:
 384 01fa 84E1      		ldi r24,lo8(20)
 385 01fc 01C0      		rjmp .L73
 386               	.L33:
 387               	.LM47:
 388 01fe 89E1      		ldi r24,lo8(25)
 389               	.L73:
 390 0200 8093 0000 		sts Stops_cycle,r24
 391               	.L28:
 392               	.LM48:
 393 0204 8E81      		ldd r24,Y+6
 394 0206 9927      		clr r25
 395 0208 AA27      		clr r26
 396 020a BB27      		clr r27
 397 020c FC01      		movw r30,r24
 398 020e 4997      		sbiw r24,25
 399 0210 D8F5      		brsh .L36
 400 0212 E050      		subi r30,lo8(-(pm(.L63)))
 401 0214 F040      		sbci r31,hi8(-(pm(.L63)))
 402 0216 EE0F      		lsl r30

⌨️ 快捷键说明

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