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

📄 file3.rst

📁 单片机学习系统附的实验源代码
💻 RST
📖 第 1 页 / 共 2 页
字号:
                    0002    249 	ar2 = 0x02
                    0003    250 	ar3 = 0x03
                    0004    251 	ar4 = 0x04
                    0005    252 	ar5 = 0x05
                    0006    253 	ar6 = 0x06
                    0007    254 	ar7 = 0x07
                    0000    255 	ar0 = 0x00
                    0001    256 	ar1 = 0x01
                            257 ;c:/hj51avr/code/c/file3.c:24: P1 = 255;          //关闭LED显示
                            258 ;     genAssign
   0031 75 90 FF            259 	mov	_P1,#0xFF
                            260 ;c:/hj51avr/code/c/file3.c:25: P0 = 0;            //关闭数码显示
                            261 ;     genAssign
   0034 75 80 00            262 	mov	_P0,#0x00
                            263 ;c:/hj51avr/code/c/file3.c:26: P2 = 0;            //
                            264 ;     genAssign
   0037 75 A0 00            265 	mov	_P2,#0x00
                            266 ;c:/hj51avr/code/c/file3.c:27: P3_7 = 0;          //关闭蜂鸣器
                            267 ;     genAssign
   003A C2 B7               268 	clr	_P3_7
                            269 ;c:/hj51avr/code/c/file3.c:30: {  for(k=0;k<32;k++)
   003C                     270 00112$:
                            271 ;     genAssign
   003C 7A 00               272 	mov	r2,#0x00
   003E 7B 00               273 	mov	r3,#0x00
   0040                     274 00104$:
                            275 ;     genCmpLt
                            276 ;     genCmp
   0040 C3                  277 	clr	c
   0041 EA                  278 	mov	a,r2
   0042 94 20               279 	subb	a,#0x20
   0044 EB                  280 	mov	a,r3
   0045 64 80               281 	xrl	a,#0x80
   0047 94 80               282 	subb	a,#0x80
                            283 ;     genIfxJump
                            284 ;       Peephole 108    removed ljmp by inverse jump logic
   0049 50 F1               285 	jnc     00112$
   004B                     286 00113$:
                            287 ;c:/hj51avr/code/c/file3.c:31: { delay(255);      //延时 
                            288 ;     genCall
   004B 75 82 FF            289 	mov	dpl,#0xFF
   004E C0 02               290 	push	ar2
   0050 C0 03               291 	push	ar3
   0052 12 00 76            292 	lcall	_delay
   0055 D0 03               293 	pop	ar3
   0057 D0 02               294 	pop	ar2
                            295 ;c:/hj51avr/code/c/file3.c:32: display(k%8,k);
                            296 ;     genAnd
   0059 74 07               297 	mov	a,#0x07
   005B 5A                  298 	anl	a,r2
   005C FC                  299 	mov	r4,a
   005D 7D 00               300 	mov	r5,#0x00
                            301 ;     genCast
   005F 8C 82               302 	mov	dpl,r4
                            303 ;     genCast
   0061 8A 08               304 	mov	_display_PARM_2,r2
                            305 ;     genCall
   0063 C0 02               306 	push	ar2
   0065 C0 03               307 	push	ar3
   0067 12 00 A0            308 	lcall	_display
   006A D0 03               309 	pop	ar3
   006C D0 02               310 	pop	ar2
                            311 ;c:/hj51avr/code/c/file3.c:30: {  for(k=0;k<32;k++)
                            312 ;     genPlus
                            313 ;     genPlusIncr
                            314 ;	tail increment optimized
   006E 0A                  315 	inc	r2
   006F BA 00 CE            316 	cjne	r2,#0x00,00104$
   0072 0B                  317 	inc	r3
                            318 ;       Peephole 112.b  changed ljmp to sjmp
   0073 80 CB               319 	sjmp    00104$
   0075                     320 00108$:
   0075 22                  321 	ret
                            322 ;------------------------------------------------------------
                            323 ;Allocation info for local variables in function 'delay'
                            324 ;------------------------------------------------------------
                            325 ;times                     Allocated to registers r2 
                            326 ;t                         Allocated to registers r3 r4 
                            327 ;i                         Allocated to registers 
                            328 ;------------------------------------------------------------
                            329 ;c:/hj51avr/code/c/file3.c:39: void delay(unsigned char times)
                            330 ;	-----------------------------------------
                            331 ;	 function delay
                            332 ;	-----------------------------------------
   0076                     333 _delay:
                            334 ;     genReceive
   0076 AA 82               335 	mov	r2,dpl
                            336 ;c:/hj51avr/code/c/file3.c:41: int t=25000;           //延时倍数
                            337 ;     genAssign
   0078 7B A8               338 	mov	r3,#0xA8
   007A 7C 61               339 	mov	r4,#0x61
                            340 ;c:/hj51avr/code/c/file3.c:42: unsigned char i=times;   
                            341 ;     genAssign
   007C                     342 00105$:
                            343 ;c:/hj51avr/code/c/file3.c:43: for(;i!=0;i--)
                            344 ;     genCmpEq
   007C BA 00 02            345 	cjne	r2,#0x00,00114$
                            346 ;       Peephole 112.b  changed ljmp to sjmp
   007F 80 1E               347 	sjmp    00109$
   0081                     348 00114$:
                            349 ;     genAssign
   0081 8B 05               350 	mov	ar5,r3
   0083 8C 06               351 	mov	ar6,r4
   0085                     352 00101$:
                            353 ;c:/hj51avr/code/c/file3.c:44: {for(;t!=0;t--){}}
                            354 ;     genCmpEq
                            355 ;       Peephole 241.b  optimized compare
   0085 E4                  356 	clr     a
   0086 BD 00 04            357 	cjne    r5,#0x00,00115$
   0089 BE 00 01            358 	cjne    r6,#0x00,00115$
   008C 04                  359 	inc     a
   008D                     360 00115$:
   008D                     361 00116$:
   008D FF                  362 	mov	r7,a
                            363 ;     genAssign
   008E 8D 03               364 	mov	ar3,r5
   0090 8E 04               365 	mov	ar4,r6
                            366 ;     genIfx
   0092 EF                  367 	mov	a,r7
                            368 ;     genIfxJump
                            369 ;       Peephole 109    removed ljmp by inverse jump logic
   0093 70 07               370 	jnz     00107$
   0095                     371 00117$:
                            372 ;     genMinus
                            373 ;     genMinusDec
                            374 ;	tail decrement optimized
   0095 1D                  375 	dec	r5
   0096 BD FF EC            376 	cjne	r5,#0xff,00101$
   0099 1E                  377 	dec	r6
                            378 ;       Peephole 112.b  changed ljmp to sjmp
   009A 80 E9               379 	sjmp    00101$
   009C                     380 00107$:
                            381 ;c:/hj51avr/code/c/file3.c:43: for(;i!=0;i--)
                            382 ;     genMinus
                            383 ;     genMinusDec
   009C 1A                  384 	dec	r2
                            385 ;       Peephole 112.b  changed ljmp to sjmp
   009D 80 DD               386 	sjmp    00105$
   009F                     387 00109$:
   009F 22                  388 	ret
                            389 ;------------------------------------------------------------
                            390 ;Allocation info for local variables in function 'display'
                            391 ;------------------------------------------------------------
                            392 ;disdata                   Allocated with name '_display_PARM_2'
                            393 ;disseg                    Allocated to registers r2 
                            394 ;dataf                     Allocated to registers r3 
                            395 ;------------------------------------------------------------
                            396 ;c:/hj51avr/code/c/file3.c:54: void display(unsigned char disseg,unsigned char disdata)
                            397 ;	-----------------------------------------
                            398 ;	 function display
                            399 ;	-----------------------------------------
   00A0                     400 _display:
                            401 ;     genReceive
   00A0 AA 82               402 	mov	r2,dpl
                            403 ;c:/hj51avr/code/c/file3.c:57: dataf = 1;
                            404 ;     genAssign
   00A2 7B 01               405 	mov	r3,#0x01
                            406 ;c:/hj51avr/code/c/file3.c:58: while(disseg)
                            407 ;     genAssign
   00A4                     408 00101$:
                            409 ;     genIfx
   00A4 EA                  410 	mov	a,r2
                            411 ;     genIfxJump
                            412 ;       Peephole 110    removed ljmp by inverse jump logic
   00A5 60 07               413 	jz      00103$
   00A7                     414 00108$:
                            415 ;c:/hj51avr/code/c/file3.c:60: dataf <<= 1;
                            416 ;     genLeftShift
                            417 ;     genLeftShiftLiteral
                            418 ;     genlshOne
   00A7 EB                  419 	mov	a,r3
   00A8 25 E0               420 	add	a,acc
   00AA FB                  421 	mov	r3,a
                            422 ;c:/hj51avr/code/c/file3.c:61: disseg--;
                            423 ;     genMinus
                            424 ;     genMinusDec
   00AB 1A                  425 	dec	r2
                            426 ;       Peephole 112.b  changed ljmp to sjmp
   00AC 80 F6               427 	sjmp    00101$
   00AE                     428 00103$:
                            429 ;c:/hj51avr/code/c/file3.c:63: sege = 0;
                            430 ;     genAssign
   00AE C2 A7               431 	clr	_P2_7
                            432 ;c:/hj51avr/code/c/file3.c:64: segdata = dataf;             //这里首先把要显示的数据放到数据总线
                            433 ;     genAssign
   00B0 8B 80               434 	mov	_P0,r3
                            435 ;c:/hj51avr/code/c/file3.c:65: segb = 1;                    //这里给出一个脉冲,数据送往位选端
                            436 ;     genAssign
   00B2 D2 A6               437 	setb	_P2_6
                            438 ;c:/hj51avr/code/c/file3.c:66: segb = 0;
                            439 ;     genAssign
   00B4 C2 A6               440 	clr	_P2_6
                            441 ;c:/hj51avr/code/c/file3.c:68: segdata = disbuf_u[disdata];
                            442 ;     genPlus
   00B6 E5 08               443 	mov	a,_display_PARM_2
                            444 ;       Peephole 181    changed mov to clr
                            445 ;     genPointerGet
                            446 ;     genCodePointerGet
                            447 ;       Peephole 181    changed mov to clr
                            448 ;       Peephole 186.d  optimized movc sequence
   00B8 90 00 C3            449 	mov     dptr,#_disbuf_u
   00BB 93                  450 	movc    a,@a+dptr
   00BC F5 80               451 	mov	_P0,a
                            452 ;c:/hj51avr/code/c/file3.c:69: segd = 1;                    //这里给出一个脉冲,数据送往段选端
                            453 ;     genAssign
   00BE D2 A5               454 	setb	_P2_5
                            455 ;c:/hj51avr/code/c/file3.c:70: segd = 0; 
                            456 ;     genAssign
   00C0 C2 A5               457 	clr	_P2_5
   00C2                     458 00104$:
   00C2 22                  459 	ret
                            460 	.area CSEG    (CODE)
   00C3                     461 _disbuf_u:
   00C3 C0                  462 	.db #0xC0
   00C4 F9                  463 	.db #0xF9
   00C5 A4                  464 	.db #0xA4
   00C6 B0                  465 	.db #0xB0
   00C7 99                  466 	.db #0x99
   00C8 92                  467 	.db #0x92
   00C9 82                  468 	.db #0x82
   00CA F8                  469 	.db #0xF8
   00CB 80                  470 	.db #0x80
   00CC 90                  471 	.db #0x90
   00CD 88                  472 	.db #0x88
   00CE 83                  473 	.db #0x83
   00CF C6                  474 	.db #0xC6
   00D0 A1                  475 	.db #0xA1
   00D1 86                  476 	.db #0x86
   00D2 8E                  477 	.db #0x8E
   00D3 40                  478 	.db #0x40
   00D4 79                  479 	.db #0x79
   00D5 24                  480 	.db #0x24
   00D6 30                  481 	.db #0x30
   00D7 19                  482 	.db #0x19
   00D8 12                  483 	.db #0x12
   00D9 02                  484 	.db #0x02
   00DA 78                  485 	.db #0x78
   00DB 00                  486 	.db #0x00
   00DC 10                  487 	.db #0x10
   00DD 08                  488 	.db #0x08
   00DE 03                  489 	.db #0x03
   00DF 46                  490 	.db #0x46
   00E0 21                  491 	.db #0x21
   00E1 06                  492 	.db #0x06
   00E2 0E                  493 	.db #0x0E
                            494 	.area XINIT   (CODE)

⌨️ 快捷键说明

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