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

📄 lcd-char.lst

📁 nokia5110.rar
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"lcd-char.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	LCD_write_byte
  20               	LCD_write_byte:
  21               	.LFB6:
  22               	.LM1:
  23               	.LVL0:
  24               	/* prologue: function */
  25               	/* frame size = 0 */
  26               	.LM2:
  27 0000 5D98      		cbi 43-32,5
  28               	.LM3:
  29 0002 6623      		tst r22
  30 0004 01F0      		breq .L2
  31               	.LM4:
  32 0006 5C9A      		sbi 43-32,4
  33 0008 00C0      		rjmp .L9
  34               	.L2:
  35               	.LM5:
  36 000a 5C98      		cbi 43-32,4
  37               	.L9:
  38 000c 90E0      		ldi r25,lo8(0)
  39               	.LVL1:
  40               	.L8:
  41               	.LM6:
  42 000e 87FF      		sbrs r24,7
  43 0010 00C0      		rjmp .L4
  44               	.LM7:
  45 0012 419A      		sbi 40-32,1
  46 0014 00C0      		rjmp .L5
  47               	.L4:
  48               	.LM8:
  49 0016 4198      		cbi 40-32,1
  50               	.L5:
  51               	.LM9:
  52 0018 4298      		cbi 40-32,2
  53               	.LM10:
  54 001a 429A      		sbi 40-32,2
  55               	.LM11:
  56 001c 4298      		cbi 40-32,2
  57               	.LM12:
  58 001e 9F5F      		subi r25,lo8(-(1))
  59 0020 9830      		cpi r25,lo8(8)
  60 0022 01F0      		breq .L7
  61               	.LM13:
  62 0024 880F      		lsl r24
  63               	.LVL2:
  64 0026 00C0      		rjmp .L8
  65               	.L7:
  66 0028 0895      		ret
  67               	.LFE6:
  69               	.global	LCD_init
  71               	LCD_init:
  72               	.LFB7:
  73               	.LM14:
  74               	/* prologue: function */
  75               	/* frame size = 0 */
  76               	.LM15:
  77 002a 5D9A      		sbi 43-32,5
  78               	.LM16:
  79 002c 5F9A      		sbi 43-32,7
  80               	.LBB40:
  81               	.LBB41:
  82               	.LBB42:
  83               	.LBB43:
  84               	.LBB44:
  85               	.LBB45:
  86               	.LM17:
  87 002e 88EC      		ldi r24,lo8(200)
  88 0030 90E0      		ldi r25,hi8(200)
  89 0032 FC01      		movw r30,r24
  90               	.LVL3:
  91               	/* #APP */
  92               	 ;  105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
  93 0034 3197      		1: sbiw r30,1
  94 0036 01F4      		brne 1b
  95               	 ;  0 "" 2
  96               	/* #NOAPP */
  97               	.LBE45:
  98               	.LBE44:
  99               	.LBE43:
 100               	.LBE42:
 101               	.LBE41:
 102               	.LBE40:
 103               	.LM18:
 104 0038 5F98      		cbi 43-32,7
 105               	.LBB46:
 106               	.LBB47:
 107               	.LBB48:
 108               	.LBB49:
 109               	.LM19:
 110 003a E0E2      		ldi r30,lo8(20000)
 111 003c FEE4      		ldi r31,hi8(20000)
 112               	.LVL4:
 113               	/* #APP */
 114               	 ;  105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
 115 003e 3197      		1: sbiw r30,1
 116 0040 01F4      		brne 1b
 117               	 ;  0 "" 2
 118               	/* #NOAPP */
 119               	.LBE49:
 120               	.LBE48:
 121               	.LBE47:
 122               	.LBE46:
 123               	.LM20:
 124 0042 5F9A      		sbi 43-32,7
 125               	.LBB50:
 126               	.LBB51:
 127               	.LBB52:
 128               	.LBB53:
 129               	.LBB54:
 130               	.LBB55:
 131               	.LM21:
 132               	/* #APP */
 133               	 ;  105 "d:/winavr/lib/gcc/../../avr/include/util/delay_basic.h" 1
 134 0044 0197      		1: sbiw r24,1
 135 0046 01F4      		brne 1b
 136               	 ;  0 "" 2
 137               	.LVL5:
 138               	/* #NOAPP */
 139               	.LBE55:
 140               	.LBE54:
 141               	.LBE53:
 142               	.LBE52:
 143               	.LBE51:
 144               	.LBE50:
 145               	.LM22:
 146 0048 81E2      		ldi r24,lo8(33)
 147               	.LVL6:
 148 004a 60E0      		ldi r22,lo8(0)
 149 004c 00D0      		rcall LCD_write_byte
 150               	.LVL7:
 151               	.LM23:
 152 004e 80ED      		ldi r24,lo8(-48)
 153 0050 60E0      		ldi r22,lo8(0)
 154 0052 00D0      		rcall LCD_write_byte
 155               	.LM24:
 156 0054 80E2      		ldi r24,lo8(32)
 157 0056 60E0      		ldi r22,lo8(0)
 158 0058 00D0      		rcall LCD_write_byte
 159               	.LM25:
 160 005a 8CE0      		ldi r24,lo8(12)
 161 005c 60E0      		ldi r22,lo8(0)
 162 005e 00D0      		rcall LCD_write_byte
 163               	.LM26:
 164 0060 5D9A      		sbi 43-32,5
 165               	/* epilogue start */
 166               	.LM27:
 167 0062 0895      		ret
 168               	.LFE7:
 170               	.global	LCD_set_XY
 172               	LCD_set_XY:
 173               	.LFB8:
 174               	.LM28:
 175               	.LVL8:
 176 0064 1F93      		push r17
 177               	/* prologue: function */
 178               	/* frame size = 0 */
 179 0066 182F      		mov r17,r24
 180 0068 862F      		mov r24,r22
 181               	.LVL9:
 182               	.LM29:
 183 006a 8064      		ori r24,lo8(64)
 184 006c 60E0      		ldi r22,lo8(0)
 185               	.LVL10:
 186 006e 00D0      		rcall LCD_write_byte
 187               	.LM30:
 188 0070 812F      		mov r24,r17
 189 0072 8068      		ori r24,lo8(-128)
 190 0074 60E0      		ldi r22,lo8(0)
 191 0076 00D0      		rcall LCD_write_byte
 192               	.LM31:
 193 0078 5D9A      		sbi 43-32,5
 194               	/* epilogue start */
 195               	.LM32:
 196 007a 1F91      		pop r17
 197               	.LVL11:
 198 007c 0895      		ret
 199               	.LFE8:
 201               	.global	LCD_clear
 203               	LCD_clear:
 204               	.LFB9:
 205               	.LM33:
 206 007e 0F93      		push r16
 207 0080 1F93      		push r17
 208               	/* prologue: function */
 209               	/* frame size = 0 */
 210               	.LM34:
 211 0082 80E0      		ldi r24,lo8(0)
 212 0084 60E0      		ldi r22,lo8(0)
 213 0086 00D0      		rcall LCD_set_XY
 214 0088 00E0      		ldi r16,lo8(0)
 215               	.LVL12:
 216 008a 00C0      		rjmp .L15
 217               	.LVL13:
 218               	.L16:
 219               	.LM35:
 220 008c 80E0      		ldi r24,lo8(0)
 221 008e 61E0      		ldi r22,lo8(1)
 222 0090 00D0      		rcall LCD_write_byte
 223               	.LM36:
 224 0092 1F5F      		subi r17,lo8(-(1))
 225 0094 1435      		cpi r17,lo8(84)
 226 0096 01F4      		brne .L16
 227               	.LM37:
 228 0098 0F5F      		subi r16,lo8(-(1))
 229 009a 0630      		cpi r16,lo8(6)
 230 009c 01F0      		breq .L17
 231               	.L15:
 232 009e 10E0      		ldi r17,lo8(0)
 233 00a0 00C0      		rjmp .L16
 234               	.L17:
 235               	.LM38:
 236 00a2 5D9A      		sbi 43-32,5
 237               	/* epilogue start */
 238               	.LM39:
 239 00a4 1F91      		pop r17
 240               	.LVL14:
 241 00a6 0F91      		pop r16
 242               	.LVL15:
 243 00a8 0895      		ret
 244               	.LFE9:
 246               	.global	LCD_write_char
 248               	LCD_write_char:
 249               	.LFB10:
 250               	.LM40:
 251               	.LVL16:
 252 00aa 0F93      		push r16
 253 00ac 1F93      		push r17
 254 00ae CF93      		push r28
 255 00b0 DF93      		push r29
 256               	/* prologue: function */
 257               	/* frame size = 0 */
 258               	.LBB56:
 259               	.LM41:
 260 00b2 8052      		subi r24,lo8(-(-32))
 261               	.LVL17:
 262 00b4 26E0      		ldi r18,lo8(6)
 263 00b6 829F      		mul r24,r18
 264 00b8 C001      		movw r24,r0
 265 00ba 1124      		clr r1
 266 00bc EC01      		movw r28,r24
 267 00be C050      		subi r28,lo8(-(font6x8))
 268 00c0 D040      		sbci r29,hi8(-(font6x8))
 269               	.LBE56:
 270               	.LM42:
 271 00c2 8C01      		movw r16,r24
 272 00c4 0A5F      		subi r16,lo8(-(6))
 273 00c6 1F4F      		sbci r17,hi8(-(6))
 274 00c8 0050      		subi r16,lo8(-(font6x8))
 275 00ca 1040      		sbci r17,hi8(-(font6x8))
 276               	.L21:
 277               	.LBB57:
 278               	.LM43:
 279 00cc FE01      		movw r30,r28
 280               	/* #APP */
 281               	 ;  454 "lcd-char.c" 1
 282 00ce 8491      		lpm r24, Z
 283               		
 284               	 ;  0 "" 2
 285               	.LVL18:
 286               	/* #NOAPP */
 287               	.LBE57:
 288 00d0 61E0      		ldi r22,lo8(1)
 289 00d2 00D0      		rcall LCD_write_byte
 290               	.LVL19:
 291 00d4 2196      		adiw r28,1
 292               	.LM44:
 293 00d6 C017      		cp r28,r16
 294 00d8 D107      		cpc r29,r17
 295 00da 01F4      		brne .L21
 296               	/* epilogue start */
 297               	.LM45:
 298 00dc DF91      		pop r29
 299 00de CF91      		pop r28
 300 00e0 1F91      		pop r17
 301 00e2 0F91      		pop r16
 302 00e4 0895      		ret
 303               	.LFE10:
 305               	.global	LCD_write_String
 307               	LCD_write_String:
 308               	.LFB11:
 309               	.LM46:
 310               	.LVL20:
 311 00e6 CF93      		push r28
 312 00e8 DF93      		push r29
 313               	/* prologue: function */
 314               	/* frame size = 0 */
 315 00ea EA01      		movw r28,r20
 316               	.LM47:
 317 00ec 00D0      		rcall LCD_set_XY
 318               	.LVL21:
 319 00ee 00C0      		rjmp .L25
 320               	.L26:
 321               	.LM48:
 322 00f0 00D0      		rcall LCD_write_char
 323               	.LM49:
 324 00f2 2196      		adiw r28,1
 325               	.L25:
 326               	.LM50:
 327 00f4 8881      		ld r24,Y
 328 00f6 8823      		tst r24
 329 00f8 01F4      		brne .L26
 330               	/* epilogue start */
 331               	.LM51:
 332 00fa DF91      		pop r29
 333 00fc CF91      		pop r28
 334               	.LVL22:
 335 00fe 0895      		ret
 336               	.LFE11:
 338               	.global	LCD_write_shu
 340               	LCD_write_shu:
 341               	.LFB12:
 342               	.LM52:
 343               	.LVL23:
 344 0100 CF92      		push r12
 345 0102 DF92      		push r13
 346 0104 EF92      		push r14
 347 0106 FF92      		push r15
 348 0108 0F93      		push r16
 349 010a 1F93      		push r17
 350 010c CF93      		push r28
 351 010e DF93      		push r29
 352               	/* prologue: function */
 353               	/* frame size = 0 */
 354 0110 D62E      		mov r13,r22
 355 0112 142F      		mov r17,r20
 356               	.LM53:
 357 0114 90E0      		ldi r25,lo8(0)
 358 0116 23E0      		ldi r18,3
 359 0118 880F      	1:	lsl r24
 360 011a 991F      		rol r25
 361 011c 2A95      		dec r18
 362 011e 01F4      		brne 1b
 363               	.LVL24:
 364 0120 C82E      		mov r12,r24
 365 0122 00D0      		rcall LCD_set_XY
 366               	.LVL25:
 367               	.LBB58:
 368               	.LM54:
 369 0124 C12F      		mov r28,r17
 370 0126 D0E0      		ldi r29,lo8(0)
 371 0128 94E0      		ldi r25,4
 372 012a CC0F      	1:	lsl r28
 373 012c DD1F      		rol r29
 374 012e 9A95      		dec r25
 375 0130 01F4      		brne 1b
 376 0132 8E01      		movw r16,r28
 377 0134 0050      		subi r16,lo8(-(shuzi))
 378 0136 1040      		sbci r17,hi8(-(shuzi))
 379               	.LBE58:
 380               	.LM55:
 381 0138 2896      		adiw r28,8
 382               	.LM56:
 383 013a 80E0      		ldi r24,lo8(shuzi)
 384 013c E82E      		mov r14,r24
 385 013e 80E0      		ldi r24,hi8(shuzi)
 386 0140 F82E      		mov r15,r24
 387 0142 EC0E      		add r14,r28
 388 0144 FD1E      		adc r15,r29
 389 0146 2897      		sbiw r28,8
 390               	.L29:
 391               	.LBB59:
 392               	.LM57:
 393 0148 F801      		movw r30,r16
 394               	/* #APP */
 395               	 ;  490 "lcd-char.c" 1
 396 014a 8491      		lpm r24, Z
 397               		
 398               	 ;  0 "" 2
 399               	.LVL26:
 400               	/* #NOAPP */
 401               	.LBE59:
 402 014c 61E0      		ldi r22,lo8(1)
 403 014e 00D0      		rcall LCD_write_byte
 404               	.LVL27:
 405 0150 0F5F      		subi r16,lo8(-(1))
 406 0152 1F4F      		sbci r17,hi8(-(1))
 407               	.LM58:
 408 0154 0E15      		cp r16,r14
 409 0156 1F05      		cpc r17,r15
 410 0158 01F4      		brne .L29
 411               	.LM59:
 412 015a D394      		inc r13
 413 015c 8C2D      		mov r24,r12
 414 015e 6D2D      		mov r22,r13
 415 0160 00D0      		rcall LCD_set_XY
 416               	.LM60:
 417 0162 6096      		adiw r28,16
 418 0164 C050      		subi r28,lo8(-(shuzi))

⌨️ 快捷键说明

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