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

Bit-addressable register

Hi all,

When I do this:

P7_SFR         DEFR    0FFD0H
DP7_SFR        DEFR    0FFD2H

HWWDOG_PORT    EQU     P7_SFR
HWWDOG_DIRPORT EQU     DP7_SFR
HWWDOG_BIT     EQU     6

HWWDOG_PULSEBIT DEFB   HWWDOG_PORT.HWWDOG_BIT ; P7, bit 6

I get an error:
*** ERROR #69, LINE #898, NOT A BITADDRESSABLE BASE
on the last HWWDOG_PULSEBIT line.

I tried using SET instead of EQU (for defining HWWDOG_PORT) but no difference. When I replace HWWDOG_PORT with P7_SFR, it does work.

In C I could do a simple #define but why doesn't this work?

Regards,
Joost Leeuwesteijn

Parents
  • Works fine here:

    MACRO ASSEMBLER A166 V5.20
    OBJECT MODULE PLACED IN x.OBJ
    ASSEMBLER INVOKED BY: C:\Keil\C166\bin\A166.EXE x.a66
    
    LOC      OBJ             LINE     SOURCE
    
     FFD0                       1     P7_SFR         DEFR    0FFD0H
     FFD2                       2     DP7_SFR        DEFR    0FFD2H
                                3
     FFD0                       4     HWWDOG_PORT    EQU     P7_SFR
     FFD2                       5     HWWDOG_DIRPORT EQU     DP7_SFR
     0006                       6     HWWDOG_BIT     EQU     6
                                7
     FFD0.6                     8     HWWDOG_PULSEBIT DEFB   HWWDOG_PORT.HWWDOG_BIT ; P7, bit 6
                                9
                               10      END
    
    ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)
    

Reply
  • Works fine here:

    MACRO ASSEMBLER A166 V5.20
    OBJECT MODULE PLACED IN x.OBJ
    ASSEMBLER INVOKED BY: C:\Keil\C166\bin\A166.EXE x.a66
    
    LOC      OBJ             LINE     SOURCE
    
     FFD0                       1     P7_SFR         DEFR    0FFD0H
     FFD2                       2     DP7_SFR        DEFR    0FFD2H
                                3
     FFD0                       4     HWWDOG_PORT    EQU     P7_SFR
     FFD2                       5     HWWDOG_DIRPORT EQU     DP7_SFR
     0006                       6     HWWDOG_BIT     EQU     6
                                7
     FFD0.6                     8     HWWDOG_PULSEBIT DEFB   HWWDOG_PORT.HWWDOG_BIT ; P7, bit 6
                                9
                               10      END
    
    ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)
    

Children