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

📄 lcd12864.lst

📁 ATMEGA8L驱动LCD12864的源程序,带画点,圆,直线函数
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"lcd12864.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	init
  20               	init:
  21               	.LFB3:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24               	/* prologue end (size=0) */
  25               	.LM2:
  26 0000 8FEF      		ldi r24,lo8(-1)
  27 0002 88BB      		out 56-0x20,r24
  28               	.LM3:
  29 0004 87BB      		out 55-0x20,r24
  30               	.LM4:
  31 0006 85BB      		out 53-0x20,r24
  32               	.LM5:
  33 0008 84BB      		out 52-0x20,r24
  34               	.LM6:
  35 000a 82BB      		out 50-0x20,r24
  36               	.LM7:
  37 000c 81BB      		out 49-0x20,r24
  38               	/* epilogue: frame size=0 */
  39 000e 0895      		ret
  40               	/* epilogue end (size=1) */
  41               	/* function init size 8 (7) */
  42               	.LFE3:
  44               	.global	getState
  46               	getState:
  47               	.LFB4:
  48               	.LM8:
  49               	/* prologue: frame size=0 */
  50               	/* prologue end (size=0) */
  51               	.LM9:
  52 0010 8FEF      		ldi r24,lo8(-1)
  53 0012 88BB      		out 56-0x20,r24
  54               	.LM10:
  55 0014 17BA      		out 55-0x20,__zero_reg__
  56               	.LM11:
  57 0016 AA98      		cbi 53-0x20,2
  58               	.LM12:
  59 0018 AB98      		cbi 53-0x20,3
  60               	.LM13:
  61 001a A898      		cbi 53-0x20,0
  62               	.LM14:
  63 001c A99A      		sbi 53-0x20,1
  64               	.LM15:
  65 001e AC9A      		sbi 53-0x20,4
  66               	.LM16:
  67 0020 AC98      		cbi 53-0x20,4
  68               	.LM17:
  69 0022 86B3      		in r24,54-0x20
  70               	.LM18:
  71 0024 9927      		clr r25
  72               	/* epilogue: frame size=0 */
  73 0026 0895      		ret
  74               	/* epilogue end (size=1) */
  75               	/* function getState size 12 (11) */
  76               	.LFE4:
  78               	.global	lcdBusy
  80               	lcdBusy:
  81               	.LFB5:
  82               	.LM19:
  83               	/* prologue: frame size=0 */
  84               	/* prologue end (size=0) */
  85               	.LM20:
  86 0028 F3DF      		rcall getState
  87               	.LM21:
  88 002a 9927      		clr r25
  89 002c 87FD      		sbrc r24,7
  90 002e 9095      		com r25
  91               	.LM22:
  92 0030 8827      		clr r24
  93 0032 990F      		lsl r25
  94 0034 881F      		rol r24
  95 0036 9927      		clr r25
  96               	/* epilogue: frame size=0 */
  97 0038 0895      		ret
  98               	/* epilogue end (size=1) */
  99               	/* function lcdBusy size 9 (8) */
 100               	.LFE5:
 102               	.global	lcdCommand
 104               	lcdCommand:
 105               	.LFB6:
 106               	.LM23:
 107               	/* prologue: frame size=0 */
 108               	/* prologue end (size=0) */
 109 003a 982F      		mov r25,r24
 110               	.LM24:
 111 003c 8FEF      		ldi r24,lo8(-1)
 112 003e 87BB      		out 55-0x20,r24
 113               	.LM25:
 114 0040 AA98      		cbi 53-0x20,2
 115               	.LM26:
 116 0042 AB98      		cbi 53-0x20,3
 117               	.LM27:
 118 0044 A898      		cbi 53-0x20,0
 119               	.LM28:
 120 0046 A998      		cbi 53-0x20,1
 121               	.LM29:
 122 0048 98BB      		out 56-0x20,r25
 123               	.LM30:
 124 004a AC9A      		sbi 53-0x20,4
 125               	.LM31:
 126 004c AC98      		cbi 53-0x20,4
 127               	/* epilogue: frame size=0 */
 128 004e 0895      		ret
 129               	/* epilogue end (size=1) */
 130               	/* function lcdCommand size 11 (10) */
 131               	.LFE6:
 133               	.global	lcdSetRow
 135               	lcdSetRow:
 136               	.LFB10:
 137               	.LM32:
 138               	/* prologue: frame size=0 */
 139 0050 CF93      		push r28
 140               	/* prologue end (size=1) */
 141               	.LM33:
 142 0052 C82F      		mov r28,r24
 143 0054 CF73      		andi r28,lo8(63)
 144               	.LM34:
 145 0056 C064      		ori r28,lo8(64)
 146               	.L8:
 147               	.LM35:
 148 0058 E7DF      		rcall lcdBusy
 149 005a 8823      		tst r24
 150 005c E9F7      		brne .L8
 151               	.LM36:
 152 005e 8C2F      		mov r24,r28
 153 0060 ECDF      		rcall lcdCommand
 154               	/* epilogue: frame size=0 */
 155 0062 CF91      		pop r28
 156 0064 0895      		ret
 157               	/* epilogue end (size=2) */
 158               	/* function lcdSetRow size 11 (8) */
 159               	.LFE10:
 161               	.global	lcdSetPage
 163               	lcdSetPage:
 164               	.LFB9:
 165               	.LM37:
 166               	/* prologue: frame size=0 */
 167 0066 CF93      		push r28
 168               	/* prologue end (size=1) */
 169               	.LM38:
 170 0068 C82F      		mov r28,r24
 171 006a C770      		andi r28,lo8(7)
 172               	.LM39:
 173 006c C86B      		ori r28,lo8(-72)
 174               	.L12:
 175               	.LM40:
 176 006e DCDF      		rcall lcdBusy
 177 0070 8823      		tst r24
 178 0072 E9F7      		brne .L12
 179               	.LM41:
 180 0074 8C2F      		mov r24,r28
 181 0076 E1DF      		rcall lcdCommand
 182               	/* epilogue: frame size=0 */
 183 0078 CF91      		pop r28
 184 007a 0895      		ret
 185               	/* epilogue end (size=2) */
 186               	/* function lcdSetPage size 11 (8) */
 187               	.LFE9:
 189               	.global	lcdStartLine
 191               	lcdStartLine:
 192               	.LFB8:
 193               	.LM42:
 194               	/* prologue: frame size=0 */
 195 007c CF93      		push r28
 196               	/* prologue end (size=1) */
 197               	.LM43:
 198 007e C82F      		mov r28,r24
 199 0080 C06C      		ori r28,lo8(-64)
 200               	.L16:
 201               	.LM44:
 202 0082 D2DF      		rcall lcdBusy
 203 0084 8823      		tst r24
 204 0086 E9F7      		brne .L16
 205               	.LM45:
 206 0088 8C2F      		mov r24,r28
 207 008a D7DF      		rcall lcdCommand
 208               	/* epilogue: frame size=0 */
 209 008c CF91      		pop r28
 210 008e 0895      		ret
 211               	/* epilogue end (size=2) */
 212               	/* function lcdStartLine size 10 (7) */
 213               	.LFE8:
 215               	.global	lcdOpen
 217               	lcdOpen:
 218               	.LFB7:
 219               	.LM46:
 220               	/* prologue: frame size=0 */
 221               	/* prologue end (size=0) */
 222               	.L20:
 223               	.LM47:
 224 0090 CBDF      		rcall lcdBusy
 225 0092 8823      		tst r24
 226 0094 E9F7      		brne .L20
 227               	.LM48:
 228 0096 8FE3      		ldi r24,lo8(63)
 229 0098 D0DF      		rcall lcdCommand
 230               	/* epilogue: frame size=0 */
 231 009a 0895      		ret
 232               	/* epilogue end (size=1) */
 233               	/* function lcdOpen size 6 (5) */
 234               	.LFE7:
 236               	.global	lcdWrite
 238               	lcdWrite:
 239               	.LFB11:
 240               	.LM49:
 241               	/* prologue: frame size=0 */
 242 009c 1F93      		push r17
 243 009e CF93      		push r28
 244               	/* prologue end (size=2) */
 245 00a0 182F      		mov r17,r24
 246 00a2 C62F      		mov r28,r22
 247               	.L24:
 248               	.LM50:
 249 00a4 C1DF      		rcall lcdBusy
 250 00a6 8823      		tst r24
 251 00a8 E9F7      		brne .L24

⌨️ 快捷键说明

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