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

📄 startup400.lst

📁 这是TCP/IP协议组播的实现代码
💻 LST
📖 第 1 页 / 共 4 页
字号:
0088.1              +1  213     sbit IE0   = TCON^1;
0088.0              +1  214     sbit IT0   = TCON^0;
                    +1  215     
00A8.7              +1  216     sbit EA    = IE^7;
00A8.6              +1  217     sbit ES1   = IE^6;
00A8.5              +1  218     sbit ET2   = IE^5;
00A8.4              +1  219     sbit ES0   = IE^4;
00A8.3              +1  220     sbit ET1   = IE^3;
00A8.2              +1  221     sbit EX1   = IE^2;
00A8.1              +1  222     sbit ET0   = IE^1;
00A8.0              +1  223     sbit EX0   = IE^0;
                    +1  224     
00B8.6              +1  225     sbit PS1   = IP^6;
00B8.5              +1  226     sbit PT2   = IP^5;
00B8.4              +1  227     sbit PS0   = IP^4;
00B8.3              +1  228     sbit PT1   = IP^3;
00B8.2              +1  229     sbit PX1   = IP^2;
00B8.1              +1  230     sbit PT0   = IP^1;
00B8.0              +1  231     sbit PX0   = IP^0;
                    +1  232     
0098.7              +1  233     sbit SM0   = SCON0^7; /* Alternate SM0_FE_0 */
0098.6              +1  234     sbit SM1   = SCON0^6; /* Alternate SM1_0 */
0098.5              +1  235     sbit SM2   = SCON0^5; /* Alternate SM2_0 */
0098.4              +1  236     sbit REN   = SCON0^4; /* Alternate REN_0 */
0098.3              +1  237     sbit TB8   = SCON0^3; /* Alternate TB8_0 */
0098.2              +1  238     sbit RB8   = SCON0^2; /* Alternate RB8_0 */
0098.1              +1  239     sbit TI    = SCON0^1; /* Alternate TI_0  */
0098.0              +1  240     sbit RI    = SCON0^0; /* Alternate RI_0  */
                    +1  241     
00C0.7              +1  242     sbit SM01  = SCON1^7; /* Alternate SM0_FE_1 */
00C0.6              +1  243     sbit SM11  = SCON1^6; /* Alternate SM1_1 */
00C0.5              +1  244     sbit SM21  = SCON1^5; /* Alternate SM2_1 */
00C0.4              +1  245     sbit REN1  = SCON1^4; /* Alternate REN_1 */
00C0.3              +1  246     sbit TB81  = SCON1^3; /* Alternate TB8_1 */
00C0.2              +1  247     sbit RB81  = SCON1^2; /* Alternate RB8_1 */
00C0.1              +1  248     sbit TI1   = SCON1^1; /* Alternate TI_1  */
00C0.0              +1  249     sbit RI1   = SCON1^0; /* Alternate RI_1  */
                    +1  250     
00C8.7              +1  251     sbit TF2   = T2CON^7;
00C8.6              +1  252     sbit EXF2  = T2CON^6;
00C8.5              +1  253     sbit RCLK  = T2CON^5;
00C8.4              +1  254     sbit TCLK  = T2CON^4;
00C8.3              +1  255     sbit EXEN2 = T2CON^3;
00C8.2              +1  256     sbit TR2   = T2CON^2;
AX51 MACRO ASSEMBLER  STARTUP400                                                            04/04/06 14:47:23 PAGE     5

00C8.1              +1  257     sbit C_T2  = T2CON^1;
00C8.0              +1  258     sbit CP_RL2= T2CON^0;
                    +1  259     
00D8.7              +1  260     sbit SMOD_1= WDCON^7;
00D8.6              +1  261     sbit POR   = WDCON^6;
00D8.5              +1  262     sbit EPF1  = WDCON^5;
00D8.4              +1  263     sbit PF1   = WDCON^4;
00D8.3              +1  264     sbit WDIF  = WDCON^3;
00D8.2              +1  265     sbit WTRF  = WDCON^2;
00D8.1              +1  266     sbit EWT   = WDCON^1;
00D8.0              +1  267     sbit RWT   = WDCON^0;
                    +1  268     
                    +1  269     
