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

📄 ks0108.lst

📁 for ks0108 LCD Controller
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"ks0108.c"
   2               		.arch atmega8
   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	ks0108ReadFontData
  20               	ks0108ReadFontData:
  21               	.LFB9:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LVL0:
  26               	.LBB2:
  27               	.LM2:
  28 0000 FC01      		movw r30,r24
  29               	/* #APP */
  30 0002 8491      		lpm r24, Z
  31               		
  32               	.LVL1:
  33               	/* #NOAPP */
  34               	.LBE2:
  35               	.LM3:
  36 0004 9927      		clr r25
  37               	.LVL2:
  38               	/* epilogue: frame size=0 */
  39 0006 0895      		ret
  40               	/* epilogue end (size=1) */
  41               	/* function ks0108ReadFontData size 7 (6) */
  42               	.LFE9:
  44               	.global	ks0108SelectFont
  46               	ks0108SelectFont:
  47               	.LFB10:
  48               	.LM4:
  49               	/* prologue: frame size=0 */
  50               	/* prologue end (size=0) */
  51               	.LVL3:
  52               	.LM5:
  53 0008 9093 0000 		sts (ks0108Font)+1,r25
  54 000c 8093 0000 		sts ks0108Font,r24
  55               	.LM6:
  56 0010 7093 0000 		sts (ks0108FontRead)+1,r23
  57 0014 6093 0000 		sts ks0108FontRead,r22
  58               	.LM7:
  59 0018 4093 0000 		sts ks0108FontColor,r20
  60               	/* epilogue: frame size=0 */
  61 001c 0895      		ret
  62               	/* epilogue end (size=1) */
  63               	/* function ks0108SelectFont size 11 (10) */
  64               	.LFE10:
  66               	.global	ks0108CharWidth
  68               	ks0108CharWidth:
  69               	.LFB14:
  70               	.LM8:
  71               	/* prologue: frame size=0 */
  72 001e 0F93      		push r16
  73 0020 1F93      		push r17
  74               	/* prologue end (size=2) */
  75               	.LVL4:
  76 0022 082F      		mov r16,r24
  77               	.LM9:
  78 0024 8091 0000 		lds r24,ks0108Font
  79 0028 9091 0000 		lds r25,(ks0108Font)+1
  80               	.LVL5:
  81 002c E091 0000 		lds r30,ks0108FontRead
  82 0030 F091 0000 		lds r31,(ks0108FontRead)+1
  83 0034 0496      		adiw r24,4
  84 0036 0995      		icall
  85 0038 182F      		mov r17,r24
  86               	.LVL6:
  87               	.LM10:
  88 003a 8091 0000 		lds r24,ks0108Font
  89 003e 9091 0000 		lds r25,(ks0108Font)+1
  90 0042 E091 0000 		lds r30,ks0108FontRead
  91 0046 F091 0000 		lds r31,(ks0108FontRead)+1
  92 004a 0596      		adiw r24,5
  93 004c 0995      		icall
  94               	.LM11:
  95 004e 0117      		cp r16,r17
  96 0050 00F0      		brlo .L6
  97               	.LM12:
  98 0052 202F      		mov r18,r16
  99 0054 3327      		clr r19
 100               	.LVL7:
 101 0056 810F      		add r24,r17
 102 0058 912D      		mov r25,__zero_reg__
 103 005a 911D      		adc r25,__zero_reg__
 104               	.LVL8:
 105 005c 2817      		cp r18,r24
 106 005e 3907      		cpc r19,r25
 107 0060 04F4      		brge .L6
 108               	.LVL9:
 109               	.LM13:
 110 0062 011B      		sub r16,r17
 111 0064 8091 0000 		lds r24,ks0108Font
 112 0068 9091 0000 		lds r25,(ks0108Font)+1
 113 006c 800F      		add r24,r16
 114 006e 911D      		adc r25,__zero_reg__
 115 0070 E091 0000 		lds r30,ks0108FontRead
 116 0074 F091 0000 		lds r31,(ks0108FontRead)+1
 117 0078 0696      		adiw r24,6
 118 007a 0995      		icall
 119               	.LVL10:
 120 007c 8F5F      		subi r24,lo8(-(1))
 121               	.LVL11:
 122 007e 00C0      		rjmp .L9
 123               	.LVL12:
 124               	.L6:
 125 0080 80E0      		ldi r24,lo8(0)
 126               	.LVL13:
 127               	.L9:
 128               	.LM14:
 129 0082 9927      		clr r25
 130               	.LVL14:
 131               	/* epilogue: frame size=0 */
 132 0084 1F91      		pop r17
 133 0086 0F91      		pop r16
 134 0088 0895      		ret
 135               	/* epilogue end (size=3) */
 136               	/* function ks0108CharWidth size 54 (49) */
 137               	.LFE14:
 139               	.global	ks0108StringWidth
 141               	ks0108StringWidth:
 142               	.LFB15:
 143               	.LM15:
 144               	/* prologue: frame size=0 */
 145 008a 0F93      		push r16
 146 008c 1F93      		push r17
 147 008e CF93      		push r28
 148 0090 DF93      		push r29
 149               	/* prologue end (size=4) */
 150               	.LVL15:
 151 0092 EC01      		movw r28,r24
 152 0094 00E0      		ldi r16,lo8(0)
 153 0096 10E0      		ldi r17,hi8(0)
 154               	.LVL16:
 155 0098 00C0      		rjmp .L12
 156               	.LVL17:
 157               	.L13:
 158               	.LM16:
 159 009a 2196      		adiw r28,1
 160 009c 00D0      		rcall ks0108CharWidth
 161 009e 080F      		add r16,r24
 162 00a0 111D      		adc r17,__zero_reg__
 163               	.LVL18:
 164               	.L12:
 165               	.LM17:
 166 00a2 8881      		ld r24,Y
 167 00a4 8823      		tst r24
 168 00a6 01F4      		brne .L13
 169               	.LM18:
 170 00a8 C801      		movw r24,r16
 171               	/* epilogue: frame size=0 */
 172 00aa DF91      		pop r29
 173 00ac CF91      		pop r28
 174 00ae 1F91      		pop r17
 175 00b0 0F91      		pop r16
 176 00b2 0895      		ret
 177               	/* epilogue end (size=5) */
 178               	/* function ks0108StringWidth size 21 (12) */
 179               	.LFE15:
 181               	.global	ks0108StringWidth_P
 183               	ks0108StringWidth_P:
 184               	.LFB16:
 185               	.LM19:
 186               	/* prologue: frame size=0 */
 187 00b4 0F93      		push r16
 188 00b6 1F93      		push r17
 189 00b8 CF93      		push r28
 190 00ba DF93      		push r29
 191               	/* prologue end (size=4) */
 192               	.LVL19:
 193 00bc EC01      		movw r28,r24
 194 00be 00E0      		ldi r16,lo8(0)
 195 00c0 10E0      		ldi r17,hi8(0)
 196               	.LVL20:
 197 00c2 00C0      		rjmp .L17
 198               	.LVL21:
 199               	.L18:
 200               	.LBB3:
 201               	.LM20:
 202 00c4 2196      		adiw r28,1
 203 00c6 F901      		movw r30,r18
 204               	/* #APP */
 205 00c8 8491      		lpm r24, Z
 206               		
 207               	.LVL22:
 208               	/* #NOAPP */
 209               	.LBE3:
 210 00ca 00D0      		rcall ks0108CharWidth
 211               	.LVL23:
 212 00cc 080F      		add r16,r24
 213 00ce 111D      		adc r17,__zero_reg__
 214               	.LVL24:
 215               	.L17:
 216 00d0 9E01      		movw r18,r28
 217               	.LVL25:
 218               	.LBB4:
 219               	.LM21:
 220 00d2 FE01      		movw r30,r28
 221               	/* #APP */
 222 00d4 8491      		lpm r24, Z
 223               		
 224               	.LVL26:
 225               	/* #NOAPP */
 226               	.LBE4:
 227 00d6 8823      		tst r24
 228 00d8 01F4      		brne .L18
 229               	.LM22:
 230 00da C801      		movw r24,r16
 231               	.LVL27:
 232               	/* epilogue: frame size=0 */
 233 00dc DF91      		pop r29
 234 00de CF91      		pop r28
 235 00e0 1F91      		pop r17
 236 00e2 0F91      		pop r16
 237 00e4 0895      		ret
 238               	/* epilogue end (size=5) */
 239               	/* function ks0108StringWidth_P size 31 (22) */
 240               	.LFE16:
 242               	.global	ks0108Enable
 244               	ks0108Enable:
 245               	.LFB19:
 246               	.LM23:
 247               	/* prologue: frame size=1 */
 248 00e6 CF93      		push r28
 249 00e8 DF93      		push r29
 250 00ea CDB7      		in r28,__SP_L__
 251 00ec DEB7      		in r29,__SP_H__
 252 00ee 2197      		sbiw r28,1
 253 00f0 0FB6      		in __tmp_reg__,__SREG__
 254 00f2 F894      		cli
 255 00f4 DEBF      		out __SP_H__,r29
 256 00f6 0FBE      		out __SREG__,__tmp_reg__
 257 00f8 CDBF      		out __SP_L__,r28
 258               	/* prologue end (size=10) */
 259               	.LM24:
 260 00fa AA9A      		sbi 53-0x20,2
 261               	.LM25:
 262               	/* #APP */
 263 00fc 0000      		nop
 264 00fe 0000      		nop
 265 0100 0000      		nop
 266               		
 267               	.LM26:
 268               	/* #NOAPP */
 269 0102 AA98      		cbi 53-0x20,2
 270               	.LBB5:
 271               	.LM27:
 272 0104 1982      		std Y+1,__zero_reg__
 273               	.LVL28:
 274 0106 00C0      		rjmp .L22
 275               	.L23:
 276               	.LM28:
 277 0108 8981      		ldd r24,Y+1
 278 010a 8F5F      		subi r24,lo8(-(1))
 279 010c 8983      		std Y+1,r24
 280               	.L22:
 281 010e 8981      		ldd r24,Y+1
 282 0110 8830      		cpi r24,lo8(8)
 283 0112 00F0      		brlo .L23
 284               	.LBE5:
 285               	/* epilogue: frame size=1 */
 286 0114 2196      		adiw r28,1
 287 0116 0FB6      		in __tmp_reg__,__SREG__
 288 0118 F894      		cli
 289 011a DEBF      		out __SP_H__,r29
 290 011c 0FBE      		out __SREG__,__tmp_reg__
 291 011e CDBF      		out __SP_L__,r28
 292 0120 DF91      		pop r29
 293 0122 CF91      		pop r28
 294 0124 0895      		ret
 295               	/* epilogue end (size=9) */
 296               	/* function ks0108Enable size 37 (18) */
 297               	.LFE19:
 299               	.global	ks0108WriteCommand
 301               	ks0108WriteCommand:
 302               	.LFB22:
 303               	.LM29:
 304               	/* prologue: frame size=0 */
 305               	/* prologue end (size=0) */
 306               	.LVL29:
 307 0126 982F      		mov r25,r24
 308               	.LM30:
 309 0128 6623      		tst r22
 310 012a 01F4      		brne .L27
 311               	.LVL30:
 312               	.LM31:
 313 012c AC98      		cbi 53-0x20,4
 314               	.LM32:
 315 012e AB9A      		sbi 53-0x20,3
 316 0130 00C0      		rjmp .L29
 317               	.L27:
 318               	.LM33:
 319 0132 6130      		cpi r22,lo8(1)
 320 0134 01F4      		brne .L29
 321               	.LM34:
 322 0136 AB98      		cbi 53-0x20,3
 323               	.LM35:
 324 0138 AC9A      		sbi 53-0x20,4
 325               	.L29:
 326               	.LM36:
 327 013a A898      		cbi 53-0x20,0
 328               	.LM37:
 329 013c A998      		cbi 53-0x20,1
 330               	.LM38:
 331 013e 8FEF      		ldi r24,lo8(-1)
 332 0140 81BB      		out 49-0x20,r24
 333               	.LM39:
 334 0142 92BB      		out 50-0x20,r25
 335               	.LM40:
 336 0144 00D0      		rcall ks0108Enable
 337               	.LVL31:
 338               	.LM41:
 339 0146 12BA      		out 50-0x20,__zero_reg__
 340               	/* epilogue: frame size=0 */
 341 0148 0895      		ret
 342               	/* epilogue end (size=1) */
 343               	/* function ks0108WriteCommand size 18 (17) */
 344               	.LFE22:
 346               	.global	ks0108GotoXY
 348               	ks0108GotoXY:
 349               	.LFB17:
 350               	.LM42:
 351               	/* prologue: frame size=0 */
 352 014a 1F93      		push r17
 353               	/* prologue end (size=1) */
 354               	.LVL32:
 355               	.LM43:
 356 014c 87FD      		sbrc r24,7
 357               	.LM44:
 358 014e 80E0      		ldi r24,lo8(0)
 359               	.L33:
 360               	.LM45:
 361 0150 6034      		cpi r22,lo8(64)
 362 0152 00F0      		brlo .L35
 363 0154 60E0      		ldi r22,lo8(0)
 364               	.L35:
 365               	.LM46:
 366 0156 8093 0000 		sts ks0108Coord,r24
 367               	.LM47:
 368 015a 6093 0000 		sts ks0108Coord+1,r22
 369               	.LM48:
 370 015e 6695      		lsr r22
 371 0160 6695      		lsr r22
 372 0162 6695      		lsr r22
 373 0164 6093 0000 		sts ks0108Coord+2,r22
 374               	.LM49:
 375 0168 8034      		cpi r24,lo8(64)
 376 016a 00F4      		brsh .L37
 377 016c 60E0      		ldi r22,lo8(0)
 378               	.LVL33:
 379 016e 00C0      		rjmp .L39
 380               	.LVL34:
 381               	.L37:
 382               	.LM50:
 383 0170 8054      		subi r24,lo8(-(-64))
 384 0172 61E0      		ldi r22,lo8(1)
 385               	.LVL35:
 386               	.L39:
 387               	.LM51:
 388 0174 8064      		ori r24,lo8(64)
 389               	.LVL36:
 390 0176 00D0      		rcall ks0108WriteCommand
 391               	.LVL37:
 392               	.LM52:
 393 0178 1091 0000 		lds r17,ks0108Coord+2
 394               	.LVL38:
 395 017c 186B      		ori r17,lo8(-72)
 396               	.LM53:
 397 017e 60E0      		ldi r22,lo8(0)

⌨️ 快捷键说明

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