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

📄 mkq_m8.lst

📁 一个使用AVR的M8控制单相电容启动电机的程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"mkq_m8.c"
   2               		.arch atmega8
   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	timer0_init
  20               	timer0_init:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 13BE      		out 83-0x20,__zero_reg__
  27               	.LM3:
  28 0002 84E6      		ldi r24,lo8(100)
  29 0004 82BF      		out 82-0x20,r24
  30               	.LM4:
  31 0006 83E0      		ldi r24,lo8(3)
  32 0008 83BF      		out 83-0x20,r24
  33               	.LM5:
  34 000a 81E0      		ldi r24,lo8(1)
  35 000c 89BF      		out 89-0x20,r24
  36               	/* epilogue: frame size=0 */
  37 000e 0895      		ret
  38               	/* epilogue end (size=1) */
  39               	/* function timer0_init size 8 (7) */
  40               	.LFE6:
  42               	.global	__vector_9
  44               	__vector_9:
  45               	.LFB7:
  46               	.LM6:
  47               	/* prologue: frame size=0 */
  48 0010 1F92      		push __zero_reg__
  49 0012 0F92      		push __tmp_reg__
  50 0014 0FB6      		in __tmp_reg__,__SREG__
  51 0016 0F92      		push __tmp_reg__
  52 0018 1124      		clr __zero_reg__
  53 001a 8F93      		push r24
  54               	/* prologue end (size=6) */
  55               	.LM7:
  56 001c 84E6      		ldi r24,lo8(100)
  57 001e 82BF      		out 82-0x20,r24
  58               	.LM8:
  59 0020 81E0      		ldi r24,lo8(1)
  60 0022 8093 0000 		sts f_10ms,r24
  61               	/* epilogue: frame size=0 */
  62 0026 8F91      		pop r24
  63 0028 0F90      		pop __tmp_reg__
  64 002a 0FBE      		out __SREG__,__tmp_reg__
  65 002c 0F90      		pop __tmp_reg__
  66 002e 1F90      		pop __zero_reg__
  67 0030 1895      		reti
  68               	/* epilogue end (size=6) */
  69               	/* function __vector_9 size 17 (5) */
  70               	.LFE7:
  72               	.global	main_init
  74               	main_init:
  75               	.LFB8:
  76               	.LM9:
  77               	/* prologue: frame size=0 */
  78 0032 1F93      		push r17
  79               	/* prologue end (size=1) */
  80               	.LM10:
  81 0034 12E0      		ldi r17,lo8(2)
  82 0036 17BB      		out 55-0x20,r17
  83               	.LM11:
  84 0038 8FE7      		ldi r24,lo8(127)
  85 003a 88BB      		out 56-0x20,r24
  86               	.LM12:
  87 003c 87E0      		ldi r24,lo8(7)
  88 003e 84BB      		out 52-0x20,r24
  89               	.LM13:
  90 0040 8FEF      		ldi r24,lo8(-1)
  91 0042 85BB      		out 53-0x20,r24
  92               	.LM14:
  93 0044 80EF      		ldi r24,lo8(-16)
  94 0046 81BB      		out 49-0x20,r24
  95               	.LM15:
  96 0048 8FE0      		ldi r24,lo8(15)
  97 004a 82BB      		out 50-0x20,r24
  98               	.LM16:
  99 004c D9DF      		rcall timer0_init
 100               	.LM17:
 101 004e 1093 0000 		sts cnt_20ms,r17
 102               	.LM18:
 103 0052 85E0      		ldi r24,lo8(5)
 104 0054 8093 0000 		sts cnt_100ms,r24
 105               	.LM19:
 106 0058 1093 0000 		sts cnt_200ms,r17
 107               	.LM20:
 108 005c 82E3      		ldi r24,lo8(50)
 109 005e 8093 0000 		sts cnt_10s,r24
 110               	.LM21:
 111 0062 8CE3      		ldi r24,lo8(60)
 112 0064 8093 0000 		sts cnt_12s,r24
 113               	/* epilogue: frame size=0 */
 114 0068 1F91      		pop r17
 115 006a 0895      		ret
 116               	/* epilogue end (size=2) */
 117               	/* function main_init size 29 (26) */
 118               	.LFE8:
 120               	.global	tim0_mainloop
 122               	tim0_mainloop:
 123               	.LFB9:
 124               	.LM22:
 125               	/* prologue: frame size=0 */
 126               	/* prologue end (size=0) */
 127               	.LM23:
 128 006c 9091 0000 		lds r25,f_10ms
 129 0070 9130      		cpi r25,lo8(1)
 130 0072 E1F5      		brne .L4
 131               	.LM24:
 132 0074 1092 0000 		sts f_10ms,__zero_reg__
 133               	.LM25:
 134 0078 8091 0000 		lds r24,cnt_20ms
 135 007c 8150      		subi r24,lo8(-(-1))
 136 007e 8093 0000 		sts cnt_20ms,r24
 137 0082 8823      		tst r24
 138 0084 99F5      		brne .L4
 139               	.LM26:
 140 0086 22E0      		ldi r18,lo8(2)
 141 0088 2093 0000 		sts cnt_20ms,r18
 142 008c 9093 0000 		sts f_20ms,r25
 143               	.LM27:
 144 0090 8091 0000 		lds r24,cnt_100ms
 145 0094 8150      		subi r24,lo8(-(-1))
 146 0096 8093 0000 		sts cnt_100ms,r24
 147 009a 8823      		tst r24
 148 009c 39F5      		brne .L4
 149               	.LM28:
 150 009e 2093 0000 		sts cnt_100ms,r18
 151 00a2 9093 0000 		sts f_100ms,r25
 152               	.LM29:
 153 00a6 8091 0000 		lds r24,cnt_200ms
 154 00aa 8150      		subi r24,lo8(-(-1))
 155 00ac 8093 0000 		sts cnt_200ms,r24
 156 00b0 8823      		tst r24
 157 00b2 E1F4      		brne .L4
 158               	.LM30:
 159 00b4 2093 0000 		sts cnt_200ms,r18
 160 00b8 9093 0000 		sts f_200ms,r25
 161               	.LM31:
 162 00bc 8091 0000 		lds r24,cnt_10s
 163 00c0 8150      		subi r24,lo8(-(-1))
 164 00c2 8093 0000 		sts cnt_10s,r24
 165 00c6 8823      		tst r24
 166 00c8 29F4      		brne .L9
 167               	.LM32:
 168 00ca 82E3      		ldi r24,lo8(50)
 169 00cc 8093 0000 		sts cnt_10s,r24
 170 00d0 9093 0000 		sts f_10s,r25
 171               	.L9:
 172               	.LM33:
 173 00d4 8091 0000 		lds r24,cnt_12s
 174 00d8 8150      		subi r24,lo8(-(-1))
 175 00da 8093 0000 		sts cnt_12s,r24
 176 00de 8823      		tst r24
 177 00e0 29F4      		brne .L4
 178               	.LM34:
 179 00e2 8CE3      		ldi r24,lo8(60)
 180 00e4 8093 0000 		sts cnt_12s,r24
 181 00e8 9093 0000 		sts f_12s,r25
 182               	.L4:
 183 00ec 0895      		ret
 184               	/* epilogue: frame size=0 */
 185               	/* epilogue: noreturn */
 186               	/* epilogue end (size=0) */
 187               	/* function tim0_mainloop size 65 (65) */
 188               	.LFE9:
 190               	.global	led_alarm
 192               	led_alarm:
 193               	.LFB10:
 194               	.LM35:
 195               	/* prologue: frame size=0 */
 196               	/* prologue end (size=0) */
 197               	.LM36:
 198 00ee 8130      		cpi r24,lo8(1)
 199 00f0 89F4      		brne .L11
 200               	.LM37:
 201 00f2 9091 0000 		lds r25,f_100ms
 202 00f6 9130      		cpi r25,lo8(1)
 203 00f8 69F4      		brne .L11
 204               	.LM38:
 205 00fa 1092 0000 		sts f_100ms,__zero_reg__
 206               	.LM39:
 207 00fe 8091 0000 		lds r24,blink_b
 208 0102 8823      		tst r24
 209 0104 21F4      		brne .L13
 210               	.LM40:
 211 0106 C198      		cbi 56-0x20,1
 212 0108 9093 0000 		sts blink_b,r25
 213 010c 0895      		ret
 214               	.L13:
 215               	.LM41:
 216 010e C19A      		sbi 56-0x20,1
 217 0110 1092 0000 		sts blink_b,__zero_reg__
 218               	.L11:
 219 0114 0895      		ret
 220               	/* epilogue: frame size=0 */
 221               	/* epilogue: noreturn */
 222               	/* epilogue end (size=0) */
 223               	/* function led_alarm size 20 (20) */
 224               	.LFE10:
 226               	.global	moto_zhen
 228               	moto_zhen:
 229               	.LFB11:
 230               	.LM42:
 231               	/* prologue: frame size=0 */
 232               	/* prologue end (size=0) */
 233               	.LM43:
 234 0116 AA9A      		sbi 53-0x20,2
 235               	.LBB2:
 236               	.LBB3:
 237               	.LM44:
 238 0118 84EC      		ldi r24,lo8(2500)
 239 011a 99E0      		ldi r25,hi8(2500)
 240               	.LBB4:
 241               	.LBB5:
 242               	.LM45:
 243               	/* #APP */
 244 011c 0197      		1: sbiw r24,1
 245 011e F1F7      		brne 1b
 246               	/* #NOAPP */
 247               	.LBE5:
 248               	.LBE4:
 249               	.LBE3:
 250               	.LBE2:
 251               	.LM46:
 252 0120 A898      		cbi 53-0x20,0
 253               	/* epilogue: frame size=0 */
 254 0122 0895      		ret
 255               	/* epilogue end (size=1) */
 256               	/* function moto_zhen size 9 (8) */
 257               	.LFE11:
 259               	.global	moto_fan
 261               	moto_fan:
 262               	.LFB12:
 263               	.LM47:
 264               	/* prologue: frame size=0 */
 265               	/* prologue end (size=0) */
 266               	.LM48:
 267 0124 AA98      		cbi 53-0x20,2
 268               	.LBB6:
 269               	.LBB7:
 270               	.LM49:
 271 0126 84EC      		ldi r24,lo8(2500)
 272 0128 99E0      		ldi r25,hi8(2500)
 273               	.LBB8:
 274               	.LBB9:
 275               	.LM50:
 276               	/* #APP */
 277 012a 0197      		1: sbiw r24,1
 278 012c F1F7      		brne 1b
 279               	/* #NOAPP */
 280               	.LBE9:
 281               	.LBE8:
 282               	.LBE7:
 283               	.LBE6:
 284               	.LM51:
 285 012e A998      		cbi 53-0x20,1
 286               	/* epilogue: frame size=0 */
 287 0130 0895      		ret
 288               	/* epilogue end (size=1) */
 289               	/* function moto_fan size 9 (8) */
 290               	.LFE12:
 292               	.global	door_state_init
 294               	door_state_init:
 295               	.LFB13:
 296               	.LM52:
 297               	/* prologue: frame size=0 */
 298               	/* prologue end (size=0) */
 299               	.LM53:
 300 0132 83B3      		in r24,51-0x20
 301               	.LM54:
 302 0134 1092 0000 		sts err_f,__zero_reg__
 303 0138 C19A      		sbi 56-0x20,1
 304               	.LM55:
 305 013a E0E0      		ldi r30,lo8(.L43+7)
 306 013c F0E0      		ldi r31,hi8(.L43+7)
 307 013e 0994      		ijmp
 308               		.data
 309               		.section .progmem.gcc_sw_table, "ax", @progbits
 310               		.p2align 1
 311               	.L43:
 312 0000 00C0      		rjmp .L41
 313 0002 00C0      		rjmp .L40
 314 0004 00C0      		rjmp .L41
 315 0006 00C0      		rjmp .L38
 316 0008 00C0      		rjmp .L39
 317 000a 00C0      		rjmp .L40
 318 000c 00C0      		rjmp .L41
 319 000e 00C0      		rjmp .L42
 320               		.text
 321               	.L38:
 322               	.LM56:
 323 0140 82E0      		ldi r24,lo8(2)
 324 0142 8093 0000 		sts state,r24
 325               	.LM57:
 326 0146 13C0      		rjmp .L34
 327               	.L39:
 328               	.LM58:
 329 0148 1092 0000 		sts state,__zero_reg__
 330               	.LM59:
 331 014c 10C0      		rjmp .L34
 332               	.L40:
 333               	.LM60:
 334 014e E3DF      		rcall moto_zhen
 335 0150 1092 0000 		sts f_10s,__zero_reg__
 336 0154 82E3      		ldi r24,lo8(50)
 337 0156 8093 0000 		sts cnt_10s,r24
 338               	.LM61:
 339 015a 83E0      		ldi r24,lo8(3)
 340 015c 03C0      		rjmp .L44
 341               	.L41:
 342               	.LM62:
 343 015e 88E0      		ldi r24,lo8(8)
 344 0160 01C0      		rjmp .L44
 345               	.L42:
 346               	.LM63:
 347 0162 84E0      		ldi r24,lo8(4)
 348               	.L44:
 349 0164 8093 0000 		sts state,r24
 350 0168 81E0      		ldi r24,lo8(1)
 351 016a 8093 0000 		sts err_f,r24
 352               	.L34:
 353               	.LM64:
 354 016e 82B3      		in r24,50-0x20
 355 0170 806F      		ori r24,lo8(-16)
 356 0172 82BB      		out 50-0x20,r24
 357 0174 8091 0000 		lds r24,state
 358 0178 9927      		clr r25
 359 017a 24E0      		ldi r18,4
 360 017c 880F      	1:	lsl r24
 361 017e 991F      		rol r25
 362 0180 2A95      		dec r18
 363 0182 E1F7      		brne 1b
 364 0184 22B3      		in r18,50-0x20
 365 0186 2823      		and r18,r24
 366 0188 22BB      		out 50-0x20,r18
 367               	/* epilogue: frame size=0 */
 368 018a 0895      		ret
 369               	/* epilogue end (size=1) */
 370               	/* function door_state_init size 53 (52) */
 371               	.LFE13:
 373               	.global	door_mainloop
 375               	door_mainloop:
 376               	.LFB14:
 377               	.LM65:
 378               	/* prologue: frame size=0 */
 379               	/* prologue end (size=0) */
 380               	.LM66:
 381 018c 8091 0000 		lds r24,f_200ms
 382 0190 8823      		tst r24
 383 0192 09F4      		brne .+2
 384 0194 BDC0      		rjmp .L45
 385               	.LM67:
 386 0196 1092 0000 		sts f_200ms,__zero_reg__
 387               	.LM68:
 388 019a 23B3      		in r18,51-0x20
 389 019c 2873      		andi r18,lo8(56)
 390               	.LM69:
 391 019e 2695      		lsr r18
 392 01a0 2695      		lsr r18
 393 01a2 2695      		lsr r18
 394               	.LM70:
 395 01a4 1092 0000 		sts err_f,__zero_reg__
 396 01a8 C19A      		sbi 56-0x20,1
 397               	.LM71:
 398 01aa 8091 0000 		lds r24,state
 399 01ae 9927      		clr r25
 400 01b0 AA27      		clr r26
 401 01b2 BB27      		clr r27
 402 01b4 FC01      		movw r30,r24

⌨️ 快捷键说明

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