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

📄 3310lcd_main.lst

📁 编译器用的GCC
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"3310LCD_main.c"
   2               		.arch atmega128
   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	LCD_write_byte
  20               	LCD_write_byte:
  21               	.LFB10:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26               	.LM2:
  27 0000 C498      		cbi 56-0x20,4
  28               	.LM3:
  29 0002 6623      		tst r22
  30 0004 01F4      		brne .L2
  31               	.LM4:
  32 0006 C398      		cbi 56-0x20,3
  33 0008 00C0      		rjmp .L4
  34               	.L2:
  35               	.LM5:
  36 000a C39A      		sbi 56-0x20,3
  37               	.L4:
  38               	.LM6:
  39 000c 8FB9      		out 47-0x20,r24
  40               	.L5:
  41               	.LM7:
  42 000e 779B      		sbis 46-0x20,7
  43 0010 00C0      		rjmp .L5
  44               	.LM8:
  45 0012 C49A      		sbi 56-0x20,4
  46               	/* epilogue: frame size=0 */
  47 0014 0895      		ret
  48               	/* epilogue end (size=1) */
  49               	/* function LCD_write_byte size 11 (10) */
  50               	.LFE10:
  52               	.global	LCD_write_char
  54               	LCD_write_char:
  55               	.LFB5:
  56               	.LM9:
  57               	/* prologue: frame size=0 */
  58 0016 1F93      		push r17
  59 0018 CF93      		push r28
  60 001a DF93      		push r29
  61               	/* prologue end (size=3) */
  62               	.LVL1:
  63 001c 8052      		subi r24,lo8(-(-32))
  64               	.LVL2:
  65 001e 96E0      		ldi r25,lo8(6)
  66 0020 899F      		mul r24,r25
  67 0022 E001      		movw r28,r0
  68 0024 1124      		clr r1
  69 0026 C050      		subi r28,lo8(-(font6x8))
  70 0028 D040      		sbci r29,hi8(-(font6x8))
  71 002a 10E0      		ldi r17,lo8(0)
  72               	.LVL3:
  73               	.L11:
  74               	.LM10:
  75 002c 61E0      		ldi r22,lo8(1)
  76 002e 8991      		ld r24,Y+
  77 0030 0E94 0000 		call LCD_write_byte
  78               	.LM11:
  79 0034 1F5F      		subi r17,lo8(-(1))
  80 0036 1630      		cpi r17,lo8(6)
  81 0038 01F4      		brne .L11
  82               	/* epilogue: frame size=0 */
  83 003a DF91      		pop r29
  84 003c CF91      		pop r28
  85 003e 1F91      		pop r17
  86 0040 0895      		ret
  87               	/* epilogue end (size=4) */
  88               	/* function LCD_write_char size 22 (15) */
  89               	.LFE5:
  91               	.global	LCD_set_XY
  93               	LCD_set_XY:
  94               	.LFB4:
  95               	.LM12:
  96               	/* prologue: frame size=0 */
  97 0042 1F93      		push r17
  98               	/* prologue end (size=1) */
  99               	.LVL4:
 100 0044 182F      		mov r17,r24
 101 0046 862F      		mov r24,r22
 102               	.LVL5:
 103               	.LM13:
 104 0048 60E0      		ldi r22,lo8(0)
 105               	.LVL6:
 106 004a 8064      		ori r24,lo8(64)
 107               	.LVL7:
 108 004c 0E94 0000 		call LCD_write_byte
 109               	.LM14:
 110 0050 60E0      		ldi r22,lo8(0)
 111 0052 812F      		mov r24,r17
 112 0054 8068      		ori r24,lo8(-128)
 113 0056 0E94 0000 		call LCD_write_byte
 114               	/* epilogue: frame size=0 */
 115 005a 1F91      		pop r17
 116 005c 0895      		ret
 117               	/* epilogue end (size=2) */
 118               	/* function LCD_set_XY size 14 (11) */
 119               	.LFE4:
 121               	.global	LCD_draw_bmp_pixel
 123               	LCD_draw_bmp_pixel:
 124               	.LFB9:
 125               	.LM15:
 126               	/* prologue: frame size=0 */
 127 005e 8F92      		push r8
 128 0060 9F92      		push r9
 129 0062 AF92      		push r10
 130 0064 BF92      		push r11
 131 0066 CF92      		push r12
 132 0068 DF92      		push r13
 133 006a EF92      		push r14
 134 006c FF92      		push r15
 135 006e 0F93      		push r16
 136 0070 1F93      		push r17
 137 0072 CF93      		push r28
 138 0074 DF93      		push r29
 139               	/* prologue end (size=12) */
 140               	.LVL8:
 141 0076 882E      		mov r8,r24
 142 0078 B62E      		mov r11,r22
 143               	.LM16:
 144 007a 802F      		mov r24,r16
 145 007c 9927      		clr r25
 146               	.LVL9:
 147 007e 8770      		andi r24,lo8(7)
 148 0080 9070      		andi r25,hi8(7)
 149 0082 0695      		lsr r16
 150 0084 0695      		lsr r16
 151 0086 0695      		lsr r16
 152               	.LVL10:
 153 0088 892B      		or r24,r25
 154 008a 01F4      		brne .L19
 155               	.LVL11:
 156               	.LM17:
 157 008c 902E      		mov r9,r16
 158               	.LVL12:
 159 008e 00C0      		rjmp .L21
 160               	.LVL13:
 161               	.L19:
 162               	.LM18:
 163 0090 902E      		mov r9,r16
 164               	.LVL14:
 165 0092 9394      		inc r9
 166               	.L21:
 167               	.LM19:
 168 0094 C22E      		mov r12,r18
 169 0096 DD24      		clr r13
 170 0098 8A01      		movw r16,r20
 171 009a AA24      		clr r10
 172 009c 00C0      		rjmp .L22
 173               	.LVL15:
 174               	.L23:
 175               	.LM20:
 176 009e 6B2D      		mov r22,r11
 177 00a0 882D      		mov r24,r8
 178               	.LVL16:
 179 00a2 0E94 0000 		call LCD_set_XY
 180               	.LVL17:
 181 00a6 7801      		movw r14,r16
 182 00a8 C0E0      		ldi r28,lo8(0)
 183 00aa D0E0      		ldi r29,hi8(0)
 184 00ac 00C0      		rjmp .L24
 185               	.L25:
 186               	.LM21:
 187 00ae 61E0      		ldi r22,lo8(1)
 188 00b0 F701      		movw r30,r14
 189 00b2 8191      		ld r24,Z+
 190 00b4 7F01      		movw r14,r30
 191 00b6 0E94 0000 		call LCD_write_byte
 192               	.LM22:
 193 00ba 2196      		adiw r28,1
 194               	.L24:
 195 00bc CC15      		cp r28,r12
 196 00be DD05      		cpc r29,r13
 197 00c0 01F4      		brne .L25
 198               	.LM23:
 199 00c2 B394      		inc r11
 200 00c4 A394      		inc r10
 201 00c6 0C0D      		add r16,r12
 202 00c8 1D1D      		adc r17,r13
 203               	.LVL18:
 204               	.L22:
 205               	.LM24:
 206 00ca A914      		cp r10,r9
 207 00cc 01F4      		brne .L23
 208               	/* epilogue: frame size=0 */
 209 00ce DF91      		pop r29
 210 00d0 CF91      		pop r28
 211 00d2 1F91      		pop r17
 212 00d4 0F91      		pop r16
 213 00d6 FF90      		pop r15
 214 00d8 EF90      		pop r14
 215 00da DF90      		pop r13
 216 00dc CF90      		pop r12
 217 00de BF90      		pop r11
 218 00e0 AF90      		pop r10
 219 00e2 9F90      		pop r9
 220 00e4 8F90      		pop r8
 221 00e6 0895      		ret
 222               	/* epilogue end (size=13) */
 223               	/* function LCD_draw_bmp_pixel size 69 (44) */
 224               	.LFE9:
 226               	.global	LCD_write_chinese_string
 228               	LCD_write_chinese_string:
 229               	.LFB7:
 230               	.LM25:
 231               	/* prologue: frame size=4 */
 232 00e8 2F92      		push r2
 233 00ea 3F92      		push r3
 234 00ec 4F92      		push r4
 235 00ee 5F92      		push r5
 236 00f0 6F92      		push r6
 237 00f2 7F92      		push r7
 238 00f4 8F92      		push r8
 239 00f6 9F92      		push r9
 240 00f8 AF92      		push r10
 241 00fa BF92      		push r11
 242 00fc CF92      		push r12
 243 00fe DF92      		push r13
 244 0100 EF92      		push r14
 245 0102 FF92      		push r15
 246 0104 0F93      		push r16
 247 0106 1F93      		push r17
 248 0108 CF93      		push r28
 249 010a DF93      		push r29
 250 010c CDB7      		in r28,__SP_L__
 251 010e DEB7      		in r29,__SP_H__
 252 0110 2497      		sbiw r28,4
 253 0112 0FB6      		in __tmp_reg__,__SREG__
 254 0114 F894      		cli
 255 0116 DEBF      		out __SP_H__,r29
 256 0118 0FBE      		out __SREG__,__tmp_reg__
 257 011a CDBF      		out __SP_L__,r28
 258               	/* prologue end (size=26) */
 259               	.LVL19:
 260 011c D82E      		mov r13,r24
 261 011e 962E      		mov r9,r22
 262 0120 342E      		mov r3,r20
 263 0122 2983      		std Y+1,r18
 264 0124 0A83      		std Y+2,r16
 265 0126 2E2C      		mov r2,r14
 266               	.LM26:
 267 0128 0E94 0000 		call LCD_set_XY
 268               	.LVL20:
 269               	.LM27:
 270 012c 632C      		mov r6,r3
 271 012e 7724      		clr r7
 272 0130 2301      		movw r4,r6
 273 0132 440C      		lsl r4
 274 0134 551C      		rol r5
 275 0136 CC24      		clr r12
 276               	.LVL21:
 277 0138 00C0      		rjmp .L30
 278               	.LVL22:
 279               	.L31:
 280               	.LM28:
 281 013a 8315      		cp r24,r3
 282 013c 01F4      		brne .L32
 283 013e 692D      		mov r22,r9
 284 0140 6F5F      		subi r22,lo8(-(1))
 285               	.LM29:
 286 0142 CC20      		tst r12
 287 0144 01F4      		brne .L34
 288 0146 8D2D      		mov r24,r13
 289               	.LVL23:
 290 0148 00C0      		rjmp .L41
 291               	.LVL24:
 292               	.L34:
 293               	.LM30:
 294 014a 882D      		mov r24,r8
 295               	.LVL25:
 296               	.L41:
 297 014c 0E94 0000 		call LCD_set_XY
 298               	.LVL26:
 299               	.L32:
 300               	.LM31:
 301 0150 9701      		movw r18,r14
 302 0152 8A81      		ldd r24,Y+2
 303               	.LVL27:
 304 0154 280F      		add r18,r24
 305 0156 311D      		adc r19,__zero_reg__
 306 0158 88E1      		ldi r24,lo8(24)
 307 015a 90E0      		ldi r25,hi8(24)
 308 015c 289F      		mul r18,r24
 309 015e F001      		movw r30,r0
 310 0160 299F      		mul r18,r25
 311 0162 F00D      		add r31,r0
 312 0164 389F      		mul r19,r24
 313 0166 F00D      		add r31,r0
 314 0168 1124      		clr r1
 315 016a E050      		subi r30,lo8(-(write_chinese_string))
 316 016c F040      		sbci r31,hi8(-(write_chinese_string))
 317 016e E00F      		add r30,r16
 318 0170 F11F      		adc r31,r17
 319 0172 61E0      		ldi r22,lo8(1)
 320 0174 8081      		ld r24,Z
 321 0176 0E94 0000 		call LCD_write_byte
 322 017a EB81      		ldd r30,Y+3
 323 017c FC81      		ldd r31,Y+4
 324 017e 3196      		adiw r30,1
 325 0180 FC83      		std Y+4,r31
 326 0182 EB83      		std Y+3,r30
 327               	.LVL28:
 328               	.L36:
 329 0184 8B81      		ldd r24,Y+3
 330               	.LVL29:
 331               	.LM32:
 332 0186 082F      		mov r16,r24
 333 0188 1127      		clr r17
 334 018a 0415      		cp r16,r4
 335 018c 1505      		cpc r17,r5
 336 018e 04F0      		brlt .L31
 337               	.LM33:
 338 0190 C394      		inc r12
 339               	.LM34:
 340 0192 CA9C      		mul r12,r10
 341 0194 802D      		mov r24,r0
 342 0196 1124      		clr r1
 343               	.LVL30:
 344 0198 692D      		mov r22,r9
 345 019a 8D0D      		add r24,r13
 346 019c 0E94 0000 		call LCD_set_XY
 347               	.LVL31:
 348               	.L30:
 349               	.LM35:
 350 01a0 F981      		ldd r31,Y+1
 351 01a2 CF16      		cp r12,r31
 352 01a4 01F0      		breq .L40
 353               	.LM36:
 354 01a6 5301      		movw r10,r6
 355 01a8 A20C      		add r10,r2
 356 01aa B11C      		adc r11,__zero_reg__
 357 01ac EC2C      		mov r14,r12
 358 01ae FF24      		clr r15
 359 01b0 AE9C      		mul r10,r14
 360 01b2 C001      		movw r24,r0
 361 01b4 AF9C      		mul r10,r15
 362 01b6 900D      		add r25,r0
 363 01b8 BE9C      		mul r11,r14
 364 01ba 900D      		add r25,r0
 365 01bc 1124      		clr r1
 366 01be 8D2C      		mov r8,r13
 367 01c0 880E      		add r8,r24
 368 01c2 1C82      		std Y+4,__zero_reg__
 369 01c4 1B82      		std Y+3,__zero_reg__
 370 01c6 00C0      		rjmp .L36
 371               	.LVL32:
 372               	.L40:
 373               	/* epilogue: frame size=4 */
 374 01c8 2496      		adiw r28,4
 375 01ca 0FB6      		in __tmp_reg__,__SREG__
 376 01cc F894      		cli
 377 01ce DEBF      		out __SP_H__,r29
 378 01d0 0FBE      		out __SREG__,__tmp_reg__
 379 01d2 CDBF      		out __SP_L__,r28
 380 01d4 DF91      		pop r29
 381 01d6 CF91      		pop r28
 382 01d8 1F91      		pop r17
 383 01da 0F91      		pop r16
 384 01dc FF90      		pop r15
 385 01de EF90      		pop r14
 386 01e0 DF90      		pop r13

⌨️ 快捷键说明

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