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

📄 demo_t1_clock.lst

📁 基于MEGA16的按键识别程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"Demo_T1_clock.c"
   2               		.arch atmega16
   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	timer1_init
  20               	timer1_init:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 1EBC      		out 78-0x20,__zero_reg__
  27               	.LM3:
  28 0002 89B7      		in r24,89-0x20
  29 0004 8061      		ori r24,lo8(16)
  30 0006 89BF      		out 89-0x20,r24
  31               	.LM4:
  32 0008 1DBC      		out 77-0x20,__zero_reg__
  33               	.LM5:
  34 000a 1CBC      		out 76-0x20,__zero_reg__
  35               	.LM6:
  36 000c 83E0      		ldi r24,lo8(3)
  37 000e 8BBD      		out 75-0x20,r24
  38               	.LM7:
  39 0010 9DE0      		ldi r25,lo8(13)
  40 0012 9ABD      		out 74-0x20,r25
  41               	.LM8:
  42 0014 19BC      		out 73-0x20,__zero_reg__
  43               	.LM9:
  44 0016 18BC      		out 72-0x20,__zero_reg__
  45               	.LM10:
  46 0018 8FEF      		ldi r24,lo8(-1)
  47 001a 87BD      		out 71-0x20,r24
  48               	.LM11:
  49 001c 86BD      		out 70-0x20,r24
  50               	.LM12:
  51 001e 1FBC      		out 79-0x20,__zero_reg__
  52               	.LM13:
  53 0020 9EBD      		out 78-0x20,r25
  54               	/* epilogue: frame size=0 */
  55 0022 0895      		ret
  56               	/* epilogue end (size=1) */
  57               	/* function timer1_init size 18 (17) */
  58               	.LFE6:
  60               	.global	port_init
  62               	port_init:
  63               	.LFB7:
  64               	.LM14:
  65               	/* prologue: frame size=0 */
  66               	/* prologue end (size=0) */
  67               	.LM15:
  68 0024 8FEF      		ldi r24,lo8(-1)
  69 0026 8ABB      		out 58-0x20,r24
  70               	.LM16:
  71 0028 8BBB      		out 59-0x20,r24
  72               	.LM17:
  73 002a 84BB      		out 52-0x20,r24
  74               	.LM18:
  75 002c 85BB      		out 53-0x20,r24
  76               	/* epilogue: frame size=0 */
  77 002e 0895      		ret
  78               	/* epilogue end (size=1) */
  79               	/* function port_init size 6 (5) */
  80               	.LFE7:
  82               	.global	init_devices
  84               	init_devices:
  85               	.LFB8:
  86               	.LM19:
  87               	/* prologue: frame size=0 */
  88               	/* prologue end (size=0) */
  89               	.LM20:
  90               	/* #APP */
  91 0030 F894      		cli
  92               	.LM21:
  93               	/* #NOAPP */
  94 0032 15BE      		out 85-0x20,__zero_reg__
  95               	.LM22:
  96 0034 80E8      		ldi r24,lo8(-128)
  97 0036 84BF      		out 84-0x20,r24
  98               	.LM23:
  99 0038 1BBE      		out 91-0x20,__zero_reg__
 100               	.LBB14:
 101               	.LBB15:
 102               	.LM24:
 103 003a 8FEF      		ldi r24,lo8(-1)
 104 003c 8ABB      		out 58-0x20,r24
 105               	.LM25:
 106 003e 8BBB      		out 59-0x20,r24
 107               	.LM26:
 108 0040 84BB      		out 52-0x20,r24
 109               	.LM27:
 110 0042 85BB      		out 53-0x20,r24
 111               	.LBE15:
 112               	.LBE14:
 113               	.LM28:
 114 0044 0E94 0000 		call timer1_init
 115               	.LM29:
 116               	/* #APP */
 117 0048 7894      		sei
 118               	/* #NOAPP */
 119               	/* epilogue: frame size=0 */
 120 004a 0895      		ret
 121               	/* epilogue end (size=1) */
 122               	/* function init_devices size 16 (15) */
 123               	.LFE8:
 125               	.global	display_handle
 127               	display_handle:
 128               	.LFB9:
 129               	.LM30:
 130               	/* prologue: frame size=0 */
 131               	/* prologue end (size=0) */
 132               	.LM31:
 133 004c 8091 0000 		lds r24,seconds
 134 0050 6AE0      		ldi r22,lo8(10)
 135 0052 0E94 0000 		call __udivmodqi4
 136 0056 A0E0      		ldi r26,lo8(disnumber_code)
 137 0058 B0E0      		ldi r27,hi8(disnumber_code)
 138 005a FD01      		movw r30,r26
 139 005c E90F      		add r30,r25
 140 005e F11D      		adc r31,__zero_reg__
 141 0060 8081      		ld r24,Z
 142 0062 8093 0000 		sts dis_data,r24
 143               	.LM32:
 144 0066 8091 0000 		lds r24,seconds
 145 006a 0E94 0000 		call __udivmodqi4
 146 006e FD01      		movw r30,r26
 147 0070 E80F      		add r30,r24
 148 0072 F11D      		adc r31,__zero_reg__
 149 0074 8081      		ld r24,Z
 150 0076 8093 0000 		sts dis_data+1,r24
 151               	.LM33:
 152 007a 2091 0000 		lds r18,disnumber_code+10
 153 007e 2093 0000 		sts dis_data+2,r18
 154               	.LM34:
 155 0082 8091 0000 		lds r24,minutes
 156 0086 0E94 0000 		call __udivmodqi4
 157 008a FD01      		movw r30,r26
 158 008c E90F      		add r30,r25
 159 008e F11D      		adc r31,__zero_reg__
 160 0090 8081      		ld r24,Z
 161 0092 8093 0000 		sts dis_data+3,r24
 162               	.LM35:
 163 0096 8091 0000 		lds r24,minutes
 164 009a 0E94 0000 		call __udivmodqi4
 165 009e FD01      		movw r30,r26
 166 00a0 E80F      		add r30,r24
 167 00a2 F11D      		adc r31,__zero_reg__
 168 00a4 8081      		ld r24,Z
 169 00a6 8093 0000 		sts dis_data+4,r24
 170               	.LM36:
 171 00aa 2093 0000 		sts dis_data+5,r18
 172               	.LM37:
 173 00ae 8091 0000 		lds r24,hours
 174 00b2 0E94 0000 		call __udivmodqi4
 175 00b6 FD01      		movw r30,r26
 176 00b8 E90F      		add r30,r25
 177 00ba F11D      		adc r31,__zero_reg__
 178 00bc 8081      		ld r24,Z
 179 00be 8093 0000 		sts dis_data+6,r24
 180               	.LM38:
 181 00c2 8091 0000 		lds r24,hours
 182 00c6 0E94 0000 		call __udivmodqi4
 183 00ca A80F      		add r26,r24
 184 00cc B11D      		adc r27,__zero_reg__
 185 00ce 8C91      		ld r24,X
 186 00d0 8093 0000 		sts dis_data+7,r24
 187               	/* epilogue: frame size=0 */
 188 00d4 0895      		ret
 189               	/* epilogue end (size=1) */
 190               	/* function display_handle size 69 (68) */
 191               	.LFE9:
 193               	.global	display
 195               	display:
 196               	.LFB10:
 197               	.LM39:
 198               	/* prologue: frame size=0 */
 199 00d6 CF93      		push r28
 200 00d8 DF93      		push r29
 201               	/* prologue end (size=2) */
 202               	.LM40:
 203 00da 0E94 0000 		call display_handle
 204 00de E0E0      		ldi r30,lo8(dis_data)
 205 00e0 F0E0      		ldi r31,hi8(dis_data)
 206 00e2 C0E0      		ldi r28,lo8(disbeat_run)
 207 00e4 D0E0      		ldi r29,hi8(disbeat_run)
 208 00e6 A0EA      		ldi r26,lo8(4000)
 209 00e8 BFE0      		ldi r27,hi8(4000)
 210               	.L10:
 211               	.LM41:
 212 00ea 8191      		ld r24,Z+
 213 00ec 8BBB      		out 59-0x20,r24
 214               	.LM42:
 215 00ee 8991      		ld r24,Y+
 216 00f0 85BB      		out 53-0x20,r24
 217               	.LBB16:
 218               	.LBB17:
 219               	.LBB18:
 220               	.LBB19:
 221               	.LM43:
 222 00f2 CD01      		movw r24,r26
 223               	.LVL0:
 224               	/* #APP */
 225 00f4 0197      		1: sbiw r24,1
 226 00f6 01F4      		brne 1b
 227               	/* #NOAPP */
 228               	.LBE19:
 229               	.LBE18:
 230               	.LBE17:
 231               	.LBE16:
 232               	.LM44:
 233 00f8 80E0      		ldi r24,hi8(dis_data+8)
 234 00fa E030      		cpi r30,lo8(dis_data+8)
 235 00fc F807      		cpc r31,r24
 236               	.LVL1:
 237 00fe 01F4      		brne .L10
 238               	/* epilogue: frame size=0 */
 239 0100 DF91      		pop r29
 240 0102 CF91      		pop r28
 241 0104 0895      		ret
 242               	/* epilogue end (size=3) */
 243               	/* function display size 26 (21) */
 244               	.LFE10:
 246               	.global	read_key
 248               	read_key:
 249               	.LFB11:
 250               	.LM45:
 251               	/* prologue: frame size=0 */
 252               	/* prologue end (size=0) */
 253               	.LM46:
 254 0106 86B3      		in r24,54-0x20
 255 0108 8F70      		andi r24,lo8(15)
 256 010a 8F30      		cpi r24,lo8(15)
 257 010c 01F4      		brne .+2
 258 010e 00C0      		rjmp .L29
 259               	.LBB20:
 260               	.LBB21:
 261               	.LBB22:

⌨️ 快捷键说明

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