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

📄 file1.lst

📁 单片机学习系统附的实验源代码
💻 LST
📖 第 1 页 / 共 2 页
字号:
                            226 ; code
                            227 ;--------------------------------------------------------
                            228 	.area CSEG    (CODE)
   002C                     229 __sdcc_program_startup:
   002C 12s00r31            230 	lcall	_main
                            231 ;	return from main will lock up
   002F 80 FE               232 	sjmp .
                            233 ;------------------------------------------------------------
                            234 ;Allocation info for local variables in function 'main'
                            235 ;------------------------------------------------------------
                            236 ;k                         Allocated to registers 
                            237 ;m                         Allocated to registers r2 r3 
                            238 ;------------------------------------------------------------
                            239 ;C:/hj51avr/code/c/file1.c:9: void main()
                            240 ;	-----------------------------------------
                            241 ;	 function main
                            242 ;	-----------------------------------------
   0031                     243 _main:
                    0002    244 	ar2 = 0x02
                    0003    245 	ar3 = 0x03
                    0004    246 	ar4 = 0x04
                    0005    247 	ar5 = 0x05
                    0006    248 	ar6 = 0x06
                    0007    249 	ar7 = 0x07
                    0000    250 	ar0 = 0x00
                    0001    251 	ar1 = 0x01
                            252 ;C:/hj51avr/code/c/file1.c:12: P0 = 0;            //关闭数码显示
                            253 ;     genAssign
   0031 75 80 00            254 	mov	_P0,#0x00
                            255 ;C:/hj51avr/code/c/file1.c:13: P2 = 0;            //
                            256 ;     genAssign
   0034 75 A0 00            257 	mov	_P2,#0x00
                            258 ;C:/hj51avr/code/c/file1.c:14: P3_7 = 0;          //关闭蜂鸣器
                            259 ;     genAssign
   0037 C2 B7               260 	clr	_P3_7
                            261 ;C:/hj51avr/code/c/file1.c:16: while(1)             //设置一个无限制循环
   0039                     262 00102$:
                            263 ;C:/hj51avr/code/c/file1.c:17: {   m = 254;
                            264 ;     genAssign
   0039 7A FE               265 	mov	r2,#0xFE
   003B 7B 00               266 	mov	r3,#0x00
                            267 ;C:/hj51avr/code/c/file1.c:18: P1 = m;          //从第一个灯开始显示
                            268 ;     genAssign
   003D 75 90 FE            269 	mov	_P1,#0xFE
                            270 ;C:/hj51avr/code/c/file1.c:19: for(k=0;k<8;k++)
                            271 ;     genAssign
   0040 7C 00               272 	mov	r4,#0x00
   0042 7D 00               273 	mov	r5,#0x00
   0044                     274 00104$:
                            275 ;     genCmpLt
                            276 ;     genCmp
   0044 C3                  277 	clr	c
   0045 EC                  278 	mov	a,r4
   0046 94 08               279 	subb	a,#0x08
   0048 ED                  280 	mov	a,r5
   0049 64 80               281 	xrl	a,#0x80
   004B 94 80               282 	subb	a,#0x80
                            283 ;     genIfxJump
                            284 ;       Peephole 108    removed ljmp by inverse jump logic
   004D 50 26               285 	jnc     00107$
   004F                     286 00119$:
                            287 ;C:/hj51avr/code/c/file1.c:20: {delay(255);
                            288 ;     genCall
   004F 75 82 FF            289 	mov	dpl,#0xFF
   0052 C0 02               290 	push	ar2
   0054 C0 03               291 	push	ar3
   0056 C0 04               292 	push	ar4
   0058 C0 05               293 	push	ar5
   005A 12s00rB0            294 	lcall	_delay
   005D D0 05               295 	pop	ar5
   005F D0 04               296 	pop	ar4
   0061 D0 03               297 	pop	ar3
   0063 D0 02               298 	pop	ar2
                            299 ;C:/hj51avr/code/c/file1.c:21: m <<=1;
                            300 ;     genLeftShift
                            301 ;     genLeftShiftLiteral
                            302 ;     genlshTwo
   0065 EB                  303 	mov	a,r3
   0066 CA                  304 	xch	a,r2
   0067 25 E0               305 	add	a,acc
   0069 CA                  306 	xch	a,r2
   006A 33                  307 	rlc	a
   006B FB                  308 	mov	r3,a
                            309 ;C:/hj51avr/code/c/file1.c:22: P1  = m;        //表示,P1每次向左一位
                            310 ;     genCast
   006C 8A 90               311 	mov	_P1,r2
                            312 ;C:/hj51avr/code/c/file1.c:19: for(k=0;k<8;k++)
                            313 ;     genPlus
                            314 ;     genPlusIncr
                            315 ;	tail increment optimized
   006E 0C                  316 	inc	r4
   006F BC 00 D2            317 	cjne	r4,#0x00,00104$
   0072 0D                  318 	inc	r5
                            319 ;       Peephole 112.b  changed ljmp to sjmp
   0073 80 CF               320 	sjmp    00104$
   0075                     321 00107$:
                            322 ;C:/hj51avr/code/c/file1.c:24: m = 128;
                            323 ;     genAssign
   0075 7A 80               324 	mov	r2,#0x80
   0077 7B 00               325 	mov	r3,#0x00
                            326 ;C:/hj51avr/code/c/file1.c:25: for(k=0;k<8;k++)   //第二次重复
                            327 ;     genAssign
   0079 7C 00               328 	mov	r4,#0x00
   007B 7D 00               329 	mov	r5,#0x00
   007D                     330 00108$:
                            331 ;     genCmpLt
                            332 ;     genCmp
   007D C3                  333 	clr	c
   007E EC                  334 	mov	a,r4
   007F 94 08               335 	subb	a,#0x08
   0081 ED                  336 	mov	a,r5
   0082 64 80               337 	xrl	a,#0x80
   0084 94 80               338 	subb	a,#0x80
                            339 ;     genIfxJump
                            340 ;       Peephole 108    removed ljmp by inverse jump logic
   0086 50 B1               341 	jnc     00102$
   0088                     342 00120$:
                            343 ;C:/hj51avr/code/c/file1.c:26: {delay(255);
                            344 ;     genCall
   0088 75 82 FF            345 	mov	dpl,#0xFF
   008B C0 02               346 	push	ar2
   008D C0 03               347 	push	ar3
   008F C0 04               348 	push	ar4
   0091 C0 05               349 	push	ar5
   0093 12s00rB0            350 	lcall	_delay
   0096 D0 05               351 	pop	ar5
   0098 D0 04               352 	pop	ar4
   009A D0 03               353 	pop	ar3
   009C D0 02               354 	pop	ar2
                            355 ;C:/hj51avr/code/c/file1.c:27: m >>= 1;
                            356 ;     genRightShift
                            357 ;     genSignedRightShift
                            358 ;     genRightShiftLiteral
                            359 ;     genrshTwo
   009E EB                  360 	mov	a,r3
   009F A2 E7               361 	mov	c,acc.7
   00A1 13                  362 	rrc	a
   00A2 CA                  363 	xch	a,r2
   00A3 13                  364 	rrc	a
   00A4 CA                  365 	xch	a,r2
   00A5 FB                  366 	mov	r3,a
                            367 ;C:/hj51avr/code/c/file1.c:28: P1 = m;        //表示,P1每次向右一位
                            368 ;     genCast
   00A6 8A 90               369 	mov	_P1,r2
                            370 ;C:/hj51avr/code/c/file1.c:25: for(k=0;k<8;k++)   //第二次重复
                            371 ;     genPlus
                            372 ;     genPlusIncr
                            373 ;	tail increment optimized
   00A8 0C                  374 	inc	r4
   00A9 BC 00 D1            375 	cjne	r4,#0x00,00108$
   00AC 0D                  376 	inc	r5
                            377 ;       Peephole 112.b  changed ljmp to sjmp
   00AD 80 CE               378 	sjmp    00108$
   00AF                     379 00112$:
   00AF 22                  380 	ret
                            381 ;------------------------------------------------------------
                            382 ;Allocation info for local variables in function 'delay'
                            383 ;------------------------------------------------------------
                            384 ;times                     Allocated to registers r2 
                            385 ;t                         Allocated to registers r3 r4 
                            386 ;i                         Allocated to registers 
                            387 ;------------------------------------------------------------
                            388 ;C:/hj51avr/code/c/file1.c:35: void delay(unsigned char times)
                            389 ;	-----------------------------------------
                            390 ;	 function delay
                            391 ;	-----------------------------------------
   00B0                     392 _delay:
                            393 ;     genReceive
   00B0 AA 82               394 	mov	r2,dpl
                            395 ;C:/hj51avr/code/c/file1.c:37: int t=12000;           //延时倍数
                            396 ;     genAssign
   00B2 7B E0               397 	mov	r3,#0xE0
   00B4 7C 2E               398 	mov	r4,#0x2E
                            399 ;C:/hj51avr/code/c/file1.c:38: unsigned char i=times;   
                            400 ;     genAssign
   00B6                     401 00105$:
                            402 ;C:/hj51avr/code/c/file1.c:39: for(;i!=0;i--)
                            403 ;     genCmpEq
   00B6 BA 00 02            404 	cjne	r2,#0x00,00114$
                            405 ;       Peephole 112.b  changed ljmp to sjmp
   00B9 80 1E               406 	sjmp    00109$
   00BB                     407 00114$:
                            408 ;     genAssign
   00BB 8B 05               409 	mov	ar5,r3
   00BD 8C 06               410 	mov	ar6,r4
   00BF                     411 00101$:
                            412 ;C:/hj51avr/code/c/file1.c:40: {for(;t!=0;t--){}}
                            413 ;     genCmpEq
                            414 ;       Peephole 241.b  optimized compare
   00BF E4                  415 	clr     a
   00C0 BD 00 04            416 	cjne    r5,#0x00,00115$
   00C3 BE 00 01            417 	cjne    r6,#0x00,00115$
   00C6 04                  418 	inc     a
   00C7                     419 00115$:
   00C7                     420 00116$:
   00C7 FF                  421 	mov	r7,a
                            422 ;     genAssign
   00C8 8D 03               423 	mov	ar3,r5
   00CA 8E 04               424 	mov	ar4,r6
                            425 ;     genIfx
   00CC EF                  426 	mov	a,r7
                            427 ;     genIfxJump
                            428 ;       Peephole 109    removed ljmp by inverse jump logic
   00CD 70 07               429 	jnz     00107$
   00CF                     430 00117$:
                            431 ;     genMinus
                            432 ;     genMinusDec
                            433 ;	tail decrement optimized
   00CF 1D                  434 	dec	r5
   00D0 BD FF EC            435 	cjne	r5,#0xff,00101$
   00D3 1E                  436 	dec	r6
                            437 ;       Peephole 112.b  changed ljmp to sjmp
   00D4 80 E9               438 	sjmp    00101$
   00D6                     439 00107$:
                            440 ;C:/hj51avr/code/c/file1.c:39: for(;i!=0;i--)
                            441 ;     genMinus
                            442 ;     genMinusDec
   00D6 1A                  443 	dec	r2
                            444 ;       Peephole 112.b  changed ljmp to sjmp
   00D7 80 DD               445 	sjmp    00105$
   00D9                     446 00109$:
   00D9 22                  447 	ret
                            448 	.area CSEG    (CODE)
                            449 	.area XINIT   (CODE)

⌨️ 快捷键说明

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