00E8.7              +1  270     sbit EPMIE = EIE^7;
00E8.6              +1  271     sbit C0IE  = EIE^6;
                    +1  272     
00E8.5              +1  273     sbit EAIE  = EIE^5;
00E8.4              +1  274     sbit EWDI  = EIE^4;
                    +1  275     
00E8.3              +1  276     sbit EWPI  = EIE^3;
                    +1  277     
00E8.2              +1  278     sbit ES2   = EIE^2;
                    +1  279     
00E8.1              +1  280     sbit ET3   = EIE^1;
                    +1  281     
00E8.0              +1  282     sbit EX25  = EIE^0;
                    +1  283     
                    +1  284     
00F8.7              +1  285     sbit EPMIP = EIP^7;
00F8.6              +1  286     sbit C0IP  = EIP^6;
00F8.5              +1  287     sbit EAIP  = EIP^5;
00F8.4              +1  288     sbit PWDI  = EIP^4;
00F8.3              +1  289     sbit PWPI  = EIP^3; /* Alternate PC3 */
00F8.2              +1  290     sbit PS2   = EIP^2; /* Alternate PC2 */
00F8.1              +1  291     sbit PT3   = EIP^1; /* Alternate PC1 */
00F8.0              +1  292     sbit PX2_5 = EIP^0; /* Alternate PC0 */
                    +1  293     
                    +1  294     
                        295     
                        296     EXTERN ECODE(init_romexport)
                        297     
                        298     ;****************************************************************************
                        299     ; 
                        300     ; BEGIN CONFIGURABLE OPTIONS
                        301     ;
                        302     ; Set USE_MONITOR to 0 to configure this program to load into bank 40 (flash on TINIm400
                               )
                        303     ; Set USE_MONITOR to 1 to configure this program to load into bank 20 (RAM on TINIm400)
                        304     ;     where it is suitable for use by the Keil monitor.
                        305     ;
                        306     $set  (USE_MONITOR = 0)
                        307     
                        308     ;
                        309     ; Set XTALMULT to 2 or 4 to use the crystal doubler or quadrupler.
                        310     ; Set XTALMULT to 1 to use the default.  Do not use other
                        311     ; values for XTALMULT.
                        312     ;
                        313     $set  (XTALMULT = 1)
                        314     
                        315     ;
                        316     ; Set the OSCILLATOR_FREQ value to the value of the oscillator you are using.
                        317     ; The TINIm400 uses a 14745600 Hz oscillator.  DO NOT CHANGE THIS VALUE TO
                        318     ; REFLECT THE USE OF THE CRYSTAL MULTIPLIER.
                        319     ;
 01194000               320     OSCILLATOR_FREQ equ 18432000
                        321     
