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

📄 lcd.lst

📁 用GCC编写ATMEG128应用软件源代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"lcd.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	LcdRead
  20               	LcdRead:
  21               	.LFB8:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 14BA      		out 52-0x20,__zero_reg__
  27               	.LM3:
  28 0002 15BA      		out 53-0x20,__zero_reg__
  29               	.LM4:
  30 0004 C79A      		sbi 56-0x20,7
  31               	.LM5:
  32 0006 949A      		sbi 50-0x20,4
  33               	.LM6:
  34 0008 9698      		cbi 50-0x20,6
  35               	.LM7:
  36 000a 9598      		cbi 50-0x20,5
  37               	.LM8:
  38 000c 9498      		cbi 50-0x20,4
  39               	.LM9:
  40 000e 949A      		sbi 50-0x20,4
  41               	.LM10:
  42 0010 83B3      		in r24,51-0x20
  43               	.LM11:
  44 0012 959A      		sbi 50-0x20,5
  45               	.LM12:
  46 0014 9FEF      		ldi r25,lo8(-1)
  47 0016 94BB      		out 52-0x20,r25
  48               	.LM13:
  49 0018 95BB      		out 53-0x20,r25
  50 001a 8074      		andi r24,lo8(64)
  51               	.LM14:
  52 001c 9927      		clr r25
  53               	/* epilogue: frame size=0 */
  54 001e 0895      		ret
  55               	/* epilogue end (size=1) */
  56               	/* function LcdRead size 16 (15) */
  57               	.LFE8:
  59               	.global	CmdWrite
  61               	CmdWrite:
  62               	.LFB9:
  63               	.LM15:
  64               	/* prologue: frame size=0 */
  65               	/* prologue end (size=0) */
  66               	.LVL0:
  67               	.LM16:
  68 0020 C79A      		sbi 56-0x20,7
  69               	.LM17:
  70 0022 949A      		sbi 50-0x20,4
  71               	.LM18:
  72 0024 969A      		sbi 50-0x20,6
  73               	.LM19:
  74 0026 85BB      		out 53-0x20,r24
  75               	.LM20:
  76 0028 9598      		cbi 50-0x20,5
  77               	.LM21:
  78 002a C798      		cbi 56-0x20,7
  79               	.LM22:
  80 002c C79A      		sbi 56-0x20,7
  81               	.LM23:
  82 002e 959A      		sbi 50-0x20,5
  83               	/* epilogue: frame size=0 */
  84 0030 0895      		ret
  85               	/* epilogue end (size=1) */
  86               	/* function CmdWrite size 9 (8) */
  87               	.LFE9:
  89               	.global	DataWrite
  91               	DataWrite:
  92               	.LFB10:
  93               	.LM24:
  94               	/* prologue: frame size=0 */
  95 0032 1F93      		push r17
  96               	/* prologue end (size=1) */
  97               	.LVL1:
  98 0034 182F      		mov r17,r24
  99               	.LVL2:
 100               	.L7:
 101               	.LM25:
 102 0036 0E94 0000 		call LcdRead
 103 003a 8823      		tst r24
 104 003c 01F4      		brne .L7
 105               	.LM26:
 106 003e C79A      		sbi 56-0x20,7
 107               	.LM27:
 108 0040 949A      		sbi 50-0x20,4
 109               	.LM28:
 110 0042 9698      		cbi 50-0x20,6
 111               	.LM29:
 112 0044 15BB      		out 53-0x20,r17
 113               	.LM30:
 114 0046 9598      		cbi 50-0x20,5
 115               	.LM31:
 116 0048 C798      		cbi 56-0x20,7
 117               	.LM32:
 118 004a C79A      		sbi 56-0x20,7
 119               	.LM33:
 120 004c 959A      		sbi 50-0x20,5
 121               	/* epilogue: frame size=0 */
 122 004e 1F91      		pop r17
 123 0050 0895      		ret
 124               	/* epilogue end (size=2) */
 125               	/* function DataWrite size 16 (13) */
 126               	.LFE10:
 128               	.global	FullScreenFill
 130               	FullScreenFill:
 131               	.LFB7:
 132               	.LM34:
 133               	/* prologue: frame size=0 */
 134 0052 FF92      		push r15
 135 0054 0F93      		push r16
 136 0056 1F93      		push r17
 137               	/* prologue end (size=3) */
 138               	.LVL3:
 139 0058 182F      		mov r17,r24
 140 005a 062F      		mov r16,r22
 141 005c F42E      		mov r15,r20
 142               	.LM35:
 143 005e 86E4      		ldi r24,lo8(70)
 144               	.LVL4:
 145 0060 0E94 0000 		call CmdWrite
 146               	.LVL5:
 147               	.LM36:
 148 0064 812F      		mov r24,r17
 149 0066 0E94 0000 		call DataWrite
 150               	.LM37:
 151 006a 802F      		mov r24,r16
 152 006c 0E94 0000 		call DataWrite
 153               	.LM38:
 154 0070 82E4      		ldi r24,lo8(66)
 155 0072 0E94 0000 		call CmdWrite
 156 0076 00E0      		ldi r16,lo8(0)
 157               	.LVL6:
 158 0078 00C0      		rjmp .L13
 159               	.LVL7:
 160               	.L14:
 161               	.LM39:
 162 007a 8F2D      		mov r24,r15
 163 007c 0E94 0000 		call DataWrite
 164               	.LM40:
 165 0080 1F5F      		subi r17,lo8(-(1))
 166 0082 1832      		cpi r17,lo8(40)
 167 0084 01F4      		brne .L14
 168               	.LM41:
 169 0086 0F5F      		subi r16,lo8(-(1))
 170 0088 003F      		cpi r16,lo8(-16)
 171 008a 01F0      		breq .L17
 172               	.LVL8:
 173               	.L13:
 174               	.LM42:
 175 008c 10E0      		ldi r17,lo8(0)
 176               	.LVL9:
 177 008e 00C0      		rjmp .L14
 178               	.L17:
 179               	/* epilogue: frame size=0 */
 180 0090 1F91      		pop r17
 181 0092 0F91      		pop r16
 182 0094 FF90      		pop r15
 183 0096 0895      		ret
 184               	/* epilogue end (size=4) */
 185               	/* function FullScreenFill size 35 (28) */
 186               	.LFE7:
 188               	.global	ClearScreen
 190               	ClearScreen:
 191               	.LFB12:
 192               	.LM43:
 193               	/* prologue: frame size=0 */
 194               	/* prologue end (size=0) */
 195               	.LM44:
 196 0098 40E0      		ldi r20,lo8(0)
 197 009a 60E0      		ldi r22,lo8(0)
 198 009c 80E0      		ldi r24,lo8(0)
 199 009e 0E94 0000 		call FullScreenFill
 200               	.LM45:
 201 00a2 40E0      		ldi r20,lo8(0)
 202 00a4 68E2      		ldi r22,lo8(40)
 203 00a6 80E0      		ldi r24,lo8(0)
 204 00a8 0E94 0000 		call FullScreenFill
 205               	.LM46:
 206 00ac 40E0      		ldi r20,lo8(0)
 207 00ae 60E5      		ldi r22,lo8(80)
 208 00b0 80E0      		ldi r24,lo8(0)
 209 00b2 0E94 0000 		call FullScreenFill
 210               	/* epilogue: frame size=0 */
 211 00b6 0895      		ret
 212               	/* epilogue end (size=1) */
 213               	/* function ClearScreen size 16 (15) */
 214               	.LFE12:
 216               	.global	LCM_Screen_str
 218               	LCM_Screen_str:
 219               	.LFB13:
 220               	.LM47:
 221               	/* prologue: frame size=0 */
 222 00b8 8F92      		push r8
 223 00ba 9F92      		push r9
 224 00bc AF92      		push r10
 225 00be BF92      		push r11
 226 00c0 CF92      		push r12
 227 00c2 DF92      		push r13
 228 00c4 EF92      		push r14
 229 00c6 FF92      		push r15
 230 00c8 0F93      		push r16
 231 00ca 1F93      		push r17
 232 00cc CF93      		push r28
 233 00ce DF93      		push r29
 234               	/* prologue end (size=12) */
 235               	.LVL10:
 236 00d0 982F      		mov r25,r24
 237 00d2 5A01      		movw r10,r20
 238 00d4 802E      		mov r8,r16
 239 00d6 462F      		mov r20,r22
 240 00d8 5527      		clr r21
 241               	.LVL11:
 242               	.LM48:
 243 00da 2230      		cpi r18,lo8(2)
 244 00dc 01F4      		brne .L23
 245               	.LVL12:
 246               	.LM49:
 247 00de 88E2      		ldi r24,lo8(40)
 248 00e0 989F      		mul r25,r24
 249 00e2 C001      		movw r24,r0
 250 00e4 1124      		clr r1
 251               	.LVL13:
 252 00e6 8050      		subi r24,lo8(-(20480))
 253 00e8 904B      		sbci r25,hi8(-(20480))
 254 00ea 00C0      		rjmp .L41
 255               	.LVL14:
 256               	.L23:
 257               	.LM50:
 258 00ec 88E2      		ldi r24,lo8(40)
 259 00ee 989F      		mul r25,r24
 260 00f0 C001      		movw r24,r0
 261 00f2 1124      		clr r1
 262               	.LVL15:
 263 00f4 8050      		subi r24,lo8(-(10240))
 264 00f6 984D      		sbci r25,hi8(-(10240))
 265               	.L41:
 266 00f8 840F      		add r24,r20
 267 00fa 951F      		adc r25,r21
 268               	.LM51:
 269 00fc C62E      		mov r12,r22
 270 00fe DD24      		clr r13
 271               	.LVL16:
 272               	.LM52:
 273 0100 982E      		mov r9,r24
 274               	.LVL17:
 275               	.LM53:
 276 0102 892F      		mov r24,r25
 277 0104 9927      		clr r25
 278               	.LVL18:
 279 0106 082F      		mov r16,r24
 280               	.LVL19:
 281               	.LM54:
 282 0108 8FE4      		ldi r24,lo8(79)
 283 010a 0E94 0000 		call CmdWrite
 284               	.LVL20:
 285 010e 7501      		movw r14,r10
 286               	.LVL21:
 287 0110 00C0      		rjmp .L26
 288               	.LVL22:
 289               	.L27:
 290               	.LM55:
 291 0112 86E4      		ldi r24,lo8(70)
 292 0114 0E94 0000 		call CmdWrite
 293               	.LM56:
 294 0118 812F      		mov r24,r17
 295 011a 0E94 0000 		call DataWrite
 296               	.LM57:
 297 011e 802F      		mov r24,r16
 298 0120 0E94 0000 		call DataWrite
 299               	.LM58:
 300 0124 82E4      		ldi r24,lo8(66)
 301 0126 0E94 0000 		call CmdWrite
 302               	.LM59:
 303 012a F701      		movw r30,r14
 304 012c 8081      		ld r24,Z
 305 012e 282F      		mov r18,r24
 306 0130 3327      		clr r19
 307 0132 2052      		subi r18,lo8(-(-32))
 308 0134 3040      		sbci r19,hi8(-(-32))
 309 0136 40E0      		ldi r20,lo8(0)
 310 0138 50E0      		ldi r21,hi8(0)
 311               	.L28:
 312 013a 842F      		mov r24,r20
 313 013c 9927      		clr r25
 314 013e 4F5F      		subi r20,lo8(-(1))
 315 0140 5F4F      		sbci r21,hi8(-(1))
 316 0142 8217      		cp r24,r18
 317 0144 9307      		cpc r25,r19
 318 0146 04F0      		brlt .L28
 319               	.LM60:
 320 0148 EA01      		movw r28,r20
 321 014a 84E0      		ldi r24,4
 322 014c CC0F      	1:	lsl r28
 323 014e DD1F      		rol r29
 324 0150 8A95      		dec r24
 325 0152 01F4      		brne 1b
 326 0154 C050      		subi r28,lo8(-(ASCII_16X8-16))
 327 0156 D040      		sbci r29,hi8(-(ASCII_16X8-16))
 328 0158 10E0      		ldi r17,lo8(0)
 329               	.LVL23:
 330               	.L30:
 331               	.LBB4:
 332               	.LM61:
 333 015a FE01      		movw r30,r28
 334               	/* #APP */
 335 015c 8491      		lpm r24, Z
 336               		
 337               	.LVL24:
 338               	/* #NOAPP */
 339               	.LBE4:
 340               	.LM62:
 341 015e 8820      		tst r8
 342 0160 01F4      		brne .L31
 343               	.LM63:
 344 0162 8095      		com r24
 345               	.LVL25:
 346               	.L31:
 347               	.LM64:
 348 0164 0E94 0000 		call DataWrite
 349               	.LVL26:
 350               	.LM65:
 351 0168 1F5F      		subi r17,lo8(-(1))
 352 016a 1031      		cpi r17,lo8(16)
 353 016c 01F0      		breq .L34
 354               	.LM66:
 355 016e 2196      		adiw r28,1
 356 0170 00C0      		rjmp .L30
 357               	.L34:
 358               	.LM67:
 359 0172 0894      		sec
 360 0174 C11C      		adc r12,__zero_reg__
 361 0176 D11C      		adc r13,__zero_reg__
 362               	.LM68:
 363 0178 F8E2      		ldi r31,lo8(40)
 364 017a CF16      		cp r12,r31
 365 017c D104      		cpc r13,__zero_reg__
 366 017e 00F4      		brsh .L36
 367               	.LM69:
 368 0180 0894      		sec
 369 0182 E11C      		adc r14,__zero_reg__
 370 0184 F11C      		adc r15,__zero_reg__
 371               	.L26:
 372 0186 192D      		mov r17,r9
 373               	.LVL27:
 374 0188 1A19      		sub r17,r10
 375 018a 1E0D      		add r17,r14
 376               	.LM70:
 377 018c F701      		movw r30,r14
 378 018e 8081      		ld r24,Z
 379 0190 8823      		tst r24
 380 0192 01F0      		breq .+2
 381 0194 00C0      		rjmp .L27
 382               	.LVL28:
 383               	.L36:
 384               	.LM71:

⌨️ 快捷键说明

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