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

📄 disp.lst

📁 我学习AVR的代码例子
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"disp.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	S
  19               		.section	.progmem.data,"a",@progbits
  22               	S:
  23 0000 AF        		.byte	-81
  24 0001 06        		.byte	6
  25 0002 6D        		.byte	109
  26 0003 4F        		.byte	79
  27 0004 C6        		.byte	-58
  28 0005 CB        		.byte	-53
  29 0006 EB        		.byte	-21
  30 0007 0E        		.byte	14
  31 0008 EF        		.byte	-17
  32 0009 CF        		.byte	-49
  33 000a 00        		.byte	0
  34               		.data
  37               	j:
  38 0000 01        		.byte	1
  41               	k:
  42 0001 01        		.byte	1
  43               		.text
  44               	.global	port_init
  46               	port_init:
  47               	.LFB3:
  48               	.LM1:
  49               	/* prologue: frame size=0 */
  50               	/* prologue end (size=0) */
  51               	.LM2:
  52 0000 1ABA      		out 58-0x20,__zero_reg__
  53               	.LM3:
  54 0002 1BBA      		out 59-0x20,__zero_reg__
  55               	.LM4:
  56 0004 8FEF      		ldi r24,lo8(-1)
  57 0006 87BB      		out 55-0x20,r24
  58               	.LM5:
  59 0008 8CEF      		ldi r24,lo8(-4)
  60 000a 84BB      		out 52-0x20,r24
  61               	.LM6:
  62 000c 80EF      		ldi r24,lo8(-16)
  63 000e 81BB      		out 49-0x20,r24
  64               	/* epilogue: frame size=0 */
  65 0010 0895      		ret
  66               	/* epilogue end (size=1) */
  67               	/* function port_init size 9 (8) */
  68               	.LFE3:
  70               	.global	delay_us
  72               	delay_us:
  73               	.LFB4:
  74               	.LM7:
  75               	/* prologue: frame size=0 */
  76               	/* prologue end (size=0) */
  77               	.L3:
  78               	.LM8:
  79 0012 0197      		sbiw r24,1
  80               	.LM9:
  81 0014 8230      		cpi r24,2
  82 0016 9105      		cpc r25,__zero_reg__
  83 0018 E4F7      		brge .L3
  84               	/* epilogue: frame size=0 */
  85 001a 0895      		ret
  86               	/* epilogue end (size=1) */
  87               	/* function delay_us size 5 (4) */
  88               	.LFE4:
  90               	.global	delay_ms
  92               	delay_ms:
  93               	.LFB5:
  94               	.LM10:
  95               	/* prologue: frame size=0 */
  96 001c CF93      		push r28
  97 001e DF93      		push r29
  98               	/* prologue end (size=2) */
  99 0020 EC01      		movw r28,r24
 100               	.LM11:
 101 0022 892B      		or r24,r25
 102 0024 31F0      		breq .L11
 103               	.L9:
 104               	.LM12:
 105 0026 88EE      		ldi r24,lo8(1000)
 106 0028 93E0      		ldi r25,hi8(1000)
 107 002a 0E94 0000 		call delay_us
 108               	.LM13:
 109 002e 2197      		sbiw r28,1
 110 0030 D1F7      		brne .L9
 111               	.L11:
 112               	/* epilogue: frame size=0 */
 113 0032 DF91      		pop r29
 114 0034 CF91      		pop r28
 115 0036 0895      		ret
 116               	/* epilogue end (size=3) */
 117               	/* function delay_ms size 15 (10) */
 118               	.LFE5:
 120               	.global	SendBit
 122               	SendBit:
 123               	.LFB6:
 124               	.LM14:
 125               	/* prologue: frame size=0 */
 126 0038 1F93      		push r17
 127 003a CF93      		push r28
 128               	/* prologue end (size=2) */
 129 003c 182F      		mov r17,r24
 130               	.LM15:
 131               	/* #APP */
 132 003e F894      		cli
 133               	.LM16:
 134               	/* #NOAPP */
 135 0040 6623      		tst r22
 136 0042 99F0      		breq .L20
 137 0044 C62F      		mov r28,r22
 138               	.L18:
 139               	.LM17:
 140 0046 17FD      		sbrc r17,7
 141 0048 02C0      		rjmp .L16
 142               	.LM18:
 143 004a C598      		cbi 56-0x20,5
 144 004c 01C0      		rjmp .L17
 145               	.L16:
 146               	.LM19:
 147 004e C59A      		sbi 56-0x20,5
 148               	.L17:
 149               	.LM20:
 150 0050 8AE0      		ldi r24,lo8(10)
 151 0052 90E0      		ldi r25,hi8(10)
 152 0054 0E94 0000 		call delay_us
 153               	.LM21:
 154 0058 C79A      		sbi 56-0x20,7
 155               	.LM22:
 156 005a 8AE0      		ldi r24,lo8(10)
 157 005c 90E0      		ldi r25,hi8(10)
 158 005e 0E94 0000 		call delay_us
 159               	.LM23:
 160 0062 C798      		cbi 56-0x20,7
 161               	.LM24:
 162 0064 110F      		lsl r17
 163               	.LM25:
 164 0066 C150      		subi r28,lo8(-(-1))
 165 0068 71F7      		brne .L18
 166               	.L20:
 167               	.LM26:
 168               	/* #APP */
 169 006a 7894      		sei
 170               	/* #NOAPP */
 171               	/* epilogue: frame size=0 */
 172 006c CF91      		pop r28
 173 006e 1F91      		pop r17
 174 0070 0895      		ret
 175               	/* epilogue end (size=3) */
 176               	/* function SendBit size 32 (27) */
 177               	.LFE6:
 179               	.global	Start_spi
 181               	Start_spi:
 182               	.LFB7:
 183               	.LM27:
 184               	/* prologue: frame size=0 */
 185               	/* prologue end (size=0) */
 186               	.LM28:
 187 0072 C49A      		sbi 56-0x20,4
 188               	.LM29:
 189 0074 C79A      		sbi 56-0x20,7
 190               	.LM30:
 191 0076 C59A      		sbi 56-0x20,5
 192               	.LM31:
 193 0078 8AE0      		ldi r24,lo8(10)
 194 007a 90E0      		ldi r25,hi8(10)
 195 007c 0E94 0000 		call delay_us
 196               	.LM32:
 197 0080 C498      		cbi 56-0x20,4
 198 0082 C498      		cbi 56-0x20,4
 199               	.LM33:
 200 0084 8FE7      		ldi r24,lo8(127)
 201 0086 98B3      		in r25,56-0x20
 202 0088 9823      		and r25,r24
 203 008a 98BB      		out 56-0x20,r25
 204 008c 98B3      		in r25,56-0x20
 205 008e 9823      		and r25,r24
 206 0090 98BB      		out 56-0x20,r25
 207               	/* epilogue: frame size=0 */
 208 0092 0895      		ret
 209               	/* epilogue end (size=1) */
 210               	/* function Start_spi size 17 (16) */
 211               	.LFE7:
 213               	.global	SendByte
 215               	SendByte:
 216               	.LFB8:
 217               	.LM34:
 218               	/* prologue: frame size=0 */
 219               	/* prologue end (size=0) */
 220               	.LM35:
 221 0094 68E0      		ldi r22,lo8(8)
 222 0096 0E94 0000 		call SendBit
 223               	/* epilogue: frame size=0 */
 224 009a 0895      		ret
 225               	/* epilogue end (size=1) */
 226               	/* function SendByte size 4 (3) */
 227               	.LFE8:
 229               	.global	SENDCOMA
 231               	SENDCOMA:
 232               	.LFB9:
 233               	.LM36:
 234               	/* prologue: frame size=0 */
 235 009c 1F93      		push r17
 236               	/* prologue end (size=1) */
 237 009e 182F      		mov r17,r24
 238               	.LM37:
 239 00a0 0E94 0000 		call Start_spi
 240               	.LM38:
 241 00a4 64E0      		ldi r22,lo8(4)
 242 00a6 80E8      		ldi r24,lo8(-128)
 243 00a8 0E94 0000 		call SendBit
 244               	.LM39:
 245 00ac 812F      		mov r24,r17
 246 00ae 0E94 0000 		call SendByte
 247               	/* epilogue: frame size=0 */
 248 00b2 1F91      		pop r17
 249 00b4 0895      		ret
 250               	/* epilogue end (size=2) */
 251               	/* function SENDCOMA size 13 (10) */
 252               	.LFE9:
 254               	.global	SENDCOMB
 256               	SENDCOMB:
 257               	.LFB10:
 258               	.LM40:
 259               	/* prologue: frame size=0 */
 260 00b6 1F93      		push r17
 261               	/* prologue end (size=1) */
 262 00b8 182F      		mov r17,r24
 263               	.LM41:
 264 00ba 0E94 0000 		call Start_spi
 265               	.LM42:
 266 00be 63E0      		ldi r22,lo8(3)
 267 00c0 80EA      		ldi r24,lo8(-96)
 268 00c2 0E94 0000 		call SendBit
 269               	.LM43:
 270 00c6 66E0      		ldi r22,lo8(6)
 271 00c8 812F      		mov r24,r17
 272 00ca 0E94 0000 		call SendBit
 273               	/* epilogue: frame size=0 */
 274 00ce 1F91      		pop r17
 275 00d0 0895      		ret
 276               	/* epilogue end (size=2) */
 277               	/* function SENDCOMB size 14 (11) */
 278               	.LFE10:
 280               	.global	disp_init
 282               	disp_init:
 283               	.LFB11:
 284               	.LM44:
 285               	/* prologue: frame size=1 */
 286 00d2 CF93      		push r28
 287 00d4 DF93      		push r29
 288 00d6 CDB7      		in r28,__SP_L__
 289 00d8 DEB7      		in r29,__SP_H__
 290 00da 2197      		sbiw r28,1
 291 00dc 0FB6      		in __tmp_reg__,__SREG__
 292 00de F894      		cli
 293 00e0 DEBF      		out __SP_H__,r29
 294 00e2 0FBE      		out __SREG__,__tmp_reg__
 295 00e4 CDBF      		out __SP_L__,r28
 296               	/* prologue end (size=10) */
 297               	.LM45:
 298 00e6 8AE0      		ldi r24,lo8(10)
 299 00e8 0E94 0000 		call SENDCOMA
 300               	.LM46:
 301 00ec 82E5      		ldi r24,lo8(82)
 302 00ee 0E94 0000 		call SENDCOMA
 303               	.LM47:
 304 00f2 80E3      		ldi r24,lo8(48)
 305 00f4 0E94 0000 		call SENDCOMA
 306               	.LM48:
 307 00f8 82E0      		ldi r24,lo8(2)
 308 00fa 0E94 0000 		call SENDCOMA
 309               	.LM49:
 310 00fe 86E0      		ldi r24,lo8(6)
 311 0100 0E94 0000 		call SENDCOMA
 312               	.LM50:
 313 0104 88E0      		ldi r24,lo8(8)
 314 0106 0E94 0000 		call SENDCOMA
 315               	.LM51:
 316 010a 80E0      		ldi r24,lo8(0)
 317 010c 0E94 0000 		call SENDCOMB
 318               	.LM52:
 319 0110 1982      		std Y+1,__zero_reg__
 320 0112 8981      		ldd r24,Y+1
 321 0114 8F30      		cpi r24,lo8(15)
 322 0116 48F4      		brsh .L31
 323               	.L29:
 324               	.LM53:
 325 0118 80E0      		ldi r24,lo8(0)
 326 011a 0E94 0000 		call SendByte
 327               	.LM54:
 328 011e 8981      		ldd r24,Y+1
 329 0120 8F5F      		subi r24,lo8(-(1))
 330 0122 8983      		std Y+1,r24
 331 0124 8981      		ldd r24,Y+1

⌨️ 快捷键说明

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