AX51 MACRO ASSEMBLER  STARTUP400                                                            04/04/06 14:47:23 PAGE     6

                        322     ;
                        323     ; Set SERIAL0_BAUDRATE to the baud rate you want to get standard output at.
                        324     ; Default is 115200.
                        325     ;
 0001C200               326     SERIAL0_BAUDRATE equ 115200
                        327     
                        328     
                        329     ;
                        330     ; Set USE_REENTRANT_STACK to 1 to use Keil's reentrant stack (allows 
                        331     ; recursive function calls and for multiple processes to call a single 
                        332     ; function simultaneously).  Set REENTRANT_STACK_TOP to the top of the 
                        333     ; reentrant stack if USE_REENTRANT_STACK is 1.
                        334     ;
                        335     $set  (USE_REENTRANT_STACK = 0)
 FFFF                   336     REENTRANT_STACK_TOP equ 0FFFFh
                        337     
                        338     ;
                        339     ; Set SETMAC to 1 to give the TINI a specific MAC ID as defined by 
                        340     ; the equates MAC_MSB, MAC_5, ..., MAC_LSB.  Set SETMAC to 2 to
                        341     ; set registers r5:r4:r3:r2:r1:r0 to your own MAC ID (see 'User MAC Code'
                        342     ; below).  Use a SETMAC of 0 to find the MAC in a 2502-E48.
                        343     ;
                        344     $set  (SETMAC = 0)
                        345     
 0000                   346     MAC_MSB equ 00h
 0060                   347     MAC_5   equ 60h
 0062                   348     MAC_4   equ 62h
 0063                   349     MAC_3   equ 63h
 0064                   350     MAC_2   equ 64h
 0065                   351     MAC_1   equ 65h
 0067                   352     MAC_LSB equ 67h
                        353     
                        354     ;
                        355     ; Change ERASE_IDATA to erase the internal data memory before the program begins. 
                        356     ;
 0000                   357     ERASE_IDATA     equ     0h      ; the amount of IDATA memory to erase
                        358     
                        359     ;
                        360     ; Change length from 0 to erase starting at address ERASE_XDATA_ADDR for 
                        361     ; ERASE_XDATA_LEN bytes.
                        362     ;
 0000                   363     ERASE_XDATA_ADDR equ    0h      ; the absolute start-address of XDATA memory
 0000                   364     ERASE_XDATA_LEN  equ    0h      ; the length of XDATA memory in bytes. 
                        365     
                        366     ;
                        367     ; END OF CONFIGURABLE OPTIONS
                        368     ;
                        369     ;****************************************************************************
 FFFB                   370     TIMER_RELOAD equ (65536 - ((OSCILLATOR_FREQ) / (32 * SERIAL0_BAUDRATE)))
                        371     
                        372     
                        373     
                        374     $if  (USE_REENTRANT_STACK <> 0)
                                C_XBP_SEG       SEGMENT DATA AT 070H
                                                RSEG    C_XBP_SEG
                                
                                ?C_XBP:         DSB     2
                                
                                XBPSTACKTOP     equ REENTRANT_STACK_TOP + 1
                                
                                Public ?C_XBP
                                $endif 
                        384     
                        385     
                        386                     name    ?C_STARTUP
                        387                     ;
AX51 MACRO ASSEMBLER  STARTUP400                                                            04/04/06 14:47:23 PAGE     7

                        388                     ; Make sure the compiler does not use the OS flags & bits
                        389                     ;
000008                  390                     DSEG at 08h
000008                  391     regbank123:     ds      24
                        392     
000020                  393                     DSEG AT 20h
000020                  394     wos_flags:      ds      1
                        395     
000027                  396                     DSEG AT 27h
000027                  397     rom_flags:      ds      1
                        398     
000068                  399                     DSEG AT 68h
000068                  400     wos_crit_count: ds      1
                        401     
00006B                  402                     DSEG AT 6Bh
00006B                  403     sched_reload:   ds      2
00006D                  404     curr_pc:        ds      3
                        405     
000072                  406                     DSEG AT 72h
000072                  407     sched:          ds      3
000075                  408     ms_count:       ds      5
                        409     
00007B                  410                     DSEG AT 7Bh
00007B                  411     hb_chandle:     ds      5
                        412     
                        413     
                        414                     extrn code (?C_START)
                        415                     public  ?C_STARTUP
                        416     
                        417     $if  (USE_MONITOR = 0)
420000                  418     ?C_CPURESET?0   segment code at 420000H
                        419     $endif 
                        420     $if  (USE_MONITOR = 1)
                                ?C_CPURESET?0   segment code at 020000H
                                $endif 
                        423     
------                  424                     rseg    ?C_CPURESET?0
420000 8005             425     ?C_STARTUP:     sjmp    past_loader_tag
420002 54494E49         426                     db     'TINI'                              ; Tag for TINI Environment 1.
                               02c
                        427                                                                       ; or later (ignored in
                                1.02b)
420006 42               428                     db      byte2(?C_STARTUP)                  ; Target bank
420007                  429     past_loader_tag:
420007 C2AF             430                     clr     ea                                 ; No interrupts, please

⌨️ 快捷键说明

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