Technical Support
Support Resources
Product Information
C51: #PRAGMA MESSAGE AND #PRAGMA ERROR C51: ?C? LIBRARY ROUTINES C51: ?C? LOAD AND STORE LIBRARY ROUTINES C51: ?C? LONG/FLOAT MATH LIBRARY ROUTINES C51: ?C?COPYXX UNRESOLVED EXTERNAL FROM EVAL VERSION C51: '\N' DOES NOT WORK IN PRINTF() STATEMENTS C51: __DATE__ AND __TIME__ MACROS C51: _CHKFLOAT_ RETURNS STRANGE VALUES C51: 16-BIT MULTIPLY WITH 32-BIT RESULT C51: 16MB XDATA RAM WITH ANALOG DEVICES MICROCONVERTER C51: 256 GLOBAL SYMBOLS LIMIT C51: 4K-LIMITED COMPILER FOR THE PHILIPS LPC FAMILY C51: 64-BIT FLOATING-POINT OPERATIONS C51: 8051 PORT FOR JEAN LABROSSE'S MICRO C/OS-II RTOS C51: 8051 SERIAL I/O IN C C51: 80C517A MA-STEP SHIFT BUG C51: 80C751.LIB IS MISSING FROM EVALUATION CD-ROM C51: 80C751.LIB MISSING FROM RELEASE TOOLS C51: 8K LIMIT ON MEMORY ALLOCATION C51: A/D EXAMPLES FOR THE ADUC812 C51: ABSOLUTE ACCESS FOR FAR VARIABLES C51: ABSOLUTE ADDRESSES C51: ABSOLUTE FAR VARIABLES DO NOT CALL IBANKING FUNCTIONS C51: ABSOLUTE FUNCTION ADDRESS C51: ABSOLUTE MEMORY ACCESSES TO DALLAS 390'S FAR MEMORY C51: ABSOLUTE REGISTERS AND USING DIRECTIVE C51: ACCESS LOW/HIGH BYTES OF A INTEGER VARIABLE C51: ACCESS TO PAGED SFR REGISTERS C51: ACCESSING A POINTER IN ASSEMBLER C51: ACCESSING A STRUCTURE VIA A POINTER C51: ACCESSING ASSEMBLY VARIABLES FROM C C51: ACCESSING BITS ON P5 OF PHILIPS 552 C51: ACCESSING EXTERNAL SFR'S IN A C PROGRAM C51: ACCESSING I/O PORTS IN C C51: ACCESSING INTERNAL EEPROM ON ATMEL 89S9252 C51: ACCESSING REGISTER BANKS IN C C51: ACCESSING SPECIAL FUNCTION REGISTERS IN C C51: ACCESSING SPECIFIC MEMORY BYTES C51: ACCESSING THE DS390 ON-CHIP 4K SRAM AND STACK C51: ADDING C FUNCTIONS TO EXISTING ASSEMBLER CODE C51: ADDING INTRINSIC FUNCTIONS C51: ADDING TO THE STARTUP CODE C51: ADDRESS SPACE OVERFLOW WITH FAR CONST C51: ADUC812 COMPATIBILITY C51: ADUC812 EXAMPLE PROGRAM C51: AFTER REGLIVE SUCCESS MESSAGE C51: ALTERNATE STARTUP CODE C51: ANALOG DEVICES ADUC812 EXTERNAL CODE PROBLEMS C51: ARE 32-BIT SFRS SUPPORTED? C51: ARE CHECKSUM LIBRARY ROUTINES INCLUDED? C51: ARE CODE AND DATA OBJECTS RELOCATABLE? C51: ARE LINK AND MAKE FUNCTIONS AVAILABLE? C51: ARE RAM BIT-ADDRESSABLE REGISTERS SUPPORTED? C51: ARE UNIONS SUPPORTED IN C51 C51: AREGS/NOAREGS DIRECTIVE C51: ARITHMETIC PROBLEMS WITH CHAR TYPES C51: ARRAY INDEX USES BYTE INSTEAD OF WORD C51: ASM/ENDASM DIRECTIVE C51: ASSIGNING AN I/O ADDRESS TO A VARIABLE C51: ATMEL EEPROM PROGRAMMING SUPPORT C51: ATMEL T89C51CC01 INTERNAL EEPROM SUPPORT C51: ATOF LIBRARY ROUTINE USES BIT VARIABLES C51: AVOIDING ACALL PROBLEMS IN DS80C390 REV BX DEVICES C51: AVOIDING MOVC FETCHES FROM CODE SPACE C51: AVOIDING STARTUP INITIALIZATION OF STATIC VARIABLES C51: BAD JUMP IN .SRC FILE C51: BANK SWITCHING COMMON AREA C51: BANK SWITCHING USING ASSEMBLY C51: BANK TABLE ENTRIES FOR INDIRECTLY CALLED FUNCTIONS C51: BATTERY-BACKED NON-VOLATILE MEMORY C51: BIT ADDRESSABLE ARRAYS C51: BIT FIELD UNIONS DON'T WORK AS EXPECTED C51: BIT FIELD UNIONS GIVE STRANGE RESULTS C51: BIT FORMAT SPECIFIERS FOR PRINTF C51: BITS USED FOR BANK SELECTION C51: BOOTLOADER AND ISP FOR THE CYGNAL C8051FXX DEVICES C51: BROWSER INFORMATION IN OMF51 FILE MAKES EMULATOR FAIL C51: CALCULATING BAUD RATES FOR THE 8051 SERIAL PORT C51: CALCULATING CODE SPACE FOR BANK SWITCHING C51: CALCULATING STACK SIZE C51: CALCULATING TIMER SETTINGS FOR SERIAL I/O C51: CALL C FUNCTIONS WITHIN STARTUP CODE C51: CALLING ASSEMBLY ROUTINES FROM C C51: CALLING FUNCTIONS FROM INTERRUPTS C51: CALLING PRINTF IN AN INTERRUPT C51: CAN STRUCT MEMBERS RESIDE IN DIFFERENT MEMORY SPACES? C51: CHANGING L51_BANK TO OUTPUT INVERTED SIGNALS C51: CHANGING OPTIMIZER LEVEL FOR A SINGLE FUNCTION C51: CHANGING THE ORDER OF OBJ FILES MAKES PROGRAM CRASH C51: CHECKING FOR STACK UNDERFLOW AT RUNTIME C51: CLEARING THE SCANF INPUT STREAM C51: CODE BANKING LATCH ON EXTRA ADDRESS LINES C51: CODE BANKING WITH ON-CHIP AND OFF-CHIP MEMORY C51: CODE BANKING WITH SILABS C8051F12X/F13X DEVICES C51: CODE DIRECTIVE C51: CODE GENERATOR SUPPORT FOR MULTIPLE DATA POINTERS C51: CODE STRINGS IN STRUCTS ARE NOT MERGED C51: COMMAND LINE GLOBAL REGISTER OPTIMIZATION C51: COMMENTS IN ASSEMBLY BLOCKS C51: COMPACT DIRECTIVE C51: COMPILER DIRECTIVE FOR LINKER-LEVEL OPTIMIZATION C51: COMPILER DIRECTIVE FOR OMF2 FILE FORMAT C51: COMPILER DIRECTIVE FOR OMF-51 EXTENDED FORMAT C51: COMPILER DOES NOT INITIALIZE R1/R2/R3 FOR ?C?CSTOPTR C51: COMPILER DOESN'T WORK WITH BORLAND MAKE C51: COMPILER GENERATES ZERO LENGTH JUMP C51: COMPILER IS UNABLE TO FIND INCLUDE FILES C51: COMPILER OPTIMIZES OUT NECESSARY XDATA READS C51: COMPILER USES DPL AND DPH FOR VARIABLES C51: COND/NOCOND DIRECTIVE C51: CONFIGURABLE SFR BIT ACCESSES C51: CONFIGURING FOR THE DALLAS 390 CONTIGUOUS MODE C51: CONFIGURING PPAGE AND PPAGEENABLE C51: CONFIGURING XDATA BANKING C51: CONST VARIABLE BANKING WITH SILABS C8051F12X DEVICES C51: CONST VARIABLE STORAGE LOCATION C51: CONSTANT ARRAYS LARGER THAN 64KB C51: CONSTANT FLOATING POINT NUMBER '0E' C51: CONSTANT VALUES AT FIXED ADDRESSES IN CODE SPACE C51: CONTENTS OF THE ?C_INITSEG SEGMENT C51: CONTROL DIRECTIVES C51: CONVERTING BIG ENDIAN TO LITTLE ENDIAN C51: CONVERTING IAR BANKED CODE TO KEIL C51: CONVERTING PORT.BIT CODE FROM IAR C51: CORRECTED SETJMP.H FOR CX51 C51: CORRECTLY DECLARING VARIABLES WITH MEMORY SPACES C51: CORRUPTION OF DPTR WHEN USING MODP2 C51: CREATE A PATCH VECTOR TABLE C51: CREATING A FIXED STACK SEGMENT C51: CREATING CODE BANKING PROGRAMS C51: CREATING CPU HEADER FILES C51: CREATING HEX FILES FOR THE CYPRESS USB DEVICES C51: CREATING OUTPUT FILES FOR OLDER PHILIPS PDS51 EMULATORS C51: DALLAS 390 HANGS ON MATH OPERATIONS C51: DALLAS 390 MATH ACCELERATOR OPERATIONS C51: DALLAS 390/400 INTERRUPTS IN ALTERNATE 64K CODE PAGE C51: DALLAS 390/400/520 STRUCTURE POINTER INCREMENT PROBLEM C51: DALLAS 390/400/5240 REENTRANT FUNCTION C51: DALLAS 80C420 OR 89C420 HEADER FILE? C51: DALLAS DS5240 MODULO-ARITHMETIC ACCELERATOR C51: DALLAS TINI BOARD SOFTWARE PROBLEMS C51: DASHES IN FILENAMES C51: DATA OVERLAYING PROBLEM WITH STRUCT PARAMETERS C51: DATA OVERLAYING WITH RTOS APPLICATIONS C51: DATA TYPE QUESTION C51: DATA_GROUP AND STACK PROBLEMS C51: DEBUG DIRECTIVE C51: DEBUGGER WON'T STOP ON BREAKPOINTS, ON ST UPSD33XX C51: DECLARING 2 VARIABLES AT THE SAME ADDRESS C51: DECLARING BDATA AND SBIT VARIABLES C51: DECLARING EXTERNAL SBITS C51: DEFAULT PAGELENGTH IS 68, NOT 60 C51: DEFAULT STARTUP AND INITIALIZATION CODE C51: DEFINE DIRECTIVE C51: DEFINING THE MINIMUM STACK SIZE C51: DETERMINING THE LOCATION OF ASSEMBLER INSTRUCTIONS C51: DIFFERENCES BETWEEN C51 V7.50 AND V7.50A C51: DIFFERENCES BETWEEN V6.10 AND V6.10A C51: DIRECTING PRINTF OUTPUT TO SECOND SERIAL PORT C51: DISABLE DIRECTIVE C51: DISABLING INTERRUPTS ON SILICON LABS F12X/F13X DEVICES C51: DIVISION DOESN'T WORK C51: DIVISION PROBLEMS WITH THE DALLAS 390 / DALLAS 400 C51: DO THE KEIL TOOLS WORK WITH ALL 8051 CHIPS? C51: DO XDATA AND CODE MEMORY OVERLAP? C51: DOES ENUM TYPE CHECKING WORK? C51: DOES THE RUN-TIME LIBRARY DISABLE INTERRUPTS? C51: DOUBLE PRECISION MATH ROUTINES C51: DS5000 REAL-TIME CLOCK EXAMPLE CODE C51: DS80C320.H INCLUDE FILE IS INCORRECT C51: DS80C390 ARITHMETIC ACCELERATOR C51: DUAL DATA POINTER PERFORMANCE INCREASE C51: DUAL DATA POINTERS AND CYPRESS EZ-USB C51: DUAL DATA POINTERS AND PHILIPS C51: DUAL DATA POINTERS FOR DALLAS PARTS C51: EFFICIENT CODE FOR BYTE ACCESS CONVERSION TO LONG C51: ELIMINATING 16-BIT POINTER INCREMENTS C51: EMPTY RELOCATABLE SEGMENT C51: ENUM EXAMPLES C51: ERROR 146 (INVALID BASE ADDRESS) C51: ERROR 166 (ARRAY OF FUNCTIONS) C51: ERROR 200 (LEFT SIDE OF '.' REQUIRES STRUCT/UNION) C51: ERROR 230 (UNKNOWN STRUCT/UNION/ENUM TAG) C51: ERROR 258 (MSPACE ILLEGAL IN STRUCT/UNION) C51: ERROR 274 (ABSOLUTE SPECIFIER ILLEGAL) C51: ERROR C202 USING XBYTE ABSOLUTE ADDRESSING C51: ERROR C249 (SPECIAL INITIALIZATION EXCEEDS 8K) C51: ERROR C267 ('FUNCTION': REQUIRES ANSI-STYLE PROTOTYPE) C51: ERRORS USING SBITS AND SFRS C51: EVAL AND THE FLOATING-POINT LIBRARY C51: EVALUATION COMPILER FOR CYPRESS EZ-USB FAMILY C51: EXAMPLE PROGRAMS FOR THE DALLAS 390 CONTIGUOUS MODE C51: EXAMPLE PROGRAMS FOR THE PHILIPS MX DEVICES C51: EXECUTING SPECIAL INSTRUCTIONS IMMEDIATELY AFTER RESET C51: EXPECT LCALL BUT SEE LJMP C51: EXPORTING SYMBOLS FOR EMULATORS C51: EXTERN DECLARATIONS USING _AT_ C51: EXTERN VARS AND INLINE ASSEMBLY C51: EXTERNAL MEMORY ACCESSED FOR DATA MEMORY POINTER C51: EXTERNAL SFR ACCESS FOR 8051 PROGRAMS C51: EZ-USB STARTUP CODE C51: FAR DATA POINTER BOUNDARIES C51: FAR VAR _AT_ COMPARED TO CAST VALUE C51: FATAL ERROR (CANNOT OPTIMIZE FUNCTION) C51: FATAL ERROR (MORE THAN 256 SEGMENTS) C51: FATAL ERROR 210 (RTX51.LIB NOT FOUND) C51: FATAL ERROR WHEN USING #PRAGMA SRC C51: FLASH MEMORY ON THE ADUC812 C51: FLOATFUZZY DIRECTIVE C51: FLOATING POINT LIBRARY ROUTINES REGISTER USAGE C51: FLOATING-POINT REENTRANCY IN ISR? C51: FORMAT OF ?C_INITSEG SEGMENT C51: FORMAT OF __DATE__ MACRO HAS CHANGED C51: FORMFEEDS IN LISTING FILES C51: FULL VERSION OF TOOLS SHOW CODE SIZE LIMIT C51: FUNCTION OF ?C?ICALL AND ?C?ICALL2 C51: FUNCTION POINTERS IN CONTIGUOUS MODE C51: FUNCTION PROTOTYPES FOR REENTRANT FUNCTIONS C51: FUNCTIONS THAT ARE REENTRANT C51: GAPS IN DATA SPACE C51: GENERAL PURPOSE SFR INTERFACE C51: GENERATING HEX FILES FOR CODE BANKING PROGRAMS C51: GET ERROR A45: USING IN-LINE ASSEMBLER C51: GETCHAR ECHOS CHARACTERS C51: GETTING EVAL VERSION USING SILABS IDE C51: GETTING INLINE ASSEMBLY TO WORK C51: GETTING INTERRUPTS WORKING C51: GETTING MANUALS C51: GETTING THE CODE BANK OF A FUNCTION C51: GETTING THE CURRENT BANK NUMBER C51: GLOBAL OR STATIC VARIABLES NOT BEING INITIALIZED C51: GLOBAL VARIABLE PROBLEM WITH DALLAS 390 CONTIGUOUS MODE C51: HALT BUTTON DOES NOT STOP SIMULATOR EXECUTION C51: HANDLING UNUSED INTERRUPTS C51: HEADER FILE FOR THE PHILIPS 87C554 C51: HOW ARE FUNCTION PARAMETERS HANDLED? C51: HOW BIG CAN A BINARY NUMBER BE? C51: HOW DO I READ A LATCH? C51: HOW TO DIRECTLY ADDRESS MULTIPLE CONSECUTIVE SFRS C51: HOW TO GIVE DESCRIPTIVE NAMES TO PORT PINS C51: HOW TO USE 256 BYTES DATA SPACE C51: HYPHENS ARE NOT ALLOWED IN INCLUDE FILE FILENAMES C51: IDATALOOP NEVER ENDS C51: IMPLEMENTING XDATA BANKING C51: IN-APPLICATION PROGRAMMING (IAP) ON PHILIPS LPC9XX C51: INCLUDE FILE FOR ATMEL 89S8252 C51: INCLUDE FILES IN THE DEPENDENCY CHECK C51: INCORRECT ACCESSING OF 2D ARRAY IN STRUCTURE C51: INCORRECT OPERATION OF PRINTF AND SIZEOF C51: INCORRECT VALUE STORED IN CHAR C51: INDENTIFY UNCALLED LIBRARY ROUTINES C51: INDIRECT FUNCTION CALLS WITH CODE BANKING C51: INDIRECTLY ACCESSING 8051 SFRS C51: INDIRECTLY CALLED REENTRANT FUNCTIONS C51: INFINEON C517A A/D EXAMPLE PROGRAM C51: INFINEON WATCHDOG TIMER RESETS SIMULATOR C51: INIT_MEMPOOL REQUIRES MORE MEMORY THAN IS ACTUALLY USED C51: INITIALIZING AN ABSOLUTELY LOCATED VARIABLE C51: INITIALIZING FAR DATA C51: INITIALIZING THE 320/520 2ND SERIAL PORT C51: INITIALIZING XDATA OVER FF00H C51: IN-LINE ASM GIVES COMPILER WARNINGS C51: INLINE ASSEMBLY C51: INLINE ASSEMBLY GENERATES TARGET OUT OF RANGE C51: IN-SYSTEM FLASH PROGRAMMING (PART 1) C51: IN-SYSTEM FLASH PROGRAMMING (PART 2) C51: IN-SYSTEM FLASH PROGRAMMING WITH ROM SIZE > 64KB C51: INTEGER PROMOTION C51: INTERFACE FOR IAP FUNCTIONS ON PHILIPS DEVICES C51: INTERRUPT CODE NOT IN CORRECT SPACE C51: INTERRUPT SERVICE ROUTINES LOCATED AT WRONG ADDRESSES C51: INTERRUPT VECTOR NUMBERS C51: INTERRUPT-DRIVEN SERIAL I/O C51: INTERRUPTS AND LOCAL VARIABLES C51: INTERRUPTS NOT GENERATED C51: INTERVAL DIRECTIVE C51: INTPROMOTE/NOINTPROMOTE DIRECTIVE C51: INTVECTOR/NOINTVECTOR DIRECTIVE C51: INVALID SERIAL NUMBER/UNABLE TO INSTALL FROM CD C51: IS RETURN REQUIRED FOR VOID FUNCTIONS? C51: IS STARTUP.A51 REQUIRED? C51: IS THE PHILIPS XA SUPPORTED? C51: IS THERE A LITTLE ENDIAN/BIG ENDIAN COMPILER OPTION? C51: IS THERE A TRANSLATOR FOR PL/M-51 TO C? C51: IS V5.1 REALLY V5.1? C51: KBHIT LIBRARY ROUTINE IS MISSING C51: L51_BANK.A51 ASSEMBLES WITH ERRORS C51: LARGE DIRECTIVE C51: LATENCY OF INTERRUPT SERVICE ROUTINES C51: LIBRARY PROBLEMS WITH DALLAS CONTIGUOUS MODE C51: LIMITS ON FUNCTIONS WITH VARIABLE-LENGTH ARGUMENT LISTS C51: LINK INTERBANK CALL TABLE ?BANK?SELECT C51: LINKER WARNINGS AFTER UPGRADING SOFTWARE C51: LINKING PROGRAMS FOR DS80C400 USING START400.A51 FAILS C51: LINKING V6 LIBRARIES WITH V5 PROGRAMS C51: LISTINCLUDE DIRECTIVE C51: LITTLE-ENDIAN CAN REGISTERS, BIG-ENDIAN COMPILER C51: LJMP & LCALL INSTEAD OF AJMP & ACALL C51: LJMP INSTRUCTIONS IN INLINE ASSEMBLER CORRUPTED C51: LOCAL VARIABLES PRESERVE VALUES BETWEEN FUNCTION CALLS C51: LOCATE STRUCT TO SFR SPACE C51: LOCATING A TABLE OF POINTERS AT A SPECIFIC ADDRESS C51: LOCATING A VARIABLE IN A REGISTER C51: LOCATING DATA STRUCTURES IN XDATA IN THE ORDER DEFINED C51: LOCATING FUNCTION TABLES IN CODE MEMORY C51: LOCATING INITIALIZED VARIABLES AT ABSOLUTE ADDRESSES C51: LOCATING INTERRUPTS IN EVAL SOFTWARE C51: LOCATING OBJECT FILES AT SPECIFIC STARTING ADDRESSES C51: LOCATING THE STACK AFTER IDATA VARIABLES C51: LOCATING VARIABLES IN MULTIPLE XDATA AREAS C51: LOCATING VARIABLES TO FAR CONST SPACE C51: LOG AND POW FUNCTION PROBLEMS C51: LONG FILE NAMES C51: LONG POINTER ARITHMETIC C51: LROL AND LROR FUNCTIONS ARE NOT INTRINSIC C51: MATH FUNCTIONS C51: MATH OPERATIONS SUPPORTED C51: MAXARGS DIRECTIVE C51: MEMORY ALLOCATION C51: MEMORY CLASSES FOR STRINGS AND STRING POINTERS C51: MEMORY TYPES FOR THE DALLAS 390 CONTIGUOUS MODE C51: MISSING UART SFR DEFINITIONS FOR PHILIPS 8XC51MX C51: MIXING C AND ASSEMBLY C51: MIXING MEMORY MODELS C51: MIXING MEMORY MODELS AND MEMORY AREAS C51: MIXING REENTRANT FUNCTIONS AND NON-REENTRANT FUNCTIONS C51: MIXING SRAM AND NVRAM C51: MOD517/ NOMOD517 DIRECTIVE C51: MODDP2/NOMODDP2 DIRECTIVE C51: MODIFYING CONSTANT STRUCTURES C51: MODIFYING THE STARTUP ROUTINES C51: MULTIPLE LARGE OBJECTS IN HDATA C51: MULTIPLE VARIABLES AT THE SAME ADDRESS C51: NAMING CONVENTIONS FOR FUNCTION SYMBOLS C51: NO SIMULATION OF A/D CONVERTER C51: NOAMAKE DIRECTIVE C51: NOEXTEND DIRECTIVE C51: NOEXTEND DOES NOT WORK PROPERLY C51: NON-REENTRANT PRINTF C51: NOREGPARMS DOES NOT WORK ON REENTRANT FUNCTIONS C51: NULL POINTER COMPARE FAILS WHEN MIXING MEMORY TYPES C51: NULL POINTER COMPARE FAILS WITH MALLOC AND CALLOC C51: OBJECT/NOOBJECT DIRECTIVE C51: OBJECTEXTEND DIRECTIVE C51: OBTAINING THE PARITY OF A CHARACTER C51: OFFSETS WITH FAR MEMORY ACCESS C51: ON-CHIP BANKED PDATA SUPPORT C51: ON-CHIP MEMORY CONFIGURATION FOR STM UPSD DEVICES C51: OPTIMIZED C WITH INLINE ASSEMBLER C51: OPTIMIZER LEVELS AND VOLATILE VARIABLES C51: OPTIMUM CODE FOR BIT TO BYTE CONVERSION C51: ORDER DIRECTIVE C51: ORDER OF BITFIELDS C51: OUT OF STACK SPACE C51: OVERLAYABLE SEGMENTS AND MEMORY MODELS C51: PAGELENGTH DIRECTIVE C51: PAGEWIDTH DIRECTIVE C51: PASSING PARAMETERS TO INDIRECTLY CALLED FUNCTIONS C51: PERFORMING A SOFTWARE RESET C51: PHILIPS 87C51RC 512-BYTE INTERNAL RAM SUPPORT C51: PHILIPS LPC SUPPORT C51: PHILIPS P8XC557E8 2KB INTERNAL RAM SUPPORT C51: PHYSICAL LOCATION OF REGISTERS C51: PLACING FAR VARIABLES AT ABSOLUTE LOCATIONS C51: POINTER ASSIGNMENT CRASHES IN THE CONTIGUOUS MODE C51: POINTER STORAGE SIZE C51: POP INTRINSIC GENERATES UNRESOLVED EXTERNAL C51: PORTING CODE FROM PL/M-51 C51: PORTING FROM OLDER TO NEWER TOOLS C51: PORTING IAR XMEM TO KEIL XDATA C51: POST INCREMENT ON LONG FAR TYPES C51: PREPRINT DIRECTIVE C51: PREVENTING COMMON BLOCK OPTIMIZATION C51: PRINT/NOPRINT DIRECTIVE C51: PRINTF GIVES WRONG VALUES C51: PRINTF LIBRARY ROUTINE PROBLEM WITH 0-LENGTH PRECISION C51: PROBLEMS IN SCANF AND SSCANF C51: PROBLEMS INITIALIZING BITFIELD WITH POINTER C51: PROBLEMS SOLVED IN C51 V5.50 C51: PROBLEMS SOLVED IN C51 V6.01 C51: PROBLEMS SOLVED IN C51 V6.02 C51: PROBLEMS SOLVED IN C51 V6.02 - V6.14 C51: PROBLEMS SOLVED IN C51 V6.12 C51: PROBLEMS SOLVED IN C51 V6.20 - V6.23 C51: PROBLEMS SOLVED IN C51 V7.00 - V7.01 C51: PROBLEMS USING PRINTF C51: PROBLEMS WHEN LOCATING FUNCTIONS IN CODE BANKS C51: PROBLEMS WITH #PRAGMA ASM C51: PROBLEMS WITH FUNCTION POINTERS OVERWRITING VARIABLES C51: PROBLEMS WITH HYPHENS IN FILENAMES AND PROJECT NAMES C51: PROBLEMS WITH LONG COMPARISONS TO 0 IN V6.21 C51: PROBLEMS WITH REGISTER OPTIMIZATION IN V6.22 C51: PROGRAM HANGS CASTING INT TO FLOAT ON DALLAS 400 C51: PROGRAM NEVER REACHES MAIN C51: PROGRAMMING THE CYPRESS CY3671 FOR GPIF ACCESS C51: PROGRAMS THAT USE ONE REGISTERBANK C51: PROGRAM-WIDE SOURCE/ASSEMBLY LISTING FILE C51: PURPOSE OF THE INIT.A51 FILE C51: RAMSIZE FOR THE PHILIPS 87C528 C51: READING CODE SPACE C51: READING FROM AN INPUT PORT C51: READING PORT INPUT VERSUS PORT LATCH C51: READ-MODIFY-WRITE REGISTERS C51: REDIRECTING INTERRUPT VECTORS C51: REDIRECTING SERIAL I/O TO OTHER UARTS C51: REENTRANCY ISSUES WITH THE DALLAS 390 MATH ACCELERATOR C51: REENTRANT FUNCTIONS AND THE REENTRANT STACK POINTER C51: REENTRANT FUNCTIONS AND VARIABLES C51: REENTRANT STACK NEEDED FOR REENTRANT LIBRARY FUNCTIONS? C51: REGFILE DIRECTIVE C51: REGISTER USAGE OVER XBANKING.A51 FUNCTIONS C51: REGISTER VARIABLES C51: REGISTERBANK DIRECTIVE C51: RELOCATING AUTOVECTOR INTERRUPTS ON THE CYPRESS EZ-USB C51: RELOCATING INTERRUPT VECTOR TABLES C51: RELOCATING PROGRAM CODE IN C C51: REMOVING AND DISABLING WARNING 13 (RECURSIVE CALL) C51: REMOVING LINKER WARNING L16 (UNCALLED SEGMENT) C51: REPLACE AJMP/ACALL WITH LJMP/LCALL C51: REPLACING MEM AND STR LIBRARY ROUTINES C51: RESERVE MEMORY AT ABSOLUTE BANK ADDRESSES C51: RESERVING CODE SPACE C51: RESERVING MEMORY ACCESSED WITH XBYTE AND XWORD C51: RESERVING SPACE IN CODE BANKS C51: RESERVING SPACE IN CODE MEMORY C51: RESET VECTOR DOES NOT JUMP TO C CODE C51: RET_ISTK DIRECTIVE C51: RET_PSTK DIRECTIVE C51: RET_XSTK DIRECTIVE C51: RE-USE LIBRARY FUNCTIONS FROM A BOOT APPLICATION C51: ROM DIRECTIVE C51: ROM(COMPACT) C51: RTX51 AND TRISCEND BANKING WITH CUSTOM L51_BANK.A51 C51: RUNTIME DETERMINATION OF LAST XDATA ADDRESS USED C51: SAVE/RESTORE DIRECTIVE C51: SAVING EXTRA VARIABLES ON THE STACK C51: SAVING REGISTERS IN INTERRUPTS C51: SBIT MODIFICATIONS NOT CORRECTLY WRITTEN TO MEMORY C51: SCANF %F FAILS WITH USER-DEFINED GETKEY FUNCTION C51: SCANF() BEHAVES INCORRECTLY C51: SELECTING DIFFERENT REGISTER BANKS IN A FUNCTION C51: SETTING OR CLEARING BITS IN THE ACCUMULATOR C51: SETTING PROGRAM START ADDRESS C51: SETTING THE LOCATION OF THE REENTRANT STACK POINTER C51: SIDE-EFFECTS OF VPRINTF AND VSPRINTF C51: SIGNED BIT FIELD NOT SUPPORTED C51: SMALL DIRECTIVE C51: SOFTWARE RESET IN C C51: SOME HLP FILES DON'T WORK UNDER WINDOWS C51: SOURCE CODE DOESN'T DISPLAY IN MY EMULATOR C51: SPECIFYING HEADER PATHS FROM THE COMMAND LINE C51: SPLITTING CODE BETWEEN EPROM AND FLASH/EEPROM C51: SRC DIRECTIVE C51: SROM MACROS RETURN INCORRECT ADDRESSES C51: SSCANF RETURNS INCORRECT NUMBER OF PARAMETERS SCANNED C51: STACK AND REENTRANT STACK SYMBOLIC NAMES C51: STACK POINTER INITIALIZATION IN STARTUP CODE C51: STACK REQUIREMENTS OF RUN-TIME LIBRARY FUNCTIONS C51: STACK UTILIZATION C51: STARTING A FUNCTION AT A SPECIFIC ADDRESS C51: STARTUP CODE UNRESOLVED EXTERNAL (?B_SWITCH0) C51: STATIC DATA VARIABLES C51: STATIC POINTERS VS EXPLICITLY PLACED VARIABLES C51: STDARG.H QUESTIONS C51: STORAGE OF LOCAL VARIABLES C51: STRING TABLE IN XDATA C51: STRUCTURE MEMORY SPACE DETAILS IN LISTING FILES C51: SUPPORT FOR C505 DATA POINTERS C51: SUPPORT FOR DEVICES WITH UNDER 2K CODE SPACE C51: SUPPORT FOR FLOATING-POINT NUMBERS C51: SUPPORT FOR -I AND -D MAKEFILE COMMANDS C51: SUPPORT FOR INLINE KEYWORD C51: SUPPORT FOR PHILIPS P89C51RC & P89C51RC2 C51: SUPPORT FOR THE 515C EIGHT DATA POINTERS C51: SUPPORT FOR THE 8744 SDLC MICROCONTROLLER C51: SUPPORT FOR THE ATMEL AT89C C51: SUPPORT FOR THE ATMEL T80C51 DEVICES C51: SUPPORT FOR THE DALLAS 390 C51: SUPPORT FOR THE PHILIPS 80C51RX C51: SUPPORT FOR THE PHILIPS 87C652 C51: SUPPORT FOR THE PHILIPS 87LPC764 C51: SUPPORT FOR THE PHILIPS P89C66X DEVICES C51: SUPPORT FOR THE SIEMENS DECT472X C51: SUPPORT FOR THE SST89C5X C51: SUPPORT FOR THE WINBOND W77C32 C51: SUPPORT OF NON-STANDARD CHIP FEATURES C51: SUPPORTED DATA TYPES C51: SUPPRESSING CALLS TO FUNCTION FROM COMMON CODE BLOCKS C51: SWITCH/CASE STATEMENTS C51: SYMBOLS DIRECTIVE C51: TCP/IP SUPPORT C51: TRANSMITTING FLOATING-POINT NUMBERS C51: TYPEDEF ENUM C51: UNABLE TO FIND INCLUDE FILES USING LONG DIRECTORY NAMES C51: UNRESOLVED EXTERNAL ?C?CLDOPTR C51: UNRESOLVED EXTERNAL ERROR USING ASSEMBLER AND C C51: UNRESOLVED EXTERNAL SYMBOL ?C?XPAGE1SFR C51: UNRESOLVED EXTERNAL WITH FAR MEMORY TYPE C51: UNUSED OPCODES C51: UPDATING THE PROGRAM COUNTER ON THE STACK C51: USB DONGLE NOT RECOGNIZED C51: USE OF DUAL DATA POINTERS C51: USE OF F0 AND F1 IN PSW C51: USE SPECIFIC ADDRESS RANGE FOR MOVC C51: USING #IF TO TEST CONDITIONS C51: USING > 64KB EXTERNAL SRAM WITH C8051F12X DEVICES C51: USING 1K SRAM ON DALLAS DS89C420 C51: USING AUTO-DECREMENT/AUTO-TOGGLE WITH DALLAS 390 & 400 C51: USING C51 V7.50 WITH A C51 V8 PSN C51: USING DONGLES WITH WINDOWS NT/2000 C51: USING LIBRARY FUNCTIONS C51: USING MDU_F120 AND MDU_R515 IN µVISION C51: USING MEMORY FROM 00H TO 1FH C51: USING MEMORY-MAPPED DEVICES C51: USING MICROCONTROLLERS WITH ON-CHIP XDATA C51: USING MORE THAN 2K OF CODE SPACE C51: USING MOVX TO UPDATE FLASH ON C8051F320 C51: USING MULTI-FUNCTION PINS ON ATMEL AT89C51RD2 C51: USING NON-REENTRANT FUNCTION IN MAIN AND INTERRUPTS C51: USING NOOVERLAY WITH µVISION2 C51: USING NOP IN C C51: USING ONLY ONE REGISTERBANK C51: USING PDATA MEMORY C51: USING PDATA ON ADUC83X AND ADUC84X DEVICES C51: USING PDATA VARIABLES ON INFINEON XC800 C51: USING PHILIPS MX DEVICE WITH C51 / BL51 C51: USING ROM LIBRARY IN INFINEON XC8XX DEVICES C51: USING SETJMP AND LONGJMP WITH CODE BANKING AND RTX51 C51: USING SFR16 FOR 16-BIT SFRS C51: USING SIO0 AND SIO1 WITH THE DALLAS 320 C51: USING THE 517 MULTIPLY/DIVIDE UNIT IN INTERRUPTS C51: USING THE C509 MULTIPLY/DIVIDE UNIT C51: USING THE CODEWRIGHT EDITOR C51: USING THE DS87C520 INTERNAL SRAM C51: USING THE ON-CHIP XDATA OF THE INFINEON C515C C51: USING THE PHILIPS 87C751 C51: USING TIMED ACCESS REGISTERS ON DALLAS PARTS C51: USING VERSION 6.12 WITH A VERSION 8 INSTALLATION C51: USING XRAM ON THE PHILIPS 80C66X AND 80C51RX DEVICES C51: UTMOST SPEED ON INTEGER DIVISION C51: V6.0 INSTALLATION PROBLEMS WITH CD-ROM RELEASE 12.99 C51: V6.00 OPTIMIZATIONS CAUSE LINKER ERRORS/WARNINGS C51: V6.02 UPDATE SAYS V6.01 C51: VARIABLE BANKING CONFIGURATION OPTIONS C51: VARIABLE ZERO INITIALIZIATION C51: VARIABLES CREATED IN XDATA USING SMALL MODEL C51: VARIABLES IN LARGE AND COMPACT MEMORY MODEL DON'T WORK C51: VERIFYING LOOK-UP TABLE VALUES C51: VERSION 6 RELEASE NOTES C51: WARNING 173 (MISSING RETURN-EXPRESSION) C51: WARNING 182 (POINTER TO DIFFERENT OBJECTS) C51: WARNING 185 (DIFFERENT MEMORY SPACE) C51: WARNING 196 (MSPACE PROBABLY INVALID) C51: WARNING 198 (SIZEOF RETURNS ZERO) C51: WARNING 206 (MISSING FUNCTION PROTOTYPE) C51: WARNING 209 (TOO FEW ACTUAL PARAMETERS) C51: WARNING 219 (LONG CONSTANT TRUNCATED TO INT) C51: WARNING 245 (UNKNOWN PRAGMA, LINE IGNORED) C51: WARNING 258 (MSPACE ILLEGAL ON STRUCT/UNION MEMBER) C51: WARNING 259 (POINTER: DIFFERENT MSPACE) C51: WARNING 259 (POINTER: DIFFERENT MSPACE) C51: WARNING 260 (POINTER TRUNCATION) C51: WARNING 261 (BIT IN REENTRANT FUNCTION) C51: WARNING 265 (RECURSIVE CALL TO NON-REENTRANT FUNCTION) C51: WARNING 271 (MISPLACED ASM/ENDASM CONTROL) C51: WARNING 275 (EXPRESSION WITH POSSIBLY NO EFFECT) C51: WARNING 276 (CONSTANT IN CONDITION EXPRESSION) C51: WARNING 277 (DIFFERENT MSPACES TO POINTER) C51: WARNING 280 (UNREFERENCED SYMBOL/LABEL) C51: WARNING 307 (MACRO 'NAME': PARAMETER COUNT MISMATCH) C51: WARNING 317 (MACRO 'NAME': INVALID REDEFINITION) C51: WARNING 317 (REDEFINITION OF MACRO) C51: WARNING 322 (UNKNOWN IDENTIFIER) C51: WARNING 323 (NEWLINE EXPECTED EXTRA CHARACTERS FOUND) C51: WARNING 324 (PREPROCESSOR TOKEN EXPECTED) C51: WARNING 500 (BAD OR MISSING COMPILER OVERLAY) C51: WARNING C259 (DIFFERENT ENUMERATION TYPES) C51: WARNING C500 (MISSING DEVICE) AFTER UPDATE C51: WARNINGLEVEL DIRECTIVE C51: WHAT ARE THE LIMITS FOR FLOATING-POINT NUMBERS? C51: WHAT C51 KIT SHOULD I BUY TO WORK WITH CYPRESS EZ-USB C51: WHAT CAUSES HEX FILES TO CHANGE BETWEEN VERSIONS? C51: WHAT IS ?C?LIB_DATA USED FOR? C51: WHAT IS THE ADDRESS RANGE ACCEPTABLE BY XBYTE MACRO C51: WHAT'S IN THE ?CO? SEGMENTS? C51: WHAT'S THE BEST WAY TO DISABLE/REENABLE INTERRUPTS C51: WHEN ARE FUNCTIONS REENTRANT C51: WHEN/WHERE ARE GLOBAL AND STATIC VARIABLES INITIALIZED? C51: WHERE IS THE ABSOLUTE OMF OBJECT MODULE? C51: WHICH 8051-BASED CHIPS ARE SUPPORTED? C51: WHICH STARTUP CODE TO USE C51: WHY DOES C51 V6.01 INCLUDE C51 V5.50A? C51: WHY DOES VA_ARGS WORK? C51: WHY NUMBER OF BYTES PASSED TO PRINTF IS LIMITED C51: WIDE CHARACTER SUPPORT C51: WRITING INTERRUPT ROUTINES C51: WRITING TO THE OUTPUT PORTS C51: WRONG CODE GENERATED FOR DOUBLE INDIRECTION C51: WRONG HEADER FILE FOR PHILIPS P89C664 C51: XDATA BANKING WITH R8051XC C51: XDATA OVERLAYING C51: XDATA PROBLEMS PORTING C51 CODE TO C251 C51: XOR GIVES INCORRECT RESULTS C51: XWORD MACRO QUESTIONS