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

📄 glcd.lst

📁 AVRMEG32编写的一个项目代码,里面包含一般应用的模块.
💻 LST
📖 第 1 页 / 共 3 页
字号:
   1               		.file	"glcd.c"
   2               		.arch atmega32
   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	_yy
  19               	.global	_yy
  20               		.section .bss
  23               	_yy:
  24 0000 00        		.skip 1,0
  25               	.global	_xx
  26               	.global	_xx
  29               	_xx:
  30 0001 00        		.skip 1,0
  31               	.global	font5x7
  32               		.section	.progmem.data,"a",@progbits
  35               	font5x7:
  36 0000 00        		.byte	0
  37 0001 00        		.byte	0
  38 0002 00        		.byte	0
  39 0003 00        		.byte	0
  40 0004 00        		.byte	0
  41 0005 00        		.byte	0
  42 0006 00        		.byte	0
  43 0007 5F        		.byte	95
  44 0008 00        		.byte	0
  45 0009 00        		.byte	0
  46 000a 00        		.byte	0
  47 000b 07        		.byte	7
  48 000c 00        		.byte	0
  49 000d 07        		.byte	7
  50 000e 00        		.byte	0
  51               		.text
  52               	.global	glcd_back_light_on
  54               	glcd_back_light_on:
  55               	.LFB14:
  56               	.LM1:
  57               	/* prologue: frame size=0 */
  58               	/* prologue end (size=0) */
  59               	/* epilogue: frame size=0 */
  60 0000 0895      		ret
  61               	/* epilogue end (size=1) */
  62               	/* function glcd_back_light_on size 1 (0) */
  63               	.LFE14:
  65               	.global	glcd_back_light_off
  67               	glcd_back_light_off:
  68               	.LFB15:
  69               	.LM2:
  70               	/* prologue: frame size=0 */
  71               	/* prologue end (size=0) */
  72               	/* epilogue: frame size=0 */
  73 0002 0895      		ret
  74               	/* epilogue end (size=1) */
  75               	/* function glcd_back_light_off size 1 (0) */
  76               	.LFE15:
  78               	.global	glcd_gotoxy
  80               	glcd_gotoxy:
  81               	.LFB16:
  82               	.LM3:
  83               	/* prologue: frame size=0 */
  84               	/* prologue end (size=0) */
  85               	.LM4:
  86 0004 8093 0000 		sts _xx,r24
  87               	.LM5:
  88 0008 6093 0000 		sts _yy,r22
  89               	/* epilogue: frame size=0 */
  90 000c 0895      		ret
  91               	/* epilogue end (size=1) */
  92               	/* function glcd_gotoxy size 5 (4) */
  93               	.LFE16:
  95               	.global	glcd_line
  97               	glcd_line:
  98               	.LFB21:
  99               	.LM6:
 100               	/* prologue: frame size=0 */
 101               	/* prologue end (size=0) */
 102               	/* epilogue: frame size=0 */
 103 000e 0895      		ret
 104               	/* epilogue end (size=1) */
 105               	/* function glcd_line size 1 (0) */
 106               	.LFE21:
 108               	.global	glcd_rd_data
 110               	glcd_rd_data:
 111               	.LFB27:
 112               	.LM7:
 113               	/* prologue: frame size=0 */
 114               	/* prologue end (size=0) */
 115               	.LM8:
 116 0010 0E94 0000 		call glcd_wait_for_busy
 117               	.LM9:
 118 0014 17BA      		out 55-0x20,__zero_reg__
 119               	.LM10:
 120 0016 DA9A      		sbi 59-0x20,2
 121               	.LM11:
 122 0018 D99A      		sbi 59-0x20,1
 123               	.LM12:
 124 001a DB9A      		sbi 59-0x20,3
 125               	.LM13:
 126 001c 81E0      		ldi r24,lo8(1)
 127 001e 90E0      		ldi r25,hi8(1)
 128 0020 0E94 0000 		call glcd_delay
 129               	.LM14:
 130 0024 DB98      		cbi 59-0x20,3
 131               	.LM15:
 132 0026 86B3      		in r24,54-0x20
 133               	.LM16:
 134 0028 9927      		clr r25
 135               	/* epilogue: frame size=0 */
 136 002a 0895      		ret
 137               	/* epilogue end (size=1) */
 138               	/* function glcd_rd_data size 14 (13) */
 139               	.LFE27:
 141               	.global	glcd_wr_data
 143               	glcd_wr_data:
 144               	.LFB26:
 145               	.LM17:
 146               	/* prologue: frame size=0 */
 147 002c 1F93      		push r17
 148               	/* prologue end (size=1) */
 149 002e 182F      		mov r17,r24
 150               	.LM18:
 151 0030 0E94 0000 		call glcd_wait_for_busy
 152               	.LM19:
 153 0034 DA98      		cbi 59-0x20,2
 154               	.LM20:
 155 0036 D99A      		sbi 59-0x20,1
 156               	.LM21:
 157 0038 8FEF      		ldi r24,lo8(-1)
 158 003a 87BB      		out 55-0x20,r24
 159               	.LM22:
 160 003c 18BB      		out 56-0x20,r17
 161               	.LM23:
 162 003e DB9A      		sbi 59-0x20,3
 163               	.LM24:
 164 0040 81E0      		ldi r24,lo8(1)
 165 0042 90E0      		ldi r25,hi8(1)
 166 0044 0E94 0000 		call glcd_delay
 167               	.LM25:
 168 0048 DB98      		cbi 59-0x20,3
 169               	/* epilogue: frame size=0 */
 170 004a 1F91      		pop r17
 171 004c 0895      		ret
 172               	/* epilogue end (size=2) */
 173               	/* function glcd_wr_data size 17 (14) */
 174               	.LFE26:
 176               	.global	glcd_wr_cmd
 178               	glcd_wr_cmd:
 179               	.LFB25:
 180               	.LM26:
 181               	/* prologue: frame size=0 */
 182 004e 1F93      		push r17
 183               	/* prologue end (size=1) */
 184 0050 182F      		mov r17,r24
 185               	.LM27:
 186 0052 0E94 0000 		call glcd_wait_for_busy
 187               	.LM28:
 188 0056 DA98      		cbi 59-0x20,2
 189               	.LM29:
 190 0058 D998      		cbi 59-0x20,1
 191               	.LM30:
 192 005a 8FEF      		ldi r24,lo8(-1)
 193 005c 87BB      		out 55-0x20,r24
 194               	.LM31:
 195 005e 18BB      		out 56-0x20,r17
 196               	.LM32:
 197 0060 DB9A      		sbi 59-0x20,3
 198               	.LM33:
 199 0062 81E0      		ldi r24,lo8(1)
 200 0064 90E0      		ldi r25,hi8(1)
 201 0066 0E94 0000 		call glcd_delay
 202               	.LM34:
 203 006a DB98      		cbi 59-0x20,3
 204               	/* epilogue: frame size=0 */
 205 006c 1F91      		pop r17
 206 006e 0895      		ret
 207               	/* epilogue end (size=2) */
 208               	/* function glcd_wr_cmd size 17 (14) */
 209               	.LFE25:
 211               	.global	glcd_start_line
 213               	glcd_start_line:
 214               	.LFB30:
 215               	.LM35:
 216               	/* prologue: frame size=0 */
 217 0070 1F93      		push r17
 218               	/* prologue end (size=1) */
 219               	.LM36:
 220 0072 DC9A      		sbi 59-0x20,4
 221               	.LM37:
 222 0074 182F      		mov r17,r24
 223 0076 106C      		ori r17,lo8(-64)
 224 0078 812F      		mov r24,r17
 225 007a 0E94 0000 		call glcd_wr_cmd
 226               	.LM38:
 227 007e DC98      		cbi 59-0x20,4
 228               	.LM39:
 229 0080 DD9A      		sbi 59-0x20,5
 230               	.LM40:
 231 0082 812F      		mov r24,r17
 232 0084 0E94 0000 		call glcd_wr_cmd
 233               	.LM41:
 234 0088 DD98      		cbi 59-0x20,5
 235               	/* epilogue: frame size=0 */
 236 008a 1F91      		pop r17
 237 008c 0895      		ret
 238               	/* epilogue end (size=2) */
 239               	/* function glcd_start_line size 15 (12) */
 240               	.LFE30:
 242               	.global	glcd_set_y_addr
 244               	glcd_set_y_addr:
 245               	.LFB29:
 246               	.LM42:
 247               	/* prologue: frame size=0 */
 248               	/* prologue end (size=0) */
 249               	.LM43:
 250 008e 886B      		ori r24,lo8(-72)
 251 0090 0E94 0000 		call glcd_wr_cmd
 252               	/* epilogue: frame size=0 */
 253 0094 0895      		ret
 254               	/* epilogue end (size=1) */
 255               	/* function glcd_set_y_addr size 4 (3) */
 256               	.LFE29:
 258               	.global	glcd_set_x_addr
 260               	glcd_set_x_addr:
 261               	.LFB28:
 262               	.LM44:
 263               	/* prologue: frame size=0 */
 264               	/* prologue end (size=0) */
 265               	.LM45:
 266 0096 8064      		ori r24,lo8(64)
 267 0098 0E94 0000 		call glcd_wr_cmd
 268               	/* epilogue: frame size=0 */
 269 009c 0895      		ret
 270               	/* epilogue end (size=1) */
 271               	/* function glcd_set_x_addr size 4 (3) */
 272               	.LFE28:
 274               	.global	glcd_clrscr
 276               	glcd_clrscr:
 277               	.LFB31:
 278               	.LM46:
 279               	/* prologue: frame size=0 */
 280 009e 1F93      		push r17
 281 00a0 CF93      		push r28
 282               	/* prologue end (size=2) */
 283               	.LM47:
 284 00a2 DC9A      		sbi 59-0x20,4
 285               	.LM48:
 286 00a4 10E0      		ldi r17,lo8(0)
 287               	.L21:
 288               	.LBB2:
 289               	.LBB3:
 290               	.LM49:
 291 00a6 812F      		mov r24,r17
 292 00a8 886B      		ori r24,lo8(-72)
 293 00aa 0E94 0000 		call glcd_wr_cmd
 294               	.LBE3:
 295               	.LBE2:
 296               	.LBB4:
 297               	.LBB5:
 298               	.LM50:
 299 00ae 80E4      		ldi r24,lo8(64)
 300 00b0 0E94 0000 		call glcd_wr_cmd
 301 00b4 CFE3      		ldi r28,lo8(63)
 302               	.L20:
 303               	.LBE5:
 304               	.LBE4:
 305               	.LM51:
 306 00b6 80E0      		ldi r24,lo8(0)
 307 00b8 0E94 0000 		call glcd_wr_data
 308 00bc C150      		subi r28,lo8(-(-1))
 309 00be C7FF      		sbrs r28,7
 310 00c0 FACF      		rjmp .L20
 311               	.LM52:
 312 00c2 1F5F      		subi r17,lo8(-(1))
 313 00c4 1830      		cpi r17,lo8(8)
 314 00c6 78F3      		brlo .L21
 315 00c8 10E0      		ldi r17,lo8(0)
 316               	.LM53:
 317 00ca DC98      		cbi 59-0x20,4
 318               	.LM54:
 319 00cc DD9A      		sbi 59-0x20,5
 320               	.L31:
 321               	.LBB6:
 322               	.LBB7:
 323               	.LM55:
 324 00ce 812F      		mov r24,r17
 325 00d0 886B      		ori r24,lo8(-72)
 326 00d2 0E94 0000 		call glcd_wr_cmd
 327               	.LBE7:
 328               	.LBE6:
 329               	.LBB8:
 330               	.LBB9:
 331               	.LM56:
 332 00d6 80E4      		ldi r24,lo8(64)
 333 00d8 0E94 0000 		call glcd_wr_cmd
 334 00dc CFE3      		ldi r28,lo8(63)
 335               	.L30:
 336               	.LBE9:
 337               	.LBE8:
 338               	.LM57:
 339 00de 80E0      		ldi r24,lo8(0)
 340 00e0 0E94 0000 		call glcd_wr_data
 341 00e4 C150      		subi r28,lo8(-(-1))
 342 00e6 C7FF      		sbrs r28,7
 343 00e8 FACF      		rjmp .L30
 344               	.LM58:
 345 00ea 1F5F      		subi r17,lo8(-(1))
 346 00ec 1830      		cpi r17,lo8(8)
 347 00ee 78F3      		brlo .L31
 348               	.LM59:
 349 00f0 DD98      		cbi 59-0x20,5
 350               	/* epilogue: frame size=0 */
 351 00f2 CF91      		pop r28
 352 00f4 1F91      		pop r17
 353 00f6 0895      		ret
 354               	/* epilogue end (size=3) */
 355               	/* function glcd_clrscr size 45 (40) */
 356               	.LFE31:
 358               	.global	glcd_clr_dot
 360               	glcd_clr_dot:
 361               	.LFB20:
 362               	.LM60:
 363               	/* prologue: frame size=0 */
 364 00f8 0F93      		push r16
 365 00fa 1F93      		push r17
 366 00fc CF93      		push r28
 367               	/* prologue end (size=3) */
 368 00fe 182F      		mov r17,r24
 369 0100 C62F      		mov r28,r22
 370 0102 C695      		lsr r28
 371 0104 C695      		lsr r28
 372 0106 C695      		lsr r28
 373 0108 062F      		mov r16,r22
 374 010a 0770      		andi r16,lo8(7)
 375               	.LM61:
 376 010c 1034      		cpi r17,lo8(64)
 377 010e F0F4      		brsh .L41
 378               	.LM62:
 379 0110 DC9A      		sbi 59-0x20,4
 380               	.LBB10:
 381               	.LBB11:
 382               	.LM63:
 383 0112 1064      		ori r17,lo8(64)
 384 0114 812F      		mov r24,r17
 385 0116 0E94 0000 		call glcd_wr_cmd
 386               	.LBE11:
 387               	.LBE10:
 388               	.LBB12:
 389               	.LBB13:
 390               	.LM64:
 391 011a 8C2F      		mov r24,r28
 392 011c 886B      		ori r24,lo8(-72)

⌨️ 快捷键说明

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