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

📄 start390.lst

📁 This prj demonstrates how to use the SROM memory classes for the Dallas DS80C400. This example uses
💻 LST
📖 第 1 页 / 共 4 页
字号:
                        398     
------                  399     ?C_C51STARTUP   SEGMENT   CODE
                        400     
                        401     IF SA = 1
                                  IF IDM = 0
                                    
                                    ?STACK SEGMENT XDATA AT 0F000H
                                  ENDIF
                                
                                  IF IDM = 1
                                    ?STACK SEGMENT XDATA AT 00000H
                                  ENDIF
                                
                                  IF IDM = 2
                                    ?STACK SEGMENT HDATA AT 0400000H
                                  ENDIF
                                
                                  IF IDM = 3
                                    __ERROR__ "Extended Stack not possible when on-chip XRAM is mapped as code & xdata"
                                  ENDIF
                                
                                                RSEG    ?STACK
                                                DS      1024
                                ELSE
                        422     
------                  423     ?STACK          SEGMENT   IDATA
                        424     
------                  425                     RSEG    ?STACK
000000                  426                     DS      1
                        427     ENDIF
                        428     
                        429                     EXTRN CODE (?C_START)
                        430                     PUBLIC  ?C_STARTUP
                        431     
000000                  432     ?C_CPURESET?0   SEGMENT CODE OFFS 0
------                  433                     RSEG    ?C_CPURESET?0   
                        434     
000000                  435     ?C_STARTUP      LABEL   NEAR
000000 02               436                     DB      02H     ; LJMP in Classic 8051 Mode
000001 0000       F     437                     DW      WORD0 STARTUP1
------                  438                     RSEG    ?C_C51STARTUP
                        439     
000000                  440     STARTUP1:      
                        441                     
000000 75C7AA           442                     MOV     TA,#0xAA        ; Enable access to P4CNT
000003 75C755           443                     MOV     TA,#0x55       
 003F                   444     P4CNT_VAL EQU (SBCAN SHL 6) OR (PCES SHL 3) OR (P4PF)
000006 75923F           445                     MOV     P4CNT,#P4CNT_VAL
                        446     
000009 75C7AA           447                     MOV     TA,#0xAA        ; Enable access to P5CNT
00000C 75C755           448                     MOV     TA,#0x55       
 0007                   449     P5CNT_VAL EQU (SP1EC SHL 5) OR (CX_IO SHL 3) OR (P5PF)
00000F 75A207           450                     MOV     P5CNT,#P5CNT_VAL                      
                        451     
                        452     
                        453     
000012 75C7AA           454                     MOV     TA,#0xAA        ; Enable access to ACON
AX51 MACRO ASSEMBLER  START390                                                              04/27/04 18:11:32 PAGE     8

000015 75C755           455                     MOV     TA,#0x55
 0002                   456     ACON_VAL EQU (2 OR (SA SHL 2)) ; 22-bit contigious mode, SA bit
000018 759D02           457                     MOV     ACON,#ACON_VAL
                        458     
00001B 75C7AA           459                     MOV     TA,#0xAA        ; Enable access to MCON
00001E 75C755           460                     MOV     TA,#0x55
 0000                   461     MCON_VAL SET (IDM SHL 6) OR (CMA SHL 5) OR (PDCE3 SHL 3) OR (PDCE2 SHL 2)
 0000                   462     MCON_VAL SET MCON_VAL OR (PDCE1 SHL 1) OR (PDCE0)
000021 75C600           463                     MOV     MCON,#MCON_VAL
                        464     
                        465     
                        466     IF IDATALEN <> 0
