This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Usage of DATA, PDATA and XDATA simultaneously

Hello,

is it possible to write a program with the small-memory-model, to declare some variables as xdata and to declare an char array[256] of pdata?

Best regards,
Stefan

Parents
  • Okay, here the whole assembly-code:

    ASSEMBLY LISTING OF GENERATED OBJECT CODE
    
    
                 ; FUNCTION main (BEGIN)
                                               ; SOURCE LINE # 35
                                               ; SOURCE LINE # 36
    0000 C2AF              CLR     EA
                                               ; SOURCE LINE # 39
    0002 D2E8              SETB    EUSB
                                               ; SOURCE LINE # 40
    0004 900000      E     MOV     DPTR,#USBCS
    0007 7404              MOV     A,#04H
    0009 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 41
    000A 900000      E     MOV     DPTR,#USBIRQ
    000D 741E              MOV     A,#01EH
    000F F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 42
    0010 E4                CLR     A
    0011 900000      E     MOV     DPTR,#TOGCTL
    0014 F0                MOVX    @DPTR,A
    0015 900000      E     MOV     DPTR,#IBNIEN
    0018 F0                MOVX    @DPTR,A
    0019 900000      E     MOV     DPTR,#IBNIRQ
    001C F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 43
    001D 900000      E     MOV     DPTR,#EPIO
    0020 F0                MOVX    @DPTR,A
    0021 A3                INC     DPTR
    0022 740A              MOV     A,#0AH
    0024 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 48
    0025 D2AF              SETB    EA
                                               ; SOURCE LINE # 49
    0027 D2A9              SETB    ET0
                                               ; SOURCE LINE # 50
    0029 C28B              CLR     CT0
                                               ; SOURCE LINE # 51
    002B C291              CLR     T0M
                                               ; SOURCE LINE # 52
    002D E4                CLR     A
    002E F58A              MOV     TL0,A
                                               ; SOURCE LINE # 53
    0030 F58C              MOV     TH0,A
                                               ; SOURCE LINE # 54
    0032 D28C              SETB    TR0
                                               ; SOURCE LINE # 56
    0034 750001      R     MOV     LED_BLINK,#01H
                                               ; SOURCE LINE # 57
    0037 750001      R     MOV     LED_COUNT,#01H
                                               ; SOURCE LINE # 59
    003A 900000      E     MOV     DPTR,#PORTACFG
    003D F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 60
    003E 900000      E     MOV     DPTR,#PORTCCFG
    0041 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 61
    0042 900000      E     MOV     DPTR,#OEA
    0045 74FF              MOV     A,#0FFH
    0047 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 62
    0048 900000      E     MOV     DPTR,#OEC
    C51 COMPILER V8.17   MAIN                                                                  10/15/2009 20:15:02 PAGE 4
    
    004B F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 65
    004C E4                CLR     A
    004D 90011B            MOV     DPTR,#var0
    0050 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 66
    0051 A3                INC     DPTR
    0052 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 67
    0053 A3                INC     DPTR
    0054 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 68
    0055 A3                INC     DPTR
    0056 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 69
    0057 A3                INC     DPTR
    0058 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 70
    0059 A3                INC     DPTR
    005A F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 71
    005B A3                INC     DPTR
    005C F0                MOVX    @DPTR,A
    005D         ?C0001:
                                               ; SOURCE LINE # 74
                                               ; SOURCE LINE # 75
                                               ; SOURCE LINE # 76
    005D 7800        R     MOV     R0,#LOW test
    005F 7405              MOV     A,#05H
    0061 F2                MOVX    @R0,A
                                               ; SOURCE LINE # 77
    0062 90011E            MOV     DPTR,#var3
    0065 E0                MOVX    A,@DPTR
    0066 04                INC     A
    0067 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 93
    0068 80F3              SJMP    ?C0001
    006A 22                RET
                 ; FUNCTION main (END)
    
                 ; FUNCTION T0_isr (BEGIN)
    0000 C0E0              PUSH    ACC
    0002 C083              PUSH    DPH
    0004 C082              PUSH    DPL
    0006 C0D0              PUSH    PSW
    0008 75D000            MOV     PSW,#00H
    000B C007              PUSH    AR7
                                               ; SOURCE LINE # 102
                                               ; SOURCE LINE # 104
    000D E500        R     MOV     A,LED_BLINK
    000F 6011              JZ      ?C0006
                                               ; SOURCE LINE # 105
                                               ; SOURCE LINE # 106
    0011 AF00        R     MOV     R7,LED_COUNT
    0013 1500        R     DEC     LED_COUNT
    0015 EF                MOV     A,R7
    0016 700A              JNZ     ?C0006
                                               ; SOURCE LINE # 107
    0018 750032      R     MOV     LED_COUNT,#032H
                                               ; SOURCE LINE # 108
    001B 900000      E     MOV     DPTR,#OUTA
    001E E0                MOVX    A,@DPTR
    C51 COMPILER V8.17   MAIN                                                                  10/15/2009 20:15:02 PAGE 5
    
    001F 6410              XRL     A,#010H
    0021 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 109
                                               ; SOURCE LINE # 110
                                               ; SOURCE LINE # 111
    0022         ?C0006:
    0022 D007              POP     AR7
    0024 D0D0              POP     PSW
    0026 D082              POP     DPL
    0028 D083              POP     DPH
    002A D0E0              POP     ACC
    002C 32                RETI
                 ; FUNCTION T0_isr (END)
    

