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

📄 splc501.lst

📁 SPLC501的AVR 驱动.驱动芯片采用AVR mega16或者mega32.5根线.SPI驱动.原创作品.
💻 LST
📖 第 1 页 / 共 4 页
字号:
   1               		.file	"SPLC501.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	SPLC501SPIWrite
  20               	SPLC501SPIWrite:
  21               	.LFB6:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26               	.LM2:
  27 0000 6623      		tst r22
  28 0002 01F0      		breq .L2
  29               	.LM3:
  30 0004 DA9A      		sbi 59-0x20,2
  31 0006 00C0      		rjmp .L4
  32               	.L2:
  33               	.LM4:
  34 0008 DA98      		cbi 59-0x20,2
  35               	.L4:
  36               	.LM5:
  37 000a DC98      		cbi 59-0x20,4
  38 000c 90E0      		ldi r25,lo8(0)
  39               	.LVL1:
  40               	.L5:
  41               	.LM6:
  42 000e D898      		cbi 59-0x20,0
  43               	.LM7:
  44 0010 87FD      		sbrc r24,7
  45 0012 00C0      		rjmp .L6
  46 0014 D998      		cbi 59-0x20,1
  47 0016 00C0      		rjmp .L8
  48               	.L6:
  49               	.LM8:
  50 0018 D99A      		sbi 59-0x20,1
  51               	.L8:
  52               	.LM9:
  53 001a D89A      		sbi 59-0x20,0
  54               	.LM10:
  55 001c 9F5F      		subi r25,lo8(-(1))
  56 001e 9830      		cpi r25,lo8(8)
  57 0020 01F0      		breq .L9
  58               	.LM11:
  59 0022 880F      		lsl r24
  60 0024 00C0      		rjmp .L5
  61               	.L9:
  62               	.LM12:
  63 0026 DC9A      		sbi 59-0x20,4
  64               	/* epilogue: frame size=0 */
  65 0028 0895      		ret
  66               	/* epilogue end (size=1) */
  67               	/* function SPLC501SPIWrite size 21 (20) */
  68               	.LFE6:
  70               	.global	SPLC501LineRun
  72               	SPLC501LineRun:
  73               	.LFB7:
  74               	.LM13:
  75               	/* prologue: frame size=0 */
  76               	/* prologue end (size=0) */
  77               	.LVL2:
  78               	.LM14:
  79 002a 60E0      		ldi r22,lo8(0)
  80 002c 805C      		subi r24,lo8(-(64))
  81               	.LVL3:
  82 002e 0E94 0000 		call SPLC501SPIWrite
  83               	/* epilogue: frame size=0 */
  84 0032 0895      		ret
  85               	/* epilogue end (size=1) */
  86               	/* function SPLC501LineRun size 5 (4) */
  87               	.LFE7:
  89               	.global	LCD_Init
  91               	LCD_Init:
  92               	.LFB8:
  93               	.LM15:
  94               	/* prologue: frame size=0 */
  95               	/* prologue end (size=0) */
  96               	.LM16:
  97 0034 DB98      		cbi 59-0x20,3
  98               	.LBB12:
  99               	.LBB13:
 100               	.LBB14:
 101               	.LBB15:
 102               	.LM17:
 103 0036 80E0      		ldi r24,lo8(0)
 104 0038 982F      		mov r25,r24
 105               	.LVL4:
 106               	/* #APP */
 107 003a 9A95      		1: dec r25
 108 003c 01F4      		brne 1b
 109               	/* #NOAPP */
 110               	.LBE15:
 111               	.LBE14:
 112               	.LBE13:
 113               	.LBE12:
 114               	.LM18:
 115 003e DB9A      		sbi 59-0x20,3
 116               	.LBB16:
 117               	.LBB17:
 118               	.LBB18:
 119               	.LBB19:
 120               	.LM19:
 121               	/* #APP */
 122 0040 8A95      		1: dec r24
 123 0042 01F4      		brne 1b
 124               	.LVL5:
 125               	/* #NOAPP */
 126               	.LBE19:
 127               	.LBE18:
 128               	.LBE17:
 129               	.LBE16:
 130               	.LM20:
 131 0044 60E0      		ldi r22,lo8(0)
 132 0046 82EA      		ldi r24,lo8(-94)
 133               	.LVL6:
 134 0048 0E94 0000 		call SPLC501SPIWrite
 135               	.LVL7:
 136               	.LM21:
 137 004c 60E0      		ldi r22,lo8(0)
 138 004e 81EA      		ldi r24,lo8(-95)
 139 0050 0E94 0000 		call SPLC501SPIWrite
 140               	.LM22:
 141 0054 60E0      		ldi r22,lo8(0)
 142 0056 80EC      		ldi r24,lo8(-64)
 143 0058 0E94 0000 		call SPLC501SPIWrite
 144               	.LM23:
 145 005c 60E0      		ldi r22,lo8(0)
 146 005e 85E2      		ldi r24,lo8(37)
 147 0060 0E94 0000 		call SPLC501SPIWrite
 148               	.LM24:
 149 0064 60E0      		ldi r22,lo8(0)
 150 0066 81E8      		ldi r24,lo8(-127)
 151 0068 0E94 0000 		call SPLC501SPIWrite
 152               	.LM25:
 153 006c 60E0      		ldi r22,lo8(0)
 154 006e 80E1      		ldi r24,lo8(16)
 155 0070 0E94 0000 		call SPLC501SPIWrite
 156               	.LM26:
 157 0074 60E0      		ldi r22,lo8(0)
 158 0076 8FE2      		ldi r24,lo8(47)
 159 0078 0E94 0000 		call SPLC501SPIWrite
 160               	.LM27:
 161 007c 60E0      		ldi r22,lo8(0)
 162 007e 86EA      		ldi r24,lo8(-90)
 163 0080 0E94 0000 		call SPLC501SPIWrite
 164               	.LM28:
 165 0084 60E0      		ldi r22,lo8(0)
 166 0086 8FEA      		ldi r24,lo8(-81)
 167 0088 0E94 0000 		call SPLC501SPIWrite
 168               	/* epilogue: frame size=0 */
 169 008c 0895      		ret
 170               	/* epilogue end (size=1) */
 171               	/* function LCD_Init size 49 (48) */
 172               	.LFE8:
 174               	.global	Test
 176               	Test:
 177               	.LFB9:
 178               	.LM29:
 179               	/* prologue: frame size=0 */
 180 008e EF92      		push r14
 181 0090 FF92      		push r15
 182 0092 0F93      		push r16
 183 0094 1F93      		push r17
 184 0096 CF93      		push r28
 185 0098 DF93      		push r29
 186               	/* prologue end (size=6) */
 187               	.LVL8:
 188 009a E82E      		mov r14,r24
 189 009c F62E      		mov r15,r22
 190 009e 00EB      		ldi r16,lo8(176)
 191 00a0 10E0      		ldi r17,hi8(176)
 192               	.LVL9:
 193               	.LVL10:
 194               	.L17:
 195               	.LM30:
 196 00a2 802F      		mov r24,r16
 197               	.LM31:
 198 00a4 0F5F      		subi r16,lo8(-(1))
 199 00a6 1F4F      		sbci r17,hi8(-(1))
 200 00a8 60E0      		ldi r22,lo8(0)
 201 00aa 0E94 0000 		call SPLC501SPIWrite
 202               	.LM32:
 203 00ae 60E0      		ldi r22,lo8(0)
 204 00b0 80E1      		ldi r24,lo8(16)
 205 00b2 0E94 0000 		call SPLC501SPIWrite
 206               	.LM33:
 207 00b6 60E0      		ldi r22,lo8(0)
 208 00b8 84E0      		ldi r24,lo8(4)
 209 00ba 0E94 0000 		call SPLC501SPIWrite
 210 00be C0E0      		ldi r28,lo8(0)
 211 00c0 D0E0      		ldi r29,hi8(0)
 212               	.L18:
 213               	.LM34:
 214 00c2 61E0      		ldi r22,lo8(1)
 215 00c4 8E2D      		mov r24,r14
 216 00c6 0E94 0000 		call SPLC501SPIWrite
 217               	.LM35:
 218 00ca 61E0      		ldi r22,lo8(1)
 219 00cc 8F2D      		mov r24,r15
 220 00ce 0E94 0000 		call SPLC501SPIWrite
 221               	.LM36:
 222 00d2 2196      		adiw r28,1
 223 00d4 C034      		cpi r28,64
 224 00d6 D105      		cpc r29,__zero_reg__
 225 00d8 01F4      		brne .L18
 226               	.LM37:
 227 00da 083B      		cpi r16,184
 228 00dc 1105      		cpc r17,__zero_reg__
 229 00de 01F4      		brne .L17
 230               	/* epilogue: frame size=0 */
 231 00e0 DF91      		pop r29
 232 00e2 CF91      		pop r28
 233 00e4 1F91      		pop r17
 234 00e6 0F91      		pop r16
 235 00e8 FF90      		pop r15
 236 00ea EF90      		pop r14
 237 00ec 0895      		ret
 238               	/* epilogue end (size=7) */
 239               	/* function Test size 48 (35) */
 240               	.LFE9:
 242               	.global	DisplayWords
 244               	DisplayWords:
 245               	.LFB10:
 246               	.LM38:
 247               	/* prologue: frame size=0 */
 248 00ee AF92      		push r10
 249 00f0 BF92      		push r11
 250 00f2 CF92      		push r12
 251 00f4 DF92      		push r13
 252 00f6 EF92      		push r14
 253 00f8 FF92      		push r15
 254 00fa 0F93      		push r16
 255 00fc 1F93      		push r17
 256 00fe CF93      		push r28
 257 0100 DF93      		push r29
 258               	/* prologue end (size=10) */
 259               	.LVL11:
 260 0102 EC01      		movw r28,r24
 261 0104 B62E      		mov r11,r22
 262 0106 A42E      		mov r10,r20
 263 0108 C22E      		mov r12,r18
 264 010a D02E      		mov r13,r16
 265 010c E62E      		mov r14,r22
 266               	.LVL12:
 267 010e 00C0      		rjmp .L27
 268               	.LVL13:
 269               	.L28:
 270               	.LM39:
 271 0110 60E0      		ldi r22,lo8(0)
 272 0112 8E2D      		mov r24,r14
 273 0114 8055      		subi r24,lo8(-(-80))
 274 0116 0E94 0000 		call SPLC501SPIWrite
 275               	.LVL14:
 276               	.LM40:
 277 011a 8C2D      		mov r24,r12
 278 011c 8295      		swap r24
 279 011e 8F70      		andi r24,0x0f
 280 0120 60E0      		ldi r22,lo8(0)
 281 0122 8061      		ori r24,lo8(16)
 282 0124 0E94 0000 		call SPLC501SPIWrite
 283               	.LM41:
 284 0128 8C2D      		mov r24,r12
 285 012a 8F70      		andi r24,lo8(15)
 286 012c 60E0      		ldi r22,lo8(0)
 287 012e 8460      		ori r24,lo8(4)
 288 0130 0E94 0000 		call SPLC501SPIWrite
 289 0134 FE01      		movw r30,r28
 290               	.LVL15:
 291 0136 FF24      		clr r15
 292 0138 00C0      		rjmp .L29
 293               	.L30:
 294               	.LBB20:
 295               	.LM42:
 296 013a 8F01      		movw r16,r30
 297 013c 0F5F      		subi r16,lo8(-(1))
 298 013e 1F4F      		sbci r17,hi8(-(1))
 299               	/* #APP */
 300 0140 8491      		lpm r24, Z
 301               		
 302               	.LVL16:
 303               	/* #NOAPP */
 304               	.LBE20:
 305 0142 61E0      		ldi r22,lo8(1)
 306 0144 0E94 0000 		call SPLC501SPIWrite
 307               	.LVL17:
 308 0148 F394      		inc r15
 309 014a F801      		movw r30,r16
 310               	.LVL18:
 311               	.L29:
 312 014c FD14      		cp r15,r13
 313 014e 01F4      		brne .L30
 314 0150 CD0D      		add r28,r13
 315 0152 D11D      		adc r29,__zero_reg__
 316               	.LM43:
 317 0154 E394      		inc r14
 318               	.LVL19:
 319               	.L27:
 320 0156 2E2D      		mov r18,r14
 321 0158 3327      		clr r19
 322 015a 4A2D      		mov r20,r10
 323 015c 4B0D      		add r20,r11
 324 015e 512D      		mov r21,__zero_reg__
 325 0160 511D      		adc r21,__zero_reg__
 326 0162 2417      		cp r18,r20
 327 0164 3507      		cpc r19,r21
 328 0166 04F0      		brlt .L28
 329               	/* epilogue: frame size=0 */
 330 0168 DF91      		pop r29
 331 016a CF91      		pop r28
 332 016c 1F91      		pop r17
 333 016e 0F91      		pop r16
 334 0170 FF90      		pop r15
 335 0172 EF90      		pop r14
 336 0174 DF90      		pop r13
 337 0176 CF90      		pop r12
 338 0178 BF90      		pop r11
 339 017a AF90      		pop r10
 340 017c 0895      		ret
 341               	/* epilogue end (size=11) */
 342               	/* function DisplayWords size 75 (54) */
 343               	.LFE10:
 345               	.global	Timer2Init
 347               	Timer2Init:
 348               	.LFB11:
 349               	.LM44:
 350               	/* prologue: frame size=0 */
 351               	/* prologue end (size=0) */
 352               	.LM45:
 353 017e 14BC      		out 68-0x20,__zero_reg__
 354               	.LM46:
 355 0180 85E3      		ldi r24,lo8(53)
 356 0182 83BD      		out 67-0x20,r24
 357               	.LM47:
 358 0184 8EE0      		ldi r24,lo8(14)
 359 0186 85BD      		out 69-0x20,r24
 360               	.LM48:
 361 0188 89B7      		in r24,89-0x20
 362 018a 8068      		ori r24,lo8(-128)
 363 018c 89BF      		out 89-0x20,r24
 364               	/* epilogue: frame size=0 */
 365 018e 0895      		ret
 366               	/* epilogue end (size=1) */
 367               	/* function Timer2Init size 9 (8) */
 368               	.LFE11:
 370               	.global	__vector_3
 372               	__vector_3:

⌨️ 快捷键说明

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