000024 787F             467                     MOV     R0,#IDATALEN - 1
000026 E4               468                     CLR     A
000027 F6               469     IDATALOOP:      MOV     @R0,A
000028 D8FD             470                     DJNZ    R0,IDATALOOP
                        471     ENDIF
                        472     
                        473     IF XDATALEN <> 0
                                                MOV     DPTR,#XDATASTART
                                                MOV     R7,#BYTE0 (XDATALEN)
                                  IF (BYTE0 (XDATALEN)) <> 0
                                                MOV     R6,#(BYTE1 XDATALEN) +1
                                  ELSE
                                                MOV     R6,#BYTE1 (XDATALEN)
                                  ENDIF
                                  IF (BYTE1 (XDATALEN)) <> 0
                                                MOV     R5,#(BYTE2 XDATALEN) +1
                                  ELSE
                                                MOV     R5,#BYTE2 (XDATALEN)
                                  ENDIF
                                                CLR     A
                                XDATALOOP:      MOVX    @DPTR,A
                                                INC     DPTR
                                                DJNZ    R7,XDATALOOP
                                                DJNZ    R6,XDATALOOP
                                                DJNZ    R5,XDATALOOP
                                ENDIF
                        493     
                        494     IF PPAGEENABLE <> 0
                                                MOV     P2,#PPAGE
                                                MOV     MXAX,#0
                                ENDIF
                        498     
                        499     IF PDATALEN <> 0
                                                MOV     R0,#PDATASTART
                                                MOV     R7,#LOW (PDATALEN)
                                                CLR     A
                                PDATALOOP:      MOVX    @R0,A
                                                INC     R0
                                                DJNZ    R7,PDATALOOP
                                ENDIF
                        507     
                        508     IF IBPSTACK <> 0
                                EXTRN DATA (?C_IBP)
                                
                                                MOV     ?C_IBP,#LOW IBPSTACKTOP
                                ENDIF
                        513     
                        514     IF XBPSTACK <> 0
                                EXTRN DATA (?C_XBP)
                                
                                                MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                                MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                                ENDIF
                        520     
AX51 MACRO ASSEMBLER  START390                                                              04/27/04 18:11:32 PAGE     9

                        521     IF PBPSTACK <> 0
                                EXTRN DATA (?C_PBP)
                                                MOV     ?C_PBP,#LOW PBPSTACKTOP
                                ENDIF
                        525     
                        526     IF SA = 1
                                                MOV     SP,#BYTE0 (?STACK-1)
                                                MOV     ESP,#BYTE1 (?STACK-1)
                                ELSE
00002A 758100     F     530                     MOV     SP,#?STACK-1
                        531     ENDIF
00002D 02000000   E     532                     LJMP    ?C_START
                        533     
                        534                     END
AX51 MACRO ASSEMBLER  START390                                                              04/27/04 18:11:32 PAGE    10

SYMBOL TABLE LISTING
------ ----- -------


N A M E                        T Y P E  V A L U E     ATTRIBUTES