Reply
  • Okay, here the whole assembly-code:

    ASSEMBLY LISTING OF GENERATED OBJECT CODE
    
    
                 ; FUNCTION main (BEGIN)
                                               ; SOURCE LINE # 35
                                               ; SOURCE LINE # 36
    0000 C2AF              CLR     EA
                                               ; SOURCE LINE # 39
    0002 D2E8              SETB    EUSB
                                               ; SOURCE LINE # 40
    0004 900000      E     MOV     DPTR,#USBCS
    0007 7404              MOV     A,#04H
    0009 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 41
    000A 900000      E     MOV     DPTR,#USBIRQ
    000D 741E              MOV     A,#01EH
    000F F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 42
    0010 E4                CLR     A
    0011 900000      E     MOV     DPTR,#TOGCTL
    0014 F0                MOVX    @DPTR,A
    0015 900000      E     MOV     DPTR,#IBNIEN
    0018 F0                MOVX    @DPTR,A
    0019 900000      E     MOV     DPTR,#IBNIRQ
    001C F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 43
    001D 900000      E     MOV     DPTR,#EPIO
    0020 F0                MOVX    @DPTR,A
    0021 A3                INC     DPTR
    0022 740A              MOV     A,#0AH
    0024 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 48
    0025 D2AF              SETB    EA
                                               ; SOURCE LINE # 49
    0027 D2A9              SETB    ET0
                                               ; SOURCE LINE # 50
    0029 C28B              CLR     CT0
                                               ; SOURCE LINE # 51
    002B C291              CLR     T0M
                                               ; SOURCE LINE # 52
    002D E4                CLR     A
    002E F58A              MOV     TL0,A
                                               ; SOURCE LINE # 53
    0030 F58C              MOV     TH0,A
                                               ; SOURCE LINE # 54
    0032 D28C              SETB    TR0
                                               ; SOURCE LINE # 56
    0034 750001      R     MOV     LED_BLINK,#01H
                                               ; SOURCE LINE # 57
    0037 750001      R     MOV     LED_COUNT,#01H
                                               ; SOURCE LINE # 59
    003A 900000      E     MOV     DPTR,#PORTACFG
    003D F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 60
    003E 900000      E     MOV     DPTR,#PORTCCFG
    0041 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 61
    0042 900000      E     MOV     DPTR,#OEA
    0045 74FF              MOV     A,#0FFH
    0047 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 62
    0048 900000      E     MOV     DPTR,#OEC
    C51 COMPILER V8.17   MAIN                                                                  10/15/2009 20:15:02 PAGE 4
    
    004B F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 65
    004C E4                CLR     A
    004D 90011B            MOV     DPTR,#var0
    0050 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 66
    0051 A3                INC     DPTR
    0052 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 67
    0053 A3                INC     DPTR
    0054 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 68
    0055 A3                INC     DPTR
    0056 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 69
    0057 A3                INC     DPTR
    0058 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 70
    0059 A3                INC     DPTR
    005A F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 71
    005B A3                INC     DPTR
    005C F0                MOVX    @DPTR,A
    005D         ?C0001:
                                               ; SOURCE LINE # 74
                                               ; SOURCE LINE # 75
                                               ; SOURCE LINE # 76
    005D 7800        R     MOV     R0,#LOW test
    005F 7405              MOV     A,#05H
    0061 F2                MOVX    @R0,A
                                               ; SOURCE LINE # 77
    0062 90011E            MOV     DPTR,#var3
    0065 E0                MOVX    A,@DPTR
    0066 04                INC     A
    0067 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 93
    0068 80F3              SJMP    ?C0001
    006A 22                RET
                 ; FUNCTION main (END)
    
                 ; FUNCTION T0_isr (BEGIN)
    0000 C0E0              PUSH    ACC
    0002 C083              PUSH    DPH
    0004 C082              PUSH    DPL
    0006 C0D0              PUSH    PSW
    0008 75D000            MOV     PSW,#00H
    000B C007              PUSH    AR7
                                               ; SOURCE LINE # 102
                                               ; SOURCE LINE # 104
    000D E500        R     MOV     A,LED_BLINK
    000F 6011              JZ      ?C0006
                                               ; SOURCE LINE # 105
                                               ; SOURCE LINE # 106
    0011 AF00        R     MOV     R7,LED_COUNT
    0013 1500        R     DEC     LED_COUNT
    0015 EF                MOV     A,R7
    0016 700A              JNZ     ?C0006
                                               ; SOURCE LINE # 107
    0018 750032      R     MOV     LED_COUNT,#032H
                                               ; SOURCE LINE # 108
    001B 900000      E     MOV     DPTR,#OUTA
    001E E0                MOVX    A,@DPTR
    C51 COMPILER V8.17   MAIN                                                                  10/15/2009 20:15:02 PAGE 5
    
    001F 6410              XRL     A,#010H
    0021 F0                MOVX    @DPTR,A
                                               ; SOURCE LINE # 109
                                               ; SOURCE LINE # 110
                                               ; SOURCE LINE # 111
    0022         ?C0006:
    0022 D007              POP     AR7
    0024 D0D0              POP     PSW
    0026 D082              POP     DPL
    0028 D083              POP     DPH
    002A D0E0              POP     ACC
    002C 32                RETI
                 ; FUNCTION T0_isr (END)
    

Children
No data