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

📄 gui.lst

📁 240*320 TFT屏用M16读取SD卡内BMP格式图片.和汉字显示程序(字库也是存在SD卡里
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"gui.c"
   2               	__SREG__ = 0x3f
   3               	__SP_H__ = 0x3e
   4               	__SP_L__ = 0x3d
   5               	__CCP__  = 0x34
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  17               	.Ltext0:
  18               	.global	GUI_DisPicture
  20               	GUI_DisPicture:
  21               	.LFB13:
  22               	.LM1:
  23               	.LVL0:
  24 0000 8F92      		push r8
  25 0002 9F92      		push r9
  26 0004 AF92      		push r10
  27 0006 BF92      		push r11
  28 0008 CF92      		push r12
  29 000a DF92      		push r13
  30 000c EF92      		push r14
  31 000e FF92      		push r15
  32 0010 0F93      		push r16
  33               	.LVL1:
  34 0012 1F93      		push r17
  35 0014 CF93      		push r28
  36 0016 DF93      		push r29
  37               	/* prologue: function */
  38               	/* frame size = 0 */
  39 0018 E82E      		mov r14,r24
  40 001a 6B01      		movw r12,r22
  41 001c A42E      		mov r10,r20
  42 001e 4901      		movw r8,r18
  43               	.LM2:
  44 0020 482F      		mov r20,r24
  45               	.LVL2:
  46 0022 50E0      		ldi r21,lo8(0)
  47 0024 62E0      		ldi r22,lo8(2)
  48               	.LVL3:
  49 0026 80E0      		ldi r24,lo8(0)
  50               	.LVL4:
  51 0028 0E94 0000 		call LCD_WriteCommand
  52               	.LVL5:
  53               	.LM3:
  54 002c A601      		movw r20,r12
  55 002e 63E0      		ldi r22,lo8(3)
  56 0030 81E0      		ldi r24,lo8(1)
  57 0032 0E94 0000 		call LCD_WriteCommand
  58               	.LM4:
  59 0036 FF24      		clr r15
  60               	.LVL6:
  61 0038 0894      		sec
  62 003a E108      		sbc r14,__zero_reg__
  63 003c F108      		sbc r15,__zero_reg__
  64               	.LVL7:
  65 003e BB24      		clr r11
  66               	.LVL8:
  67 0040 EA0C      		add r14,r10
  68 0042 FB1C      		adc r15,r11
  69               	.LVL9:
  70 0044 A701      		movw r20,r14
  71 0046 64E0      		ldi r22,lo8(4)
  72 0048 80E0      		ldi r24,lo8(0)
  73 004a 0E94 0000 		call LCD_WriteCommand
  74               	.LM5:
  75 004e 0894      		sec
  76 0050 C108      		sbc r12,__zero_reg__
  77 0052 D108      		sbc r13,__zero_reg__
  78 0054 C80C      		add r12,r8
  79 0056 D91C      		adc r13,r9
  80 0058 A601      		movw r20,r12
  81 005a 65E0      		ldi r22,lo8(5)
  82 005c 81E0      		ldi r24,lo8(1)
  83 005e 0E94 0000 		call LCD_WriteCommand
  84               	.LM6:
  85 0062 8A9C      		mul r8,r10
  86 0064 6001      		movw r12,r0
  87 0066 8B9C      		mul r8,r11
  88 0068 D00C      		add r13,r0
  89 006a 9A9C      		mul r9,r10
  90 006c D00C      		add r13,r0
  91 006e 1124      		clr r1
  92               	.LVL10:
  93 0070 CC0C      		lsl r12
  94 0072 DD1C      		rol r13
  95               	.LM7:
  96 0074 8EE0      		ldi r24,lo8(14)
  97 0076 0E94 0000 		call LCD_WriteRegister
  98 007a E801      		movw r28,r16
  99 007c EE24      		clr r14
 100 007e FF24      		clr r15
 101               	.LVL11:
 102               	.L2:
 103               	.LM8:
 104 0080 1981      		ldd r17,Y+1
 105 0082 00E0      		ldi r16,lo8(0)
 106 0084 8881      		ld r24,Y
 107 0086 90E0      		ldi r25,lo8(0)
 108 0088 802B      		or r24,r16
 109 008a 912B      		or r25,r17
 110 008c 0E94 0000 		call LCD_WriteData
 111               	.LM9:
 112 0090 82E0      		ldi r24,lo8(2)
 113 0092 90E0      		ldi r25,hi8(2)
 114 0094 E80E      		add r14,r24
 115 0096 F91E      		adc r15,r25
 116 0098 2296      		adiw r28,2
 117               	.LM10:
 118 009a EC14      		cp r14,r12
 119 009c FD04      		cpc r15,r13
 120 009e 00F0      		brlo .L2
 121               	/* epilogue start */
 122               	.LM11:
 123 00a0 DF91      		pop r29
 124 00a2 CF91      		pop r28
 125 00a4 1F91      		pop r17
 126 00a6 0F91      		pop r16
 127 00a8 FF90      		pop r15
 128               	.LVL12:
 129 00aa EF90      		pop r14
 130               	.LVL13:
 131 00ac DF90      		pop r13
 132 00ae CF90      		pop r12
 133               	.LVL14:
 134 00b0 BF90      		pop r11
 135               	.LVL15:
 136 00b2 AF90      		pop r10
 137               	.LVL16:
 138 00b4 9F90      		pop r9
 139 00b6 8F90      		pop r8
 140               	.LVL17:
 141 00b8 0895      		ret
 142               	.LFE13:
 144               	.global	GUI_RLine
 146               	GUI_RLine:
 147               	.LFB12:
 148               	.LM12:
 149               	.LVL18:
 150 00ba CF92      		push r12
 151 00bc DF92      		push r13
 152 00be FF92      		push r15
 153 00c0 0F93      		push r16
 154 00c2 1F93      		push r17
 155 00c4 CF93      		push r28
 156 00c6 DF93      		push r29
 157               	/* prologue: function */
 158               	/* frame size = 0 */
 159 00c8 F82E      		mov r15,r24
 160 00ca 8B01      		movw r16,r22
 161 00cc EA01      		movw r28,r20
 162 00ce 6901      		movw r12,r18
 163               	.LM13:
 164 00d0 482F      		mov r20,r24
 165               	.LVL19:
 166 00d2 50E0      		ldi r21,lo8(0)
 167 00d4 62E0      		ldi r22,lo8(2)
 168               	.LVL20:
 169 00d6 80E0      		ldi r24,lo8(0)
 170               	.LVL21:
 171 00d8 0E94 0000 		call LCD_WriteCommand
 172               	.LVL22:
 173               	.LM14:
 174 00dc A801      		movw r20,r16
 175 00de 63E0      		ldi r22,lo8(3)
 176 00e0 81E0      		ldi r24,lo8(1)
 177 00e2 0E94 0000 		call LCD_WriteCommand
 178               	.LM15:
 179 00e6 4F2D      		mov r20,r15
 180 00e8 50E0      		ldi r21,lo8(0)
 181 00ea 64E0      		ldi r22,lo8(4)
 182 00ec 80E0      		ldi r24,lo8(0)
 183 00ee 0E94 0000 		call LCD_WriteCommand
 184               	.LM16:
 185 00f2 0150      		subi r16,lo8(-(-1))
 186 00f4 1040      		sbci r17,hi8(-(-1))
 187 00f6 0C0F      		add r16,r28
 188 00f8 1D1F      		adc r17,r29
 189 00fa A801      		movw r20,r16
 190 00fc 65E0      		ldi r22,lo8(5)
 191 00fe 81E0      		ldi r24,lo8(1)
 192 0100 0E94 0000 		call LCD_WriteCommand
 193               	.LM17:
 194 0104 8EE0      		ldi r24,lo8(14)
 195 0106 0E94 0000 		call LCD_WriteRegister
 196               	.L6:
 197               	.LM18:
 198 010a C601      		movw r24,r12
 199 010c 0E94 0000 		call LCD_WriteData
 200               	.LM19:
 201 0110 2197      		sbiw r28,1
 202               	.LM20:
 203 0112 01F4      		brne .L6
 204               	/* epilogue start */
 205               	.LM21:
 206 0114 DF91      		pop r29
 207 0116 CF91      		pop r28
 208               	.LVL23:
 209 0118 1F91      		pop r17
 210 011a 0F91      		pop r16
 211               	.LVL24:
 212 011c FF90      		pop r15
 213               	.LVL25:
 214 011e DF90      		pop r13
 215 0120 CF90      		pop r12
 216               	.LVL26:
 217 0122 0895      		ret
 218               	.LFE12:
 220               	.global	GUI_HLine
 222               	GUI_HLine:
 223               	.LFB11:
 224               	.LM22:
 225               	.LVL27:
 226 0124 DF92      		push r13
 227 0126 EF92      		push r14
 228 0128 FF92      		push r15
 229 012a 0F93      		push r16
 230 012c 1F93      		push r17
 231 012e CF93      		push r28
 232 0130 DF93      		push r29
 233               	/* prologue: function */
 234               	/* frame size = 0 */
 235 0132 082F      		mov r16,r24
 236 0134 7B01      		movw r14,r22
 237 0136 D42E      		mov r13,r20
 238 0138 E901      		movw r28,r18
 239               	.LM23:
 240 013a 482F      		mov r20,r24
 241               	.LVL28:
 242 013c 50E0      		ldi r21,lo8(0)
 243 013e 62E0      		ldi r22,lo8(2)
 244               	.LVL29:
 245 0140 80E0      		ldi r24,lo8(0)
 246               	.LVL30:
 247 0142 0E94 0000 		call LCD_WriteCommand
 248               	.LVL31:
 249               	.LM24:
 250 0146 A701      		movw r20,r14
 251 0148 63E0      		ldi r22,lo8(3)
 252 014a 81E0      		ldi r24,lo8(1)
 253 014c 0E94 0000 		call LCD_WriteCommand
 254               	.LM25:
 255 0150 10E0      		ldi r17,lo8(0)
 256               	.LVL32:
 257 0152 0150      		subi r16,lo8(-(-1))
 258 0154 1040      		sbci r17,hi8(-(-1))
 259               	.LVL33:
 260 0156 0D0D      		add r16,r13
 261 0158 111D      		adc r17,__zero_reg__
 262               	.LVL34:
 263 015a A801      		movw r20,r16
 264 015c 64E0      		ldi r22,lo8(4)
 265 015e 80E0      		ldi r24,lo8(0)
 266 0160 0E94 0000 		call LCD_WriteCommand
 267               	.LM26:
 268 0164 A701      		movw r20,r14
 269 0166 65E0      		ldi r22,lo8(5)
 270 0168 81E0      		ldi r24,lo8(1)
 271 016a 0E94 0000 		call LCD_WriteCommand
 272               	.LM27:
 273 016e 8EE0      		ldi r24,lo8(14)
 274 0170 0E94 0000 		call LCD_WriteRegister
 275               	.L10:
 276               	.LM28:
 277 0174 CE01      		movw r24,r28
 278 0176 0E94 0000 		call LCD_WriteData
 279               	.LM29:
 280 017a DA94      		dec r13
 281               	.LM30:
 282 017c 01F4      		brne .L10
 283               	/* epilogue start */
 284               	.LM31:
 285 017e DF91      		pop r29
 286 0180 CF91      		pop r28
 287               	.LVL35:
 288 0182 1F91      		pop r17
 289               	.LVL36:
 290 0184 0F91      		pop r16
 291               	.LVL37:
 292 0186 FF90      		pop r15
 293 0188 EF90      		pop r14
 294               	.LVL38:
 295 018a DF90      		pop r13
 296               	.LVL39:
 297 018c 0895      		ret
 298               	.LFE11:
 300               	.global	GUI_Point
 302               	GUI_Point:
 303               	.LFB7:
 304               	.LM32:
 305               	.LVL40:
 306 018e CF92      		push r12
 307 0190 DF92      		push r13
 308 0192 EF92      		push r14
 309 0194 FF92      		push r15
 310 0196 1F93      		push r17
 311               	/* prologue: function */
 312               	/* frame size = 0 */
 313 0198 182F      		mov r17,r24
 314 019a 7B01      		movw r14,r22
 315 019c 6A01      		movw r12,r20
 316               	.LM33:
 317 019e 482F      		mov r20,r24
 318               	.LVL41:
 319 01a0 50E0      		ldi r21,lo8(0)
 320 01a2 62E0      		ldi r22,lo8(2)
 321               	.LVL42:
 322 01a4 80E0      		ldi r24,lo8(0)
 323               	.LVL43:
 324 01a6 0E94 0000 		call LCD_WriteCommand
 325               	.LM34:
 326 01aa A701      		movw r20,r14
 327 01ac 63E0      		ldi r22,lo8(3)
 328 01ae 81E0      		ldi r24,lo8(1)
 329 01b0 0E94 0000 		call LCD_WriteCommand
 330               	.LM35:
 331 01b4 412F      		mov r20,r17
 332 01b6 50E0      		ldi r21,lo8(0)
 333 01b8 64E0      		ldi r22,lo8(4)
 334 01ba 80E0      		ldi r24,lo8(0)
 335 01bc 0E94 0000 		call LCD_WriteCommand
 336               	.LM36:
 337 01c0 A701      		movw r20,r14
 338 01c2 65E0      		ldi r22,lo8(5)
 339 01c4 81E0      		ldi r24,lo8(1)
 340 01c6 0E94 0000 		call LCD_WriteCommand
 341               	.LM37:
 342 01ca 8EE0      		ldi r24,lo8(14)
 343 01cc 0E94 0000 		call LCD_WriteRegister
 344               	.LM38:
 345 01d0 C601      		movw r24,r12
 346 01d2 0E94 0000 		call LCD_WriteData
 347               	/* epilogue start */
 348               	.LM39:
 349 01d6 1F91      		pop r17
 350               	.LVL44:
 351 01d8 FF90      		pop r15
 352 01da EF90      		pop r14
 353               	.LVL45:
 354 01dc DF90      		pop r13
 355 01de CF90      		pop r12
 356               	.LVL46:
 357 01e0 0895      		ret
 358               	.LFE7:
 360               	.global	GUI_line
 362               	GUI_line:
 363               	.LFB14:
 364               	.LM40:
 365               	.LVL47:
 366 01e2 2F92      		push r2
 367 01e4 3F92      		push r3
 368 01e6 4F92      		push r4
 369 01e8 5F92      		push r5
 370 01ea 6F92      		push r6
 371 01ec 7F92      		push r7
 372 01ee 8F92      		push r8
 373 01f0 9F92      		push r9
 374 01f2 AF92      		push r10
 375 01f4 BF92      		push r11
 376 01f6 CF92      		push r12
 377 01f8 DF92      		push r13
 378 01fa EF92      		push r14
 379 01fc FF92      		push r15
 380 01fe 0F93      		push r16
 381               	.LVL48:
 382 0200 1F93      		push r17
 383 0202 DF93      		push r29
 384 0204 CF93      		push r28
 385 0206 CDB7      		in r28,__SP_L__
 386 0208 DEB7      		in r29,__SP_H__
 387 020a 2897      		sbiw r28,8
 388 020c 0FB6      		in __tmp_reg__,__SREG__
 389 020e F894      		cli
 390 0210 DEBF      		out __SP_H__,r29
 391 0212 0FBE      		out __SREG__,__tmp_reg__
 392 0214 CDBF      		out __SP_L__,r28
 393               	/* prologue: function */
 394               	/* frame size = 8 */
 395 0216 7A01      		movw r14,r20
 396               	.LVL49:
 397 0218 1C83      		std Y+4,r17
 398 021a 0B83      		std Y+3,r16
 399               	.LVL50:
 400               	.LM41:
 401 021c E81A      		sub r14,r24
 402 021e F90A      		sbc r15,r25
 403               	.LM42:
 404 0220 261B      		sub r18,r22
 405 0222 370B      		sbc r19,r23
 406 0224 3887      		std Y+8,r19
 407 0226 2F83      		std Y+7,r18
 408               	.LVL51:
 409               	.LM43:
 410 0228 1E14      		cp __zero_reg__,r14
 411 022a 1F04      		cpc __zero_reg__,r15
 412 022c 04F4      		brge .L16
 413               	.LVL52:
 414 022e 21E0      		ldi r18,lo8(1)
 415 0230 30E0      		ldi r19,hi8(1)
 416               	.LVL53:
 417 0232 3A83      		std Y+2,r19
 418 0234 2983      		std Y+1,r18
 419               	.LVL54:
 420 0236 00C0      		rjmp .L17
 421               	.LVL55:
 422               	.L16:
 423               	.LM44:
 424 0238 E114      		cp r14,__zero_reg__
 425 023a F104      		cpc r15,__zero_reg__
 426 023c 01F4      		brne .L18
 427 023e 1A82      		std Y+2,__zero_reg__
 428 0240 1982      		std Y+1,__zero_reg__
 429               	.LVL56:
 430 0242 00C0      		rjmp .L17
 431               	.LVL57:
 432               	.L18:
 433               	.LM45:
 434 0244 F094      		com r15
 435 0246 E194      		neg r14
 436 0248 F108      		sbc r15,__zero_reg__
 437 024a F394      		inc r15
 438 024c EFEF      		ldi r30,lo8(-1)
 439 024e FFEF      		ldi r31,hi8(-1)
 440 0250 FA83      		std Y+2,r31
 441 0252 E983      		std Y+1,r30
 442               	.LVL58:
 443               	.L17:

⌨️ 快捷键说明

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