v3k_fram_watch_sdcc.rst

来自「这是ramtron公司的铁电单片机的开发程序」· RST 代码 · 共 608 行 · 第 1/3 页

RST
608
字号
                    00C7    407 G$AUPREV3$0$0 == 0x00c7
                    00C7    408 _AUPREV3	=	0x00c7
                            409 ;--------------------------------------------------------
                            410 ; special function bits 
                            411 ;--------------------------------------------------------
                            412 	.area RSEG    (DATA)
                            413 ;--------------------------------------------------------
                            414 ; overlayable register banks 
                            415 ;--------------------------------------------------------
                            416 	.area REG_BANK_0	(REL,OVR,DATA)
   0000                     417 	.ds 8
                            418 ;--------------------------------------------------------
                            419 ; internal ram data
                            420 ;--------------------------------------------------------
                            421 	.area DSEG    (DATA)
                    0000    422 G$framptr$0$0==.
   0008                     423 _framptr::
   0008                     424 	.ds 2
                            425 ;--------------------------------------------------------
                            426 ; overlayable items in internal ram 
                            427 ;--------------------------------------------------------
                            428 	.area OSEG    (OVR,DATA)
                            429 ;--------------------------------------------------------
                            430 ; Stack segment in internal ram 
                            431 ;--------------------------------------------------------
                            432 	.area	SSEG	(DATA)
   000F                     433 __start__stack:
   000F                     434 	.ds	1
                            435 
                            436 ;--------------------------------------------------------
                            437 ; indirectly addressable internal ram data
                            438 ;--------------------------------------------------------
                            439 	.area ISEG    (DATA)
                    0000    440 Lmain$count$1$1==.
   000A                     441 _main_count_1_1::
   000A                     442 	.ds 2
                    0002    443 Lmain$cptr$1$1==.
   000C                     444 _main_cptr_1_1::
   000C                     445 	.ds 2
                    0004    446 Lmain$framread$1$1==.
   000E                     447 _main_framread_1_1::
   000E                     448 	.ds 1
                            449 ;--------------------------------------------------------
                            450 ; bit data
                            451 ;--------------------------------------------------------
                            452 	.area BSEG    (BIT)
                            453 ;--------------------------------------------------------
                            454 ; paged external ram data
                            455 ;--------------------------------------------------------
                            456 	.area PSEG    (PAG,XDATA)
                            457 ;--------------------------------------------------------
                            458 ; external ram data
                            459 ;--------------------------------------------------------
                            460 	.area XSEG    (XDATA)
                    8000    461 G$frambase$0$0 == 0x8000
                    8000    462 _frambase	=	0x8000
                            463 ;--------------------------------------------------------
                            464 ; external initialized ram data
                            465 ;--------------------------------------------------------
                            466 	.area XISEG   (XDATA)
                            467 	.area CSEG    (CODE)
                            468 	.area GSINIT0 (CODE)
                            469 	.area GSINIT1 (CODE)
                            470 	.area GSINIT2 (CODE)
                            471 	.area GSINIT3 (CODE)
                            472 	.area GSINIT4 (CODE)
                            473 	.area GSINIT5 (CODE)
                            474 ;--------------------------------------------------------
                            475 ; interrupt vector 
                            476 ;--------------------------------------------------------
                            477 	.area CSEG    (CODE)
   0000                     478 __interrupt_vect:
   0000 02 00 44            479 	ljmp	__sdcc_gsinit_startup
                            480 ;--------------------------------------------------------
                            481 ; global & static initialisations
                            482 ;--------------------------------------------------------
                            483 	.area CSEG    (CODE)
                            484 	.area GSINIT  (CODE)
                            485 	.area GSFINAL (CODE)
                            486 	.area GSINIT  (CODE)
                            487 	.globl __sdcc_gsinit_startup
                            488 	.globl __sdcc_program_startup
                            489 	.globl __start__stack
                            490 	.globl __mcs51_genXINIT
                            491 	.globl __mcs51_genXRAMCLEAR
                            492 	.globl __mcs51_genRAMCLEAR
                    0000    493 	G$main$0$0 ==.
                    0000    494 	C$V3K_FRAM_Watch_SDCC.c$31$1$1 ==.
                            495 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:31: xdata unsigned char * data framptr = &frambase ;		//Init a pointer in IRAM pointing to the frambase var.
                            496 ;     genAddrOf
   009D 75 08 00            497 	mov	_framptr,#_frambase
   00A0 75 09 80            498 	mov	(_framptr + 1),#(_frambase >> 8)
                            499 	.area GSFINAL (CODE)
   00A3 02 00 03            500 	ljmp	__sdcc_program_startup
                            501 ;--------------------------------------------------------
                            502 ; Home
                            503 ;--------------------------------------------------------
                            504 	.area HOME    (CODE)
                            505 	.area CSEG    (CODE)
                            506 ;--------------------------------------------------------
                            507 ; code
                            508 ;--------------------------------------------------------
                            509 	.area CSEG    (CODE)
   0003                     510 __sdcc_program_startup:
   0003 12 00 08            511 	lcall	_main
                            512 ;	return from main will lock up
   0006 80 FE               513 	sjmp .
                            514 ;------------------------------------------------------------
                            515 ;Allocation info for local variables in function 'main'
                            516 ;------------------------------------------------------------
                            517 ;count                     Allocated with name '_main_count_1_1'
                            518 ;cptr                      Allocated with name '_main_cptr_1_1'
                            519 ;framread                  Allocated with name '_main_framread_1_1'
                            520 ;------------------------------------------------------------
                    0008    521 	G$main$0$0 ==.
                    0008    522 	C$V3K_FRAM_Watch_SDCC.c$37$0$0 ==.
                            523 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:37: void main (void){
                            524 ;	-----------------------------------------
                            525 ;	 function main
                            526 ;	-----------------------------------------
   0008                     527 _main:
                    0002    528 	ar2 = 0x02
                    0003    529 	ar3 = 0x03
                    0004    530 	ar4 = 0x04
                    0005    531 	ar5 = 0x05
                    0006    532 	ar6 = 0x06
                    0007    533 	ar7 = 0x07
                    0000    534 	ar0 = 0x00
                    0001    535 	ar1 = 0x01
                    0008    536 	C$V3K_FRAM_Watch_SDCC.c$38$1$0 ==.
                            537 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:38: volatile idata count = 0x00;                      //general purpose counter 
                            538 ;     genAssign
   0008 78 0A               539 	mov	r0,#_main_count_1_1
   000A E4                  540 	clr	a
   000B F6                  541 	mov	@r0,a
   000C 08                  542 	inc	r0
   000D F6                  543 	mov	@r0,a
                    000E    544 	C$V3K_FRAM_Watch_SDCC.c$39$1$0 ==.
                            545 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:39: volatile idata int  cptr= 0x00;			     //general purpose counter
                            546 ;     genAssign
   000E 78 0C               547 	mov	r0,#_main_cptr_1_1
   0010 E4                  548 	clr	a
   0011 F6                  549 	mov	@r0,a
   0012 08                  550 	inc	r0
   0013 F6                  551 	mov	@r0,a
                    0014    552 	C$V3K_FRAM_Watch_SDCC.c$40$1$0 ==.
                            553 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:40: volatile idata char framread = 0x00;
                            554 ;     genAssign
   0014 78 0E               555 	mov	r0,#_main_framread_1_1
   0016 76 00               556 	mov	@r0,#0x00
                    0018    557 	C$V3K_FRAM_Watch_SDCC.c$42$1$1 ==.
                            558 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:42: DEVMEMCFG  |= 0xC0;					     //Activate the FRAM memory
                            559 ;     genOr
   0018 43 F6 C0            560 	orl	_DEVMEMCFG,#0xC0
                    001B    561 	C$V3K_FRAM_Watch_SDCC.c$43$1$1 ==.
                            562 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:43: framptr = (&frambase + 0x100);
                            563 ;     genPlus
                            564 ;     genPlus aligned array
   001B 75 08 00            565 	mov	_framptr,#0x00
   001E 74 80               566 	mov	a,#(_frambase >> 8)
   0020 24 01               567 	add	a,#0x01
   0022 F5 09               568 	mov	(_framptr + 1),a
                    0024    569 	C$V3K_FRAM_Watch_SDCC.c$45$1$1 ==.
                            570 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:45: do{
   0024                     571 00101$:
                    0024    572 	C$V3K_FRAM_Watch_SDCC.c$46$2$2 ==.
                            573 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:46: *framptr = count++;
                            574 ;     genAssign
   0024 85 08 82            575 	mov	dpl,_framptr
   0027 85 09 83            576 	mov	dph,(_framptr + 1)
                            577 ;     genAssign
   002A 78 0A               578 	mov	r0,#_main_count_1_1
   002C 86 02               579 	mov	ar2,@r0
   002E 08                  580 	inc	r0
   002F 86 03               581 	mov	ar3,@r0
                            582 ;     genPlus
   0031 78 0A               583 	mov	r0,#_main_count_1_1
                            584 ;     genPlusIncr
   0033 74 01               585 	mov	a,#0x01
   0035 26                  586 	add	a,@r0
   0036 F6                  587 	mov	@r0,a
                            588 ;	Peephole 181	changed mov to clr
   0037 E4                  589 	clr	a
   0038 08                  590 	inc	r0
   0039 36                  591 	addc	a,@r0
   003A F6                  592 	mov	@r0,a
                            593 ;     genCast
                            594 ;     genPointerSet
                            595 ;     genFarPointerSet
   003B EA                  596 	mov	a,r2
   003C F0                  597 	movx	@dptr,a
                    003D    598 	C$V3K_FRAM_Watch_SDCC.c$48$1$1 ==.
                            599 ;c:/APP_ENG/Released_Demo_Programs/V3k_demo_programs/V3K_FRAM_Watch_SDCC/V3K_FRAM_Watch_SDCC.c:48: }while(1);
                            600 ;	Peephole 112.b	changed ljmp to sjmp
   003D 80 E5               601 	sjmp	00101$
   003F                     602 00104$:
                    003F    603 	C$V3K_FRAM_Watch_SDCC.c$52$1$1 ==.
                    003F    604 	XG$main$0$0 ==.
   003F 22                  605 	ret
                            606 	.area CSEG    (CODE)
                            607 	.area XINIT   (CODE)

⌨️ 快捷键说明

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