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

📄 i2c.lst

📁 光电编码器源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
   1               		.file	"i2c.c"
   2               		.arch atmega16
   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	ledseg
  19               		.data
  22               	ledseg:
  23 0000 FC        		.byte	-4
  24 0001 60        		.byte	96
  25 0002 DA        		.byte	-38
  26 0003 F2        		.byte	-14
  27 0004 66        		.byte	102
  28 0005 B6        		.byte	-74
  29 0006 BE        		.byte	-66
  30 0007 E0        		.byte	-32
  31 0008 FE        		.byte	-2
  32 0009 F6        		.byte	-10
  33 000a 00        		.byte	0
  34               		.text
  35               	.global	start_i2c
  37               	start_i2c:
  38               	.LFB6:
  39               	.LM1:
  40               	/* prologue: frame size=0 */
  41               	/* prologue end (size=0) */
  42               	.LM2:
  43 0000 C09A      		sbi 56-0x20,0
  44               	.LBB2:
  45               	.LBB3:
  46               	.LM3:
  47 0002 EAEF      		ldi r30,lo8(250)
  48 0004 F0E0      		ldi r31,hi8(250)
  49               	.LBB4:
  50               	.LBB5:
  51               	.LM4:
  52 0006 CF01      		movw r24,r30
  53               	/* #APP */
  54 0008 0197      		1: sbiw r24,1
  55 000a F1F7      		brne 1b
  56               	/* #NOAPP */
  57               	.LBE5:
  58               	.LBE4:
  59               	.LBE3:
  60               	.LBE2:
  61               	.LM5:
  62 000c C19A      		sbi 56-0x20,1
  63               	.LBB6:
  64               	.LBB7:
  65               	.LM6:
  66 000e 84EF      		ldi r24,lo8(500)
  67 0010 91E0      		ldi r25,hi8(500)
  68               	.LBB8:
  69               	.LBB9:
  70               	.LM7:
  71 0012 DC01      		movw r26,r24
  72               	/* #APP */
  73 0014 1197      		1: sbiw r26,1
  74 0016 F1F7      		brne 1b
  75               	/* #NOAPP */
  76               	.LBE9:
  77               	.LBE8:
  78               	.LBE7:
  79               	.LBE6:
  80               	.LM8:
  81 0018 C098      		cbi 56-0x20,0
  82               	.LBB10:
  83               	.LBB11:
  84               	.LBB12:
  85               	.LBB13:
  86               	.LM9:
  87               	/* #APP */
  88 001a 0197      		1: sbiw r24,1
  89 001c F1F7      		brne 1b
  90               	/* #NOAPP */
  91               	.LBE13:
  92               	.LBE12:
  93               	.LBE11:
  94               	.LBE10:
  95               	.LM10:
  96 001e C198      		cbi 56-0x20,1
  97               	.LBB14:
  98               	.LBB15:
  99               	.LBB16:
 100               	.LBB17:
 101               	.LM11:
 102 0020 CF01      		movw r24,r30
 103               	/* #APP */
 104 0022 0197      		1: sbiw r24,1
 105 0024 F1F7      		brne 1b
 106               	/* #NOAPP */
 107               	.LBE17:
 108               	.LBE16:
 109               	.LBE15:
 110               	.LBE14:
 111               	/* epilogue: frame size=0 */
 112 0026 0895      		ret
 113               	/* epilogue end (size=1) */
 114               	/* function start_i2c size 28 (27) */
 115               	.LFE6:
 117               	.global	stop_i2c
 119               	stop_i2c:
 120               	.LFB7:
 121               	.LM12:
 122               	/* prologue: frame size=0 */
 123               	/* prologue end (size=0) */
 124               	.LM13:
 125 0028 C098      		cbi 56-0x20,0
 126               	.LBB18:
 127               	.LBB19:
 128               	.LM14:
 129 002a EAEF      		ldi r30,lo8(250)
 130 002c F0E0      		ldi r31,hi8(250)
 131               	.LBB20:
 132               	.LBB21:
 133               	.LM15:
 134 002e CF01      		movw r24,r30
 135               	/* #APP */
 136 0030 0197      		1: sbiw r24,1
 137 0032 F1F7      		brne 1b
 138               	/* #NOAPP */
 139               	.LBE21:
 140               	.LBE20:
 141               	.LBE19:
 142               	.LBE18:
 143               	.LM16:
 144 0034 C19A      		sbi 56-0x20,1
 145               	.LBB22:
 146               	.LBB23:
 147               	.LM17:
 148 0036 84EF      		ldi r24,lo8(500)
 149 0038 91E0      		ldi r25,hi8(500)
 150               	.LBB24:
 151               	.LBB25:
 152               	.LM18:
 153               	/* #APP */
 154 003a 0197      		1: sbiw r24,1
 155 003c F1F7      		brne 1b
 156               	/* #NOAPP */
 157               	.LBE25:
 158               	.LBE24:
 159               	.LBE23:
 160               	.LBE22:
 161               	.LM19:
 162 003e C09A      		sbi 56-0x20,0
 163               	.LBB26:
 164               	.LBB27:
 165               	.LBB28:
 166               	.LBB29:
 167               	.LM20:
 168 0040 CF01      		movw r24,r30
 169               	/* #APP */
 170 0042 0197      		1: sbiw r24,1
 171 0044 F1F7      		brne 1b
 172               	/* #NOAPP */
 173               	.LBE29:
 174               	.LBE28:
 175               	.LBE27:
 176               	.LBE26:
 177               	/* epilogue: frame size=0 */
 178 0046 0895      		ret
 179               	/* epilogue end (size=1) */
 180               	/* function stop_i2c size 22 (21) */
 181               	.LFE7:
 183               	.global	sendbyte
 185               	sendbyte:
 186               	.LFB8:
 187               	.LM21:
 188               	/* prologue: frame size=0 */
 189               	/* prologue end (size=0) */
 190 0048 A82F      		mov r26,r24
 191 004a BB27      		clr r27
 192 004c 26E0      		ldi r18,lo8(6)
 193 004e 30E0      		ldi r19,hi8(6)
 194 0050 40E0      		ldi r20,hlo8(6)
 195 0052 50E0      		ldi r21,hhi8(6)
 196 0054 60E0      		ldi r22,lo8(0)
 197 0056 70E0      		ldi r23,hi8(0)
 198 0058 E7E0      		ldi r30,lo8(7)
 199               	.L81:
 200               	.LM22:
 201 005a CD01      		movw r24,r26
 202 005c 062E      		mov r0,r22
 203 005e 02C0      		rjmp 2f
 204 0060 880F      	1:	lsl r24
 205 0062 991F      		rol r25
 206 0064 0A94      	2:	dec r0
 207 0066 E2F7      		brpl 1b
 208 0068 87FF      		sbrs r24,7
 209 006a 02C0      		rjmp .L63
 210               	.LM23:
 211 006c C09A      		sbi 56-0x20,0
 212 006e 01C0      		rjmp .L68
 213               	.L63:
 214               	.LM24:
 215 0070 C098      		cbi 56-0x20,0
 216               	.L68:
 217               	.LBB30:
 218               	.LBB31:
 219               	.LBB32:
 220               	.LBB33:
 221               	.LM25:
 222 0072 822F      		mov r24,r18
 223               	/* #APP */
 224 0074 8A95      		1: dec r24
 225 0076 F1F7      		brne 1b
 226               	/* #NOAPP */
 227               	.LBE33:
 228               	.LBE32:
 229               	.LBE31:
 230               	.LBE30:
 231               	.LM26:
 232 0078 C19A      		sbi 56-0x20,1
 233               	.LBB34:
 234               	.LBB35:
 235               	.LBB36:
 236               	.LBB37:
 237               	.LM27:
 238 007a 822F      		mov r24,r18
 239               	/* #APP */
 240 007c 8A95      		1: dec r24
 241 007e F1F7      		brne 1b
 242               	/* #NOAPP */
 243               	.LBE37:
 244               	.LBE36:
 245               	.LBE35:
 246               	.LBE34:
 247               	.LM28:
 248 0080 C198      		cbi 56-0x20,1
 249               	.LM29:
 250 0082 E150      		subi r30,lo8(-(-1))
 251 0084 6F5F      		subi r22,lo8(-(1))
 252 0086 7F4F      		sbci r23,hi8(-(1))
 253 0088 E7FF      		sbrs r30,7
 254 008a E7CF      		rjmp .L81
 255               	.LBB38:
 256               	.LBB39:
 257               	.LM30:
 258 008c 80E1      		ldi r24,lo8(16)
 259               	.LBB40:
 260               	.LBB41:
 261               	.LM31:
 262 008e 982F      		mov r25,r24
 263               	/* #APP */
 264 0090 9A95      		1: dec r25
 265 0092 F1F7      		brne 1b
 266               	/* #NOAPP */
 267               	.LBE41:
 268               	.LBE40:
 269               	.LBE39:
 270               	.LBE38:
 271               	.LM32:
 272 0094 C09A      		sbi 56-0x20,0
 273               	.LBB42:
 274               	.LBB43:
 275               	.LBB44:
 276               	.LBB45:
 277               	.LM33:
 278 0096 982F      		mov r25,r24
 279               	/* #APP */
 280 0098 9A95      		1: dec r25
 281 009a F1F7      		brne 1b
 282               	/* #NOAPP */
 283               	.LBE45:
 284               	.LBE44:
 285               	.LBE43:
 286               	.LBE42:
 287               	.LM34:
 288 009c C19A      		sbi 56-0x20,1
 289               	.LBB46:
 290               	.LBB47:
 291               	.LBB48:
 292               	.LBB49:
 293               	.LM35:
 294 009e 982F      		mov r25,r24
 295               	/* #APP */
 296 00a0 9A95      		1: dec r25
 297 00a2 F1F7      		brne 1b
 298               	/* #NOAPP */
 299               	.LBE49:
 300               	.LBE48:
 301               	.LBE47:
 302               	.LBE46:
 303               	.LM36:
 304 00a4 C198      		cbi 56-0x20,1
 305               	.LBB50:
 306               	.LBB51:
 307               	.LBB52:
 308               	.LBB53:
 309               	.LM37:
 310               	/* #APP */
 311 00a6 8A95      		1: dec r24
 312 00a8 F1F7      		brne 1b
 313               	/* #NOAPP */
 314               	.LBE53:
 315               	.LBE52:
 316               	.LBE51:
 317               	.LBE50:
 318               	/* epilogue: frame size=0 */
 319 00aa 0895      		ret
 320               	/* epilogue end (size=1) */
 321               	/* function sendbyte size 62 (61) */
 322               	.LFE8:
 324               	.global	Isendstr
 326               	Isendstr:
 327               	.LFB9:
 328               	.LM38:
 329               	/* prologue: frame size=0 */
 330 00ac FF92      		push r15
 331 00ae 0F93      		push r16
 332 00b0 1F93      		push r17
 333 00b2 CF93      		push r28
 334 00b4 DF93      		push r29
 335               	/* prologue end (size=5) */
 336 00b6 182F      		mov r17,r24
 337 00b8 062F      		mov r16,r22
 338 00ba EA01      		movw r28,r20
 339 00bc F22E      		mov r15,r18
 340               	.LM39:
 341 00be 0E94 0000 		call start_i2c
 342               	.LM40:
 343 00c2 812F      		mov r24,r17
 344 00c4 0E94 0000 		call sendbyte
 345               	.LM41:
 346 00c8 802F      		mov r24,r16
 347 00ca 0E94 0000 		call sendbyte
 348               	.LM42:
 349 00ce 10E0      		ldi r17,lo8(0)
 350               	.L131:
 351               	.LM43:
 352 00d0 1F15      		cp r17,r15
 353 00d2 48F4      		brsh .L130
 354               	.LM44:
 355 00d4 8991      		ld r24,Y+
 356 00d6 0E94 0000 		call sendbyte
 357               	.LBB54:
 358               	.LBB55:
 359               	.LM45:
 360 00da 84EF      		ldi r24,lo8(500)
 361 00dc 91E0      		ldi r25,hi8(500)
 362               	.LBB56:
 363               	.LBB57:
 364               	.LM46:
 365               	/* #APP */
 366 00de 0197      		1: sbiw r24,1
 367 00e0 F1F7      		brne 1b
 368               	/* #NOAPP */
 369               	.LBE57:
 370               	.LBE56:
 371               	.LBE55:
 372               	.LBE54:
 373               	.LM47:
 374 00e2 1F5F      		subi r17,lo8(-(1))

⌨️ 快捷键说明

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