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

📄 main.lst

📁 AVR做的打印机控制例子,基于AVR和CH375
💻 LST
📖 第 1 页 / 共 5 页
字号:
   1               		.file	"main.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	xQueryInterrupt
  20               	xQueryInterrupt:
  21               	.LFB7:
  22               	.LM1:
  23               	/* prologue: frame size=0 */
  24 0000 CF93      		push r28
  25 0002 DF93      		push r29
  26 0004 CDB7      		in r28,__SP_L__
  27 0006 DEB7      		in r29,__SP_H__
  28               	/* prologue end (size=4) */
  29               	.L2:
  30               	.LM2:
  31 0008 E0E3      		ldi r30,lo8(48)
  32 000a F0E0      		ldi r31,hi8(48)
  33 000c 8081      		ld r24,Z
  34 000e 9927      		clr r25
  35 0010 8170      		andi r24,lo8(1)
  36 0012 9070      		andi r25,hi8(1)
  37 0014 8823      		tst r24
  38 0016 01F4      		brne .L2
  39               	.LM3:
  40 0018 82E2      		ldi r24,lo8(34)
  41 001a 0E94 0000 		call xWriteCH375Cmd
  42               	.LM4:
  43 001e 0E94 0000 		call xReadCH375Data
  44 0022 8093 0000 		sts CH375IntStatus,r24
  45               	.LM5:
  46 0026 8091 0000 		lds r24,CH375IntStatus
  47 002a 8631      		cpi r24,lo8(22)
  48 002c 01F4      		brne .L4
  49 002e 81E0      		ldi r24,lo8(1)
  50 0030 8093 0000 		sts CH375DiskStatus,r24
  51 0034 00C0      		rjmp .L8
  52               	.L4:
  53               	.LM6:
  54 0036 8091 0000 		lds r24,CH375IntStatus
  55 003a 8531      		cpi r24,lo8(21)
  56 003c 01F4      		brne .L8
  57 003e 82E0      		ldi r24,lo8(2)
  58 0040 8093 0000 		sts CH375DiskStatus,r24
  59               	.L8:
  60               	/* epilogue: frame size=0 */
  61 0044 DF91      		pop r29
  62 0046 CF91      		pop r28
  63 0048 0895      		ret
  64               	/* epilogue end (size=3) */
  65               	/* function xQueryInterrupt size 37 (30) */
  66               	.LFE7:
  68               	.global	xDelay100uS
  70               	xDelay100uS:
  71               	.LFB8:
  72               	.LM7:
  73               	/* prologue: frame size=2 */
  74 004a CF93      		push r28
  75 004c DF93      		push r29
  76 004e CDB7      		in r28,__SP_L__
  77 0050 DEB7      		in r29,__SP_H__
  78 0052 2297      		sbiw r28,2
  79 0054 0FB6      		in __tmp_reg__,__SREG__
  80 0056 F894      		cli
  81 0058 DEBF      		out __SP_H__,r29
  82 005a 0FBE      		out __SREG__,__tmp_reg__
  83 005c CDBF      		out __SP_L__,r28
  84               	/* prologue end (size=10) */
  85               	.LM8:
  86 005e 84EF      		ldi r24,lo8(500)
  87 0060 91E0      		ldi r25,hi8(500)
  88 0062 9A83      		std Y+2,r25
  89 0064 8983      		std Y+1,r24
  90               	.LM9:
  91 0066 8981      		ldd r24,Y+1
  92 0068 9A81      		ldd r25,Y+2
  93               	/* #APP */
  94 006a 0197      		1: sbiw r24,1
  95 006c 01F4      		brne 1b
  96               	/* #NOAPP */
  97 006e 9A83      		std Y+2,r25
  98 0070 8983      		std Y+1,r24
  99               	/* epilogue: frame size=2 */
 100 0072 2296      		adiw r28,2
 101 0074 0FB6      		in __tmp_reg__,__SREG__
 102 0076 F894      		cli
 103 0078 DEBF      		out __SP_H__,r29
 104 007a 0FBE      		out __SREG__,__tmp_reg__
 105 007c CDBF      		out __SP_L__,r28
 106 007e DF91      		pop r29
 107 0080 CF91      		pop r28
 108 0082 0895      		ret
 109               	/* epilogue end (size=9) */
 110               	/* function xDelay100uS size 31 (12) */
 111               	.LFE8:
 113               	.global	xDelayAfterWrite
 115               	xDelayAfterWrite:
 116               	.LFB9:
 117               	.LM10:
 118               	/* prologue: frame size=2 */
 119 0084 CF93      		push r28
 120 0086 DF93      		push r29
 121 0088 CDB7      		in r28,__SP_L__
 122 008a DEB7      		in r29,__SP_H__
 123 008c 2297      		sbiw r28,2
 124 008e 0FB6      		in __tmp_reg__,__SREG__
 125 0090 F894      		cli
 126 0092 DEBF      		out __SP_H__,r29
 127 0094 0FBE      		out __SREG__,__tmp_reg__
 128 0096 CDBF      		out __SP_L__,r28
 129               	/* prologue end (size=10) */
 130               	.LM11:
 131 0098 88EE      		ldi r24,lo8(1000)
 132 009a 93E0      		ldi r25,hi8(1000)
 133 009c 9A83      		std Y+2,r25
 134 009e 8983      		std Y+1,r24
 135               	.LM12:
 136 00a0 8981      		ldd r24,Y+1
 137 00a2 9A81      		ldd r25,Y+2
 138               	/* #APP */
 139 00a4 0197      		1: sbiw r24,1
 140 00a6 01F4      		brne 1b
 141               	/* #NOAPP */
 142 00a8 9A83      		std Y+2,r25
 143 00aa 8983      		std Y+1,r24
 144               	/* epilogue: frame size=2 */
 145 00ac 2296      		adiw r28,2
 146 00ae 0FB6      		in __tmp_reg__,__SREG__
 147 00b0 F894      		cli
 148 00b2 DEBF      		out __SP_H__,r29
 149 00b4 0FBE      		out __SREG__,__tmp_reg__
 150 00b6 CDBF      		out __SP_L__,r28
 151 00b8 DF91      		pop r29
 152 00ba CF91      		pop r28
 153 00bc 0895      		ret
 154               	/* epilogue end (size=9) */
 155               	/* function xDelayAfterWrite size 31 (12) */
 156               	.LFE9:
 158               	.global	xFileNameEnumer
 160               	xFileNameEnumer:
 161               	.LFB10:
 162               	.LM13:
 163               	/* prologue: frame size=0 */
 164 00be CF93      		push r28
 165 00c0 DF93      		push r29
 166 00c2 CDB7      		in r28,__SP_L__
 167 00c4 DEB7      		in r29,__SP_H__
 168               	/* prologue end (size=4) */
 169               	/* epilogue: frame size=0 */
 170 00c6 DF91      		pop r29
 171 00c8 CF91      		pop r28
 172 00ca 0895      		ret
 173               	/* epilogue end (size=3) */
 174               	/* function xFileNameEnumer size 7 (0) */
 175               	.LFE10:
 177               	.global	CH375LibInit
 179               	CH375LibInit:
 180               	.LFB11:
 181               	.LM14:
 182               	/* prologue: frame size=2 */
 183 00cc CF93      		push r28
 184 00ce DF93      		push r29
 185 00d0 CDB7      		in r28,__SP_L__
 186 00d2 DEB7      		in r29,__SP_H__
 187 00d4 2297      		sbiw r28,2
 188 00d6 0FB6      		in __tmp_reg__,__SREG__
 189 00d8 F894      		cli
 190 00da DEBF      		out __SP_H__,r29
 191 00dc 0FBE      		out __SREG__,__tmp_reg__
 192 00de CDBF      		out __SP_L__,r28
 193               	/* prologue end (size=10) */
 194               	.LM15:
 195 00e0 85E0      		ldi r24,lo8(5)
 196 00e2 8093 0000 		sts CH375LibConfig,r24
 197               	.LM16:
 198 00e6 0E94 0000 		call CH375GetVer
 199 00ea 8533      		cpi r24,lo8(53)
 200 00ec 00F4      		brsh .L16
 201               	.LM17:
 202 00ee 2FEF      		ldi r18,lo8(255)
 203 00f0 30E0      		ldi r19,hi8(255)
 204 00f2 3A83      		std Y+2,r19
 205 00f4 2983      		std Y+1,r18
 206 00f6 00C0      		rjmp .L18
 207               	.L16:
 208               	.LM18:
 209 00f8 80E0      		ldi r24,lo8(DISK_BASE_BUF)
 210 00fa 90E0      		ldi r25,hi8(DISK_BASE_BUF)
 211 00fc 9093 0000 		sts (pDISK_BASE_BUF)+1,r25
 212 0100 8093 0000 		sts pDISK_BASE_BUF,r24
 213               	.LM19:
 214 0104 0E94 0000 		call CH375Init
 215 0108 282F      		mov r18,r24
 216 010a 3327      		clr r19
 217 010c 3A83      		std Y+2,r19
 218 010e 2983      		std Y+1,r18
 219               	.L18:
 220 0110 8981      		ldd r24,Y+1
 221 0112 9A81      		ldd r25,Y+2
 222               	/* epilogue: frame size=2 */
 223 0114 2296      		adiw r28,2
 224 0116 0FB6      		in __tmp_reg__,__SREG__
 225 0118 F894      		cli
 226 011a DEBF      		out __SP_H__,r29
 227 011c 0FBE      		out __SREG__,__tmp_reg__
 228 011e CDBF      		out __SP_L__,r28
 229 0120 DF91      		pop r29
 230 0122 CF91      		pop r28
 231 0124 0895      		ret
 232               	/* epilogue end (size=9) */
 233               	/* function CH375LibInit size 45 (26) */
 234               	.LFE11:
 236               	.global	xWriteCH375Cmd
 238               	xWriteCH375Cmd:
 239               	.LFB12:
 240               	.LM20:
 241               	/* prologue: frame size=41 */
 242 0126 CF93      		push r28
 243 0128 DF93      		push r29
 244 012a CDB7      		in r28,__SP_L__
 245 012c DEB7      		in r29,__SP_H__
 246 012e A997      		sbiw r28,41
 247 0130 0FB6      		in __tmp_reg__,__SREG__
 248 0132 F894      		cli
 249 0134 DEBF      		out __SP_H__,r29
 250 0136 0FBE      		out __SREG__,__tmp_reg__
 251 0138 CDBF      		out __SP_L__,r28
 252               	/* prologue end (size=10) */
 253 013a 89A7      		std Y+41,r24
 254 013c 80E0      		ldi r24,lo8(0x3f800000)
 255 013e 90E0      		ldi r25,hi8(0x3f800000)
 256 0140 A0E8      		ldi r26,hlo8(0x3f800000)
 257 0142 BFE3      		ldi r27,hhi8(0x3f800000)
 258 0144 88A3      		std Y+32,r24
 259 0146 99A3      		std Y+33,r25
 260 0148 AAA3      		std Y+34,r26
 261 014a BBA3      		std Y+35,r27
 262               	.LBB18:
 263               	.LBB19:
 264               	.LM21:
 265 014c 2AEF      		ldi r18,lo8(0x406bedfa)
 266 014e 3DEE      		ldi r19,hi8(0x406bedfa)
 267 0150 4BE6      		ldi r20,hlo8(0x406bedfa)
 268 0152 50E4      		ldi r21,hhi8(0x406bedfa)
 269 0154 68A1      		ldd r22,Y+32
 270 0156 79A1      		ldd r23,Y+33
 271 0158 8AA1      		ldd r24,Y+34
 272 015a 9BA1      		ldd r25,Y+35
 273 015c 0E94 0000 		call __mulsf3
 274 0160 DC01      		movw r26,r24
 275 0162 CB01      		movw r24,r22
 276 0164 8DA3      		std Y+37,r24
 277 0166 9EA3      		std Y+38,r25
 278 0168 AFA3      		std Y+39,r26
 279 016a B8A7      		std Y+40,r27
 280               	.LM22:
 281 016c 20E0      		ldi r18,lo8(0x3f800000)
 282 016e 30E0      		ldi r19,hi8(0x3f800000)
 283 0170 40E8      		ldi r20,hlo8(0x3f800000)
 284 0172 5FE3      		ldi r21,hhi8(0x3f800000)
 285 0174 6DA1      		ldd r22,Y+37
 286 0176 7EA1      		ldd r23,Y+38
 287 0178 8FA1      		ldd r24,Y+39
 288 017a 98A5      		ldd r25,Y+40
 289 017c 0E94 0000 		call __ltsf2
 290 0180 8823      		tst r24
 291 0182 04F0      		brlt .L23
 292               	.LM23:
 293 0184 00C0      		rjmp .L21
 294               	.L23:
 295               	.LM24:
 296 0186 81E0      		ldi r24,lo8(1)
 297 0188 8CA3      		std Y+36,r24
 298 018a 00C0      		rjmp .L24
 299               	.L21:
 300               	.LM25:
 301 018c 20E0      		ldi r18,lo8(0x437f0000)
 302 018e 30E0      		ldi r19,hi8(0x437f0000)
 303 0190 4FE7      		ldi r20,hlo8(0x437f0000)
 304 0192 53E4      		ldi r21,hhi8(0x437f0000)
 305 0194 6DA1      		ldd r22,Y+37
 306 0196 7EA1      		ldd r23,Y+38
 307 0198 8FA1      		ldd r24,Y+39
 308 019a 98A5      		ldd r25,Y+40
 309 019c 0E94 0000 		call __gtsf2
 310 01a0 1816      		cp __zero_reg__,r24
 311 01a2 04F0      		brlt .L27
 312 01a4 00C0      		rjmp .L25
 313               	.L27:
 314               	.LM26:
 315 01a6 1CA2      		std Y+36,__zero_reg__
 316 01a8 00C0      		rjmp .L24
 317               	.L25:
 318               	.LM27:
 319 01aa 6DA1      		ldd r22,Y+37
 320 01ac 7EA1      		ldd r23,Y+38
 321 01ae 8FA1      		ldd r24,Y+39
 322 01b0 98A5      		ldd r25,Y+40
 323 01b2 0E94 0000 		call __fixunssfsi
 324 01b6 DC01      		movw r26,r24
 325 01b8 CB01      		movw r24,r22
 326 01ba 8CA3      		std Y+36,r24
 327               	.L24:
 328 01bc 8CA1      		ldd r24,Y+36
 329 01be 8F8F      		std Y+31,r24
 330               	.LBB20:
 331               	.LBB21:
 332               	.LM28:
 333 01c0 8F8D      		ldd r24,Y+31
 334               	/* #APP */
 335 01c2 8A95      		1: dec r24
 336 01c4 01F4      		brne 1b
 337               	/* #NOAPP */
 338 01c6 8F8F      		std Y+31,r24
 339 01c8 80E0      		ldi r24,lo8(0x3f800000)
 340 01ca 90E0      		ldi r25,hi8(0x3f800000)
 341 01cc A0E8      		ldi r26,hlo8(0x3f800000)
 342 01ce BFE3      		ldi r27,hhi8(0x3f800000)
 343 01d0 8E8B      		std Y+22,r24
 344 01d2 9F8B      		std Y+23,r25
 345 01d4 A88F      		std Y+24,r26
 346 01d6 B98F      		std Y+25,r27
 347               	.LBE21:
 348               	.LBE20:
 349               	.LBE19:
 350               	.LBE18:
 351               	.LBB22:
 352               	.LBB23:
 353               	.LM29:
 354 01d8 2AEF      		ldi r18,lo8(0x406bedfa)
 355 01da 3DEE      		ldi r19,hi8(0x406bedfa)
 356 01dc 4BE6      		ldi r20,hlo8(0x406bedfa)
 357 01de 50E4      		ldi r21,hhi8(0x406bedfa)
 358 01e0 6E89      		ldd r22,Y+22
 359 01e2 7F89      		ldd r23,Y+23
 360 01e4 888D      		ldd r24,Y+24
 361 01e6 998D      		ldd r25,Y+25
 362 01e8 0E94 0000 		call __mulsf3
 363 01ec DC01      		movw r26,r24
 364 01ee CB01      		movw r24,r22
 365 01f0 8B8F      		std Y+27,r24
 366 01f2 9C8F      		std Y+28,r25
 367 01f4 AD8F      		std Y+29,r26
 368 01f6 BE8F      		std Y+30,r27
 369               	.LM30:
 370 01f8 20E0      		ldi r18,lo8(0x3f800000)
 371 01fa 30E0      		ldi r19,hi8(0x3f800000)
 372 01fc 40E8      		ldi r20,hlo8(0x3f800000)
 373 01fe 5FE3      		ldi r21,hhi8(0x3f800000)
 374 0200 6B8D      		ldd r22,Y+27
 375 0202 7C8D      		ldd r23,Y+28
 376 0204 8D8D      		ldd r24,Y+29
 377 0206 9E8D      		ldd r25,Y+30

⌨️ 快捷键说明

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