?C_C51STARTUP . . . . . . . .  C  SEG   000031H       REL=UNIT, ALN=BYTE
?C_CPURESET?0 . . . . . . . .  C  SEG   000003H       REL=OFS, ALN=BYTE
?C_START. . . . . . . . . . .  C  ADDR  -------       EXT
?C_STARTUP. . . . . . . . . .  C  ADDR  0000H     R   SEG=?C_CPURESET?0
?STACK. . . . . . . . . . . .  I  SEG   000001H       REL=UNIT, ALN=BYTE
AC. . . . . . . . . . . . . .  B  ADDR  00D0H.6   A   
ACC . . . . . . . . . . . . .  D  ADDR  00E0H     A   
ACON. . . . . . . . . . . . .  D  ADDR  009DH     A   
ACON_VAL. . . . . . . . . . .  HC ADDR  0002H     A   
AP. . . . . . . . . . . . . .  D  ADDR  009CH     A   
B . . . . . . . . . . . . . .  D  ADDR  00F0H     A   
C0C . . . . . . . . . . . . .  D  ADDR  00A3H     A   
C0IE. . . . . . . . . . . . .  B  ADDR  00E8H.6   A   
C0IP. . . . . . . . . . . . .  B  ADDR  00F8H.6   A   
C0IR. . . . . . . . . . . . .  D  ADDR  00A5H     A   
C0M10C. . . . . . . . . . . .  D  ADDR  00B7H     A   
C0M11C. . . . . . . . . . . .  D  ADDR  00BBH     A   
C0M12C. . . . . . . . . . . .  D  ADDR  00BCH     A   
C0M13C. . . . . . . . . . . .  D  ADDR  00BDH     A   
C0M14C. . . . . . . . . . . .  D  ADDR  00BEH     A   
C0M15C. . . . . . . . . . . .  D  ADDR  00BFH     A   
C0M1C . . . . . . . . . . . .  D  ADDR  00ABH     A   
C0M2C . . . . . . . . . . . .  D  ADDR  00ACH     A   
C0M3C . . . . . . . . . . . .  D  ADDR  00ADH     A   
C0M4C . . . . . . . . . . . .  D  ADDR  00AEH     A   
C0M5C . . . . . . . . . . . .  D  ADDR  00AFH     A   
C0M6C . . . . . . . . . . . .  D  ADDR  00B3H     A   
C0M7C . . . . . . . . . . . .  D  ADDR  00B4H     A   
C0M8C . . . . . . . . . . . .  D  ADDR  00B5H     A   
C0M9C . . . . . . . . . . . .  D  ADDR  00B6H     A   
C0RE. . . . . . . . . . . . .  D  ADDR  00A7H     A   
C0RMS0. . . . . . . . . . . .  D  ADDR  0096H     A   
C0RMS1. . . . . . . . . . . .  D  ADDR  0097H     A   
C0S . . . . . . . . . . . . .  D  ADDR  00A4H     A   
C0TE. . . . . . . . . . . . .  D  ADDR  00A6H     A   
C0TMA0. . . . . . . . . . . .  D  ADDR  009EH     A   
C0TMA1. . . . . . . . . . . .  D  ADDR  009FH     A   
C1C . . . . . . . . . . . . .  D  ADDR  00E3H     A   
C1IE. . . . . . . . . . . . .  B  ADDR  00E8H.5   A   
C1IP. . . . . . . . . . . . .  B  ADDR  00F8H.5   A   
C1IR. . . . . . . . . . . . .  D  ADDR  00E5H     A   
C1M10C. . . . . . . . . . . .  D  ADDR  00F7H     A   
C1M11C. . . . . . . . . . . .  D  ADDR  00FBH     A   
C1M12C. . . . . . . . . . . .  D  ADDR  00FCH     A   
C1M13C. . . . . . . . . . . .  D  ADDR  00FDH     A   
C1M14C. . . . . . . . . . . .  D  ADDR  00FEH     A   
C1M15C. . . . . . . . . . . .  D  ADDR  00FFH     A   
C1M1C . . . . . . . . . . . .  D  ADDR  00EBH     A   
C1M2C . . . . . . . . . . . .  D  ADDR  00ECH     A   
C1M3C . . . . . . . . . . . .  D  ADDR  00EDH     A   
C1M4C . . . . . . . . . . . .  D  ADDR  00EEH     A   
C1M5C . . . . . . . . . . . .  D  ADDR  00EFH     A   
C1M6C . . . . . . . . . . . .  D  ADDR  00F3H     A   
C1M7C . . . . . . . . . . . .  D  ADDR  00F4H     A   
C1M8C . . . . . . . . . . . .  D  ADDR  00F5H     A   
C1M9C . . . . . . . . . . . .  D  ADDR  00F6H     A   
C1RE. . . . . . . . . . . . .  D  ADDR  00E7H     A   
C1RMS0. . . . . . . . . . . .  D  ADDR  00D6H     A   
C1RMS1. . . . . . . . . . . .  D  ADDR  00D7H     A   
C1S . . . . . . . . . . . . .  D  ADDR  00E4H     A   

⌨️ 快捷键说明

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