From: borutr Date: Sat, 16 Feb 2008 14:28:22 +0000 (+0000) Subject: * as/z80/asmain.c, as/z80/asm.h, as/z80/asdata.c, X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=d60a9db49385f694bb4b5a33c4d4c21d2e05d254;hp=40a52b0fdc1132d08dbd207d135186ea9a73d2c5;p=fw%2Fsdcc * as/z80/asmain.c, as/z80/asm.h, as/z80/asdata.c, as/link/z80/lkmain.c, as/z80/as_gbz80.dsp, as/z80/as_z80.dsp, as/z80/Makefile.in. as/z80/Makefile.bcc: applied patch #1893393: patch for as-z80 and link-z80 to generate cdb, thanx to Armin Diehl * as/*/asnoice.c, as/hc08/as_hc08.dsp, as/hc08/Makefile.in, as/mcs51/asx8051.dsp, as/mcs51/Makefile.in: asnoice.c moved to as/asxxsrc/asnoice.c git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5011 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index 7489e1c1..a9de75a2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-02-16 Borut Razem + + * + 2008-02-14 Maarten Brock * .version, diff --git a/as/asxxsrc/asnoice.c b/as/asxxsrc/asnoice.c new file mode 100644 index 00000000..7c182e82 --- /dev/null +++ b/as/asxxsrc/asnoice.c @@ -0,0 +1,131 @@ +/* asnoice.c */ + +/* + * Extensions to CUG 292 assembler ASxxxx to produce NoICE debug files + * + * 3-Nov-1997 by John Hartman + */ + +#include +#include +#include +#include +#include "asm.h" + +/* Return basic file name without path or extension. + If spacesToUnderscores != 0 then spaces are converted to underscores */ + +char* BaseFileName( int fileNumber, int spacesToUnderscores ) +{ + static int prevFile = -1; + static char baseName[ PATH_MAX ]; + + char *p1, *p2; + + if (fileNumber != prevFile) + { + prevFile = fileNumber; + + p1 = srcfn[prevFile]; + + /* issue a FILE command with full path and extension */ + fprintf( ofp, ";!FILE %s\n", p1 ); + + /* Name starts after any colon or backslash (DOS) */ + p2 = strrchr( p1, '\\' ); + if (p2 == NULL) p2 = strrchr( p1, '/' ); + if (p2 == NULL) p2 = strrchr( p1, ':' ); + if (p2 == NULL) p2 = p1-1; + strcpy( baseName, p2+1 ); + + /* Name ends at any separator */ + p2 = strrchr( baseName, FSEPX ); + if (p2 != NULL) *p2 = 0; + /* SD comment this out since not a ANSI Function */ + /* strupr( baseName ); */ + + if (spacesToUnderscores) + { + /* Convert spaces to underscores */ + for (p1 = baseName; *p1; ++p1) + if (isspace(*p1)) + *p1 = '_'; + } + } + return baseName; +} + +/* Define a symbol for current location: FILE.line# */ +void DefineNoICE_Line() +{ + char name[ NCPS ]; + struct sym *pSym; + + /* symbol is FILE.nnn */ + sprintf( name, "%s.%u", BaseFileName( cfile, 0 ), srcline[ cfile ] ); + + pSym = lookup( name ); + pSym->s_type = S_USER; + pSym->s_area = dot.s_area; + pSym->s_addr = laddr; + pSym->s_flag |= S_GBL; +} + +/* Define a symbol for current location: A$FILE$line# */ +void DefineCDB_Line() +{ + char name[ NCPS ]; + struct sym *pSym; + + /* symbol is FILE.nnn */ + sprintf( name, "A$%s$%u", BaseFileName( cfile, 1 ), srcline[ cfile ] ); + + pSym = lookup( name ); + pSym->s_type = S_USER; + pSym->s_area = dot.s_area; + pSym->s_addr = laddr; + pSym->s_flag |= S_GBL; +} + +#if 0 +OLD VERSION +/* Define a symbol for current location: FILE.line# */ +void DefineNoICE_Line() +{ + static int prevFile = -1; + static struct area *pPrevArea = NULL; + static char baseName[ PATH_MAX ]; + + int j; + char *p1, *p2; + + /* Get outfilename without extension for use as base symbol name */ + if (baseName[0] == 0) + { + p1 = srcfn[0]; + p2 = baseName; + while ((*p1 != 0) && (*p1 != FSEPX)) + { + *p2++ = *p1++; + } + *p2 = 0; + /* SD Commented this out since it is not a + ASNI Function */ + /* strupr( baseName ); */ + } + + if ((cfile != prevFile) || (dot.s_area != pPrevArea)) + { + prevFile = cfile; + pPrevArea = dot.s_area; + + /* file or area change: issue FILE command with base @ */ + fprintf( ofp, ";!FILE %s %s_%s\n", srcfn[ cfile ], + baseName, + dot.s_area->a_id ); + } + + fprintf( ofp, ";!LINE %u. 0x%X\n", srcline[ cfile ], laddr ); +} + +#endif diff --git a/as/hc08/Makefile.in b/as/hc08/Makefile.in index e8a9f8ad..1c0e5b2f 100644 --- a/as/hc08/Makefile.in +++ b/as/hc08/Makefile.in @@ -45,10 +45,10 @@ UTILSRC = dbuf.c dbuf_string.c UTILLIBOBJS = $(UTILSRC:%.c=$(OBJDIR)/%.o) ASXXLIB = $(srcdir)/../asxxsrc -ASXXLIBSRC = strcmpi.c assym.c aslex.c +ASXXLIBSRC = strcmpi.c assym.c aslex.c asnoice.c ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o) -SRC = asmain.c assubr.c asnoice.c \ +SRC = asmain.c assubr.c \ asexpr.c asdata.c aslist.c asout.c \ m08ext.c m08pst.c m08mch.c m08adr.c OBJS = $(SRC:%.c=$(OBJDIR)/%.o) diff --git a/as/hc08/as_hc08.dsp b/as/hc08/as_hc08.dsp index 2b2c675e..3f2fd2df 100644 --- a/as/hc08/as_hc08.dsp +++ b/as/hc08/as_hc08.dsp @@ -107,7 +107,7 @@ SOURCE=.\asmain.c # End Source File # Begin Source File -SOURCE=.\asnoice.c +SOURCE=..\asxxsrc\asnoice.c # End Source File # Begin Source File diff --git a/as/hc08/asnoice.c b/as/hc08/asnoice.c deleted file mode 100644 index 2220d3a6..00000000 --- a/as/hc08/asnoice.c +++ /dev/null @@ -1,131 +0,0 @@ -/* asnoice.c */ - -/* - * Extensions to CUG 292 assembler ASxxxx to produce NoICE debug files - * - * 3-Nov-1997 by John Hartman - */ - -#include -#include -#include -#include -#include "asm.h" - -/* Return basic file name without path or extension. - If spacesToUnderscores != 0 then spaces are converted to underscores */ - -char* BaseFileName( int fileNumber, int spacesToUnderscores ) -{ - static int prevFile = -1; - static char baseName[ PATH_MAX ]; - - char *p1, *p2; - - if (fileNumber != prevFile) - { - prevFile = fileNumber; - - p1 = srcfn[prevFile]; - - /* issue a FILE command with full path and extension */ - fprintf( ofp, ";!FILE %s\n", p1 ); - - /* Name starts after any colon or backslash (DOS) */ - p2 = strrchr( p1, '\\' ); - if (p2 == NULL) p2 = strrchr( p1, '/' ); - if (p2 == NULL) p2 = strrchr( p1, ':' ); - if (p2 == NULL) p2 = p1-1; - strcpy( baseName, p2+1 ); - - /* Name ends at any separator */ - p2 = strrchr( baseName, FSEPX ); - if (p2 != NULL) *p2 = 0; - /* SD comment this out since not a ANSI Function */ - /* strupr( baseName ); */ - - if (spacesToUnderscores) - { - /* Convert spaces to underscores */ - for (p1 = baseName; *p1; ++p1) - if (isspace(*p1)) - *p1 = '_'; - } - } - return baseName; -} - -/* Define a symbol for current location: FILE.line# */ -void DefineNoICE_Line() -{ - char name[ NCPS ]; - struct sym *pSym; - - /* symbol is FILE.nnn */ - sprintf( name, "%s.%u", BaseFileName( cfile, 0 ), srcline[ cfile ] ); - - pSym = lookup( name ); - pSym->s_type = S_USER; - pSym->s_area = dot.s_area; - pSym->s_addr = laddr; - pSym->s_flag |= S_GBL; -} - -/* Define a symbol for current location: A$FILE$line# */ -void DefineCDB_Line() -{ - char name[ NCPS ]; - struct sym *pSym; - - /* symbol is FILE.nnn */ - sprintf( name, "A$%s$%u", BaseFileName( cfile, 1 ), srcline[ cfile ] ); - - pSym = lookup( name ); - pSym->s_type = S_USER; - pSym->s_area = dot.s_area; - pSym->s_addr = laddr; - pSym->s_flag |= S_GBL; -} - -#if 0 -OLD VERSION -/* Define a symbol for current location: FILE.line# */ -void DefineNoICE_Line() -{ - static int prevFile = -1; - static struct area *pPrevArea = NULL; - static char baseName[ PATH_MAX ]; - - int j; - char *p1, *p2; - - /* Get outfilename without extension for use as base symbol name */ - if (baseName[0] == 0) - { - p1 = srcfn[0]; - p2 = baseName; - while ((*p1 != 0) && (*p1 != FSEPX)) - { - *p2++ = *p1++; - } - *p2 = 0; - /* SD Commented this out since it is not a - ASNI Function */ - /* strupr( baseName ); */ - } - - if ((cfile != prevFile) || (dot.s_area != pPrevArea)) - { - prevFile = cfile; - pPrevArea = dot.s_area; - - /* file or area change: issue FILE command with base @ */ - fprintf( ofp, ";!FILE %s %s_%s\n", srcfn[ cfile ], - baseName, - dot.s_area->a_id ); - } - - fprintf( ofp, ";!LINE %u. 0x%X\n", srcline[ cfile ], laddr ); -} - -#endif diff --git a/as/link/z80/lkmain.c b/as/link/z80/lkmain.c index 0c6d5c75..fe5c174d 100644 --- a/as/link/z80/lkmain.c +++ b/as/link/z80/lkmain.c @@ -7,6 +7,7 @@ * Alan R. Baldwin * 721 Berkeley St. * Kent, Ohio 44240 + * 31-Feb-2008 AD added -y to create cdb file for non gameboy */ /* @@ -320,6 +321,14 @@ main(int argc, char *argv[]) #endif /* GAMEBOY */ syminit(); + + if (dflag){ + SaveLinkedFilePath(linkp->f_idp); //Must be the first one... + dfp = afile(linkp->f_idp,"cdb",1); + if (dfp == NULL) + lkexit(1); + } + for (pass=0; pass<2; ++pass) { cfp = NULL; sfp = NULL; @@ -449,6 +458,7 @@ lkexit(int i) if (rfp != NULL) fclose(rfp); if (sfp != NULL) fclose(sfp); if (tfp != NULL) fclose(tfp); + if (dfp != NULL) fclose(dfp); exit(i); } @@ -976,11 +986,15 @@ parse() case 'J': ++symflag; break; - case 'z': case 'Z': oflag = 3; break; #endif /* SDK */ +#ifndef GAMEBOY + case 'z': + dflag = 1; + return(0); +#endif case 'm': case 'M': ++mflag; @@ -1039,7 +1053,6 @@ parse() case 'L': addlib(); return(0); - default: fprintf(stderr, "Invalid option\n"); lkexit(1); @@ -1404,8 +1417,11 @@ afile(char *fn, char *ft, int wf) #else /* SDK */ if ((fp = fopen(fb, wf?"w":"r")) == NULL) { #endif /* SDK */ + if (strcmp(ft,"adb"))/*Do not complaint for optional adb files*/ + { fprintf(stderr, "%s: cannot %s.\n", fb, wf?"create":"open"); lkerr++; + } } return (fp); } @@ -1451,11 +1467,14 @@ char *usetxt[] = { "Output:", " -i Intel Hex as file[IHX]", " -s Motorola S19 as file[S19]", +#ifndef GAMEBOY + " -z Produce SDCdb debug as file[cdb]", +#endif #ifdef SDK #ifdef GAMEGEAR - " -z Gamegear image as file[GG]", + " -Z Gamegear image as file[GG]", #else - " -z Gameboy image as file[GB]", + " -Z Gameboy image as file[GB]", #endif /* GAMEGEAR */ #endif /* SDK */ "List:", diff --git a/as/mcs51/Makefile.in b/as/mcs51/Makefile.in index 9745bce8..efcdd5d6 100644 --- a/as/mcs51/Makefile.in +++ b/as/mcs51/Makefile.in @@ -45,10 +45,10 @@ UTILSRC = dbuf.c dbuf_string.c UTILLIBOBJS = $(UTILSRC:%.c=$(OBJDIR)/%.o) ASXXLIB = $(srcdir)/../asxxsrc -ASXXLIBSRC = strcmpi.c assym.c aslex.c +ASXXLIBSRC = strcmpi.c assym.c aslex.c asnoice.c ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o) -SRC = asmain.c assubr.c asnoice.c \ +SRC = asmain.c assubr.c \ asexpr.c asdata.c aslist.c asout.c \ i51ext.c i51pst.c i51mch.c i51adr.c OBJS = $(SRC:%.c=$(OBJDIR)/%.o) diff --git a/as/mcs51/asnoice.c b/as/mcs51/asnoice.c deleted file mode 100644 index 2220d3a6..00000000 --- a/as/mcs51/asnoice.c +++ /dev/null @@ -1,131 +0,0 @@ -/* asnoice.c */ - -/* - * Extensions to CUG 292 assembler ASxxxx to produce NoICE debug files - * - * 3-Nov-1997 by John Hartman - */ - -#include -#include -#include -#include -#include "asm.h" - -/* Return basic file name without path or extension. - If spacesToUnderscores != 0 then spaces are converted to underscores */ - -char* BaseFileName( int fileNumber, int spacesToUnderscores ) -{ - static int prevFile = -1; - static char baseName[ PATH_MAX ]; - - char *p1, *p2; - - if (fileNumber != prevFile) - { - prevFile = fileNumber; - - p1 = srcfn[prevFile]; - - /* issue a FILE command with full path and extension */ - fprintf( ofp, ";!FILE %s\n", p1 ); - - /* Name starts after any colon or backslash (DOS) */ - p2 = strrchr( p1, '\\' ); - if (p2 == NULL) p2 = strrchr( p1, '/' ); - if (p2 == NULL) p2 = strrchr( p1, ':' ); - if (p2 == NULL) p2 = p1-1; - strcpy( baseName, p2+1 ); - - /* Name ends at any separator */ - p2 = strrchr( baseName, FSEPX ); - if (p2 != NULL) *p2 = 0; - /* SD comment this out since not a ANSI Function */ - /* strupr( baseName ); */ - - if (spacesToUnderscores) - { - /* Convert spaces to underscores */ - for (p1 = baseName; *p1; ++p1) - if (isspace(*p1)) - *p1 = '_'; - } - } - return baseName; -} - -/* Define a symbol for current location: FILE.line# */ -void DefineNoICE_Line() -{ - char name[ NCPS ]; - struct sym *pSym; - - /* symbol is FILE.nnn */ - sprintf( name, "%s.%u", BaseFileName( cfile, 0 ), srcline[ cfile ] ); - - pSym = lookup( name ); - pSym->s_type = S_USER; - pSym->s_area = dot.s_area; - pSym->s_addr = laddr; - pSym->s_flag |= S_GBL; -} - -/* Define a symbol for current location: A$FILE$line# */ -void DefineCDB_Line() -{ - char name[ NCPS ]; - struct sym *pSym; - - /* symbol is FILE.nnn */ - sprintf( name, "A$%s$%u", BaseFileName( cfile, 1 ), srcline[ cfile ] ); - - pSym = lookup( name ); - pSym->s_type = S_USER; - pSym->s_area = dot.s_area; - pSym->s_addr = laddr; - pSym->s_flag |= S_GBL; -} - -#if 0 -OLD VERSION -/* Define a symbol for current location: FILE.line# */ -void DefineNoICE_Line() -{ - static int prevFile = -1; - static struct area *pPrevArea = NULL; - static char baseName[ PATH_MAX ]; - - int j; - char *p1, *p2; - - /* Get outfilename without extension for use as base symbol name */ - if (baseName[0] == 0) - { - p1 = srcfn[0]; - p2 = baseName; - while ((*p1 != 0) && (*p1 != FSEPX)) - { - *p2++ = *p1++; - } - *p2 = 0; - /* SD Commented this out since it is not a - ASNI Function */ - /* strupr( baseName ); */ - } - - if ((cfile != prevFile) || (dot.s_area != pPrevArea)) - { - prevFile = cfile; - pPrevArea = dot.s_area; - - /* file or area change: issue FILE command with base @ */ - fprintf( ofp, ";!FILE %s %s_%s\n", srcfn[ cfile ], - baseName, - dot.s_area->a_id ); - } - - fprintf( ofp, ";!LINE %u. 0x%X\n", srcline[ cfile ], laddr ); -} - -#endif diff --git a/as/mcs51/asx8051.dsp b/as/mcs51/asx8051.dsp index f6698da8..6e3afef9 100644 --- a/as/mcs51/asx8051.dsp +++ b/as/mcs51/asx8051.dsp @@ -108,7 +108,7 @@ SOURCE=.\asmain.c # End Source File # Begin Source File -SOURCE=.\asnoice.c +SOURCE=..\asxxsrc\asnoice.c # End Source File # Begin Source File diff --git a/as/z80/Makefile.bcc b/as/z80/Makefile.bcc index f5107635..47d093a5 100644 --- a/as/z80/Makefile.bcc +++ b/as/z80/Makefile.bcc @@ -7,7 +7,7 @@ PRJDIR = ../.. CFLAGS = $(CFLAGS) -DINDEXLIB -DMLH_MAP -DSDK OBJECTS = asdata.obj asexpr.obj aslex.obj aslist.obj asmain.obj \ - asout.obj assubr.obj z80adr.obj z80ext.obj \ + asout.obj assubr.obj z80adr.obj z80ext.obj asnoice.obj \ z80mch.obj z80pst.obj \ ../asxxsrc/strcmpi.obj ../asxxsrc/assym.obj ../asxxsrc/aslex.obj \ ../../support/Util/dbuf.obj ../../support/Util/dbuf_string.obj diff --git a/as/z80/Makefile.in b/as/z80/Makefile.in index 54fc5204..e005ab65 100644 --- a/as/z80/Makefile.in +++ b/as/z80/Makefile.in @@ -12,7 +12,7 @@ UTILSRC = dbuf.c dbuf_string.c UTILLIBOBJS = $(UTILSRC:%.c=$(OBJDIR)/%.o) ASXXLIB = $(srcdir)/../asxxsrc -ASXXLIBSRC = strcmpi.c assym.c aslex.c +ASXXLIBSRC = strcmpi.c assym.c aslex.c asnoice.c ASXXLIBOBJS = $(ASXXLIBSRC:%.c=$(OBJDIR)/%.o) SRC = asmain.c assubr.c \ diff --git a/as/z80/as_gbz80.dsp b/as/z80/as_gbz80.dsp index f960d441..6c6740e1 100644 --- a/as/z80/as_gbz80.dsp +++ b/as/z80/as_gbz80.dsp @@ -112,6 +112,10 @@ SOURCE=.\asmain.c # End Source File # Begin Source File +SOURCE=..\asxxsrc\asnoice.c +# End Source File +# Begin Source File + SOURCE=.\asout.c # ADD CPP /D "GAMEBOY" # End Source File diff --git a/as/z80/as_z80.dsp b/as/z80/as_z80.dsp index 23aa96ea..6f8f8235 100644 --- a/as/z80/as_z80.dsp +++ b/as/z80/as_z80.dsp @@ -108,6 +108,10 @@ SOURCE=.\asmain.c # End Source File # Begin Source File +SOURCE=..\asxxsrc\asnoice.c +# End Source File +# Begin Source File + SOURCE=.\asout.c # End Source File # Begin Source File diff --git a/as/z80/asdata.c b/as/z80/asdata.c index 1f7add6b..505732ac 100644 --- a/as/z80/asdata.c +++ b/as/z80/asdata.c @@ -73,10 +73,14 @@ int pass; /* assembler pass number */ int lflag; /* -l, generate listing flag */ +int cflag; /* -c, generate sdcdb debug info + */ int gflag; /* -g, make undefined symbols global flag */ int aflag; /* -a, make all symbols global flag */ +int jflag; /* -j, generate debug information flag + */ int oflag; /* -o, generate relocatable output flag */ int sflag; /* -s, generate symbol table flag diff --git a/as/z80/asm.h b/as/z80/asm.h index b403e734..a5c3d109 100644 --- a/as/z80/asm.h +++ b/as/z80/asm.h @@ -22,7 +22,7 @@ * Extensions: P. Felber */ -#define VERSION "V01.75" +#define VERSION "V01.75 + SDCC mods" /* * Case Sensitivity Flag @@ -67,6 +67,33 @@ #define OTHERSYSTEM #endif +/* + * PATH_MAX + */ +#include +#ifndef PATH_MAX /* POSIX, but not required */ +#if defined(_MSC_VER) || defined(__BORLANDC__) /* Microsoft C or Borland C*/ +#include +#define PATH_MAX _MAX_PATH +#else +#define PATH_MAX /* define a reasonable value */ +#endif +#endif + +#ifdef _WIN32 /* WIN32 native */ + +# define NATIVE_WIN32 1 +# ifdef __MINGW32__ /* GCC MINGW32 depends on configure */ +# include "../../sdccconf.h" +# else +# include "../../sdcc_vc.h" +# define PATH_MAX _MAX_PATH +# endif + +#else /* Assume Un*x style system */ +# include "../../sdccconf.h" +#endif + /* * Assembler definitions. */ @@ -361,10 +388,14 @@ extern int pass; /* assembler pass number */ extern int lflag; /* -l, generate listing flag */ +extern int cflag; /* -c, generate sdcdb debug information + */ extern int gflag; /* -g, make undefined symbols global flag */ extern int aflag; /* -a, make all symbols global flag */ +extern int jflag; /* -j, generate debug information flag + */ extern int oflag; /* -o, generate relocatable output flag */ extern int sflag; /* -s, generate symbol table flag @@ -593,6 +624,10 @@ extern VOID out_lw(); extern VOID out_rw(); extern VOID out_tw(); +/* asnoice.c */ +extern void DefineNoICE_Line(); +extern void DefineCDB_Line(); + /* Machine dependent variables */ diff --git a/as/z80/asmain.c b/as/z80/asmain.c index 9e6c6381..0629710d 100644 --- a/as/z80/asmain.c +++ b/as/z80/asmain.c @@ -11,6 +11,7 @@ /* * Extensions: P. Felber + * 13-Feb-08 AD -j and -c as in 8051 as */ #include @@ -110,6 +111,7 @@ * line number * int lop current line number on page * int oflag -o, generate relocatable output flag + * int jflag -j, generate debug info flag * int page current page number * int pflag enable listing pagination * int pass assembler pass number @@ -196,11 +198,22 @@ main(int argc, char **argv) ++aflag; break; + case 'c': + case 'C': + ++cflag; + break; + case 'g': case 'G': ++gflag; break; + case 'j': /* JLH: debug info */ + case 'J': + ++jflag; + ++oflag; /* force object */ + break; + case 'l': case 'L': ++lflag; @@ -999,6 +1012,17 @@ loop: * all the assembler mnemonics. */ default: + /* if cdb information then generate the line info */ + if (cflag && (pass == 1)) + DefineCDB_Line(); + + /* JLH: if -j, generate a line number symbol */ + if (jflag && (pass == 1)) + { + DefineNoICE_Line(); + } + + machine(mp); } goto loop; @@ -1160,13 +1184,14 @@ phase(struct area *ap, Addr_T a) char *usetxt[] = { #ifdef SDK - "Usage: [-dqxgalopsf] outfile file1 [file2 file3 ...]", + "Usage: [-dqxjgalopscf] outfile file1 [file2 file3 ...]", #else /* SDK */ - "Usage: [-dqxgalopsf] file1 [file2 file3 ...]", + "Usage: [-dqxjgalopscf] file1 [file2 file3 ...]", #endif /* SDK */ " d decimal listing", " q octal listing", " x hex listing (default)", + " j add line number and debug information to file", /* JLH */ " g undefined symbols made global", " a all user symbols made global", #ifdef SDK @@ -1178,6 +1203,7 @@ char *usetxt[] = { " o create object output file1[REL]", " s create symbol output file1[SYM]", #endif /* SDK */ + " c generate sdcdb debug information", " p disable listing pagination", " f flag relocatable references by ` in listing file", " ff flag relocatable references by mode in listing file",