home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 1 / crawlyvol1.bin / program / compiler / fasbin21 / fas_src / fasdiff.st < prev    next >
Text File  |  1992-11-18  |  24KB  |  782 lines

  1. diff +recursive -c e:\fas_orig/as1805/as1805.y ./as1805/as1805.y
  2. *** e:\fas_orig/as1805/as1805.y    Tue Dec 11 14:03:06 1990
  3. --- ./as1805/as1805.y    Wed Nov 18 16:33:32 1992
  4. ***************
  5. *** 38,43 ****
  6. --- 38,44 ----
  7.   #include <stdio.h>
  8.   #include "frasmdat.h"
  9.   #include "fragcon.h"
  10. + #include "proto.h"
  11.   
  12.   #define yylex lexintercept
  13.   
  14. diff +recursive -c e:\fas_orig/as2650/as2650.y ./as2650/as2650.y
  15. *** e:\fas_orig/as2650/as2650.y    Tue Dec 11 14:40:06 1990
  16. --- ./as2650/as2650.y    Wed Nov 18 16:33:38 1992
  17. ***************
  18. *** 38,43 ****
  19. --- 38,44 ----
  20.   #include <stdio.h>
  21.   #include "frasmdat.h"
  22.   #include "fragcon.h"
  23. + #include "proto.h"
  24.   
  25.   #define yylex lexintercept
  26.   
  27. diff +recursive -c e:\fas_orig/as6301/as6301.y ./as6301/as6301.y
  28. *** e:\fas_orig/as6301/as6301.y    Tue Dec 11 14:44:52 1990
  29. --- ./as6301/as6301.y    Wed Nov 18 16:33:52 1992
  30. ***************
  31. *** 38,43 ****
  32. --- 38,44 ----
  33.   #include <stdio.h>
  34.   #include "frasmdat.h"
  35.   #include "fragcon.h"
  36. + #include "proto.h"
  37.   
  38.   #define yylex lexintercept
  39.   
  40. diff +recursive -c e:\fas_orig/as6502/as6502.y ./as6502/as6502.y
  41. *** e:\fas_orig/as6502/as6502.y    Tue Dec 11 14:48:06 1990
  42. --- ./as6502/as6502.y    Wed Nov 18 16:33:58 1992
  43. ***************
  44. *** 38,43 ****
  45. --- 38,44 ----
  46.   #include <stdio.h>
  47.   #include "frasmdat.h"
  48.   #include "fragcon.h"
  49. + #include "proto.h"
  50.   
  51.   #define yylex lexintercept
  52.   
  53. diff +recursive -c e:\fas_orig/as6805/as6805.y ./as6805/as6805.y
  54. *** e:\fas_orig/as6805/as6805.y    Tue Dec 11 14:35:06 1990
  55. --- ./as6805/as6805.y    Wed Nov 18 16:34:06 1992
  56. ***************
  57. *** 38,43 ****
  58. --- 38,44 ----
  59.   #include <stdio.h>
  60.   #include "frasmdat.h"
  61.   #include "fragcon.h"
  62. + #include "proto.h"
  63.   
  64.   #define yylex lexintercept
  65.   
  66. diff +recursive -c e:\fas_orig/as6809/as6809.y ./as6809/as6809.y
  67. *** e:\fas_orig/as6809/as6809.y    Tue Dec 11 14:31:28 1990
  68. --- ./as6809/as6809.y    Wed Nov 18 16:34:12 1992
  69. ***************
  70. *** 38,43 ****
  71. --- 38,44 ----
  72.   #include <stdio.h>
  73.   #include "frasmdat.h"
  74.   #include "fragcon.h"
  75. + #include "proto.h"
  76.   
  77.   #define yylex lexintercept
  78.   
  79. diff +recursive -c e:\fas_orig/as6811/as6811.y ./as6811/as6811.y
  80. *** e:\fas_orig/as6811/as6811.y    Tue Dec 11 14:27:08 1990
  81. --- ./as6811/as6811.y    Wed Nov 18 16:34:22 1992
  82. ***************
  83. *** 38,43 ****
  84. --- 38,44 ----
  85.   #include <stdio.h>
  86.   #include "frasmdat.h"
  87.   #include "fragcon.h"
  88. + #include "proto.h"
  89.   
  90.   #define yylex lexintercept
  91.   
  92. diff +recursive -c e:\fas_orig/as7000/as7000.y ./as7000/as7000.y
  93. *** e:\fas_orig/as7000/as7000.y    Tue Dec 11 14:12:36 1990
  94. --- ./as7000/as7000.y    Wed Nov 18 16:34:28 1992
  95. ***************
  96. *** 41,46 ****
  97. --- 41,47 ----
  98.   #include <stdio.h>
  99.   #include "frasmdat.h"
  100.   #include "fragcon.h"
  101. + #include "proto.h"
  102.   
  103.   #define yylex lexintercept
  104.   
  105. diff +recursive -c e:\fas_orig/as8048/as8048.y ./as8048/as8048.y
  106. *** e:\fas_orig/as8048/as8048.y    Tue Dec 11 14:16:00 1990
  107. --- ./as8048/as8048.y    Wed Nov 18 16:34:36 1992
  108. ***************
  109. *** 38,43 ****
  110. --- 38,44 ----
  111.   #include <stdio.h>
  112.   #include "frasmdat.h"
  113.   #include "fragcon.h"
  114. + #include "proto.h"
  115.   
  116.   #define yylex lexintercept
  117.   
  118. diff +recursive -c e:\fas_orig/as8051/as8051.y ./as8051/as8051.y
  119. *** e:\fas_orig/as8051/as8051.y    Tue Dec 11 14:09:10 1990
  120. --- ./as8051/as8051.y    Wed Nov 18 16:34:42 1992
  121. ***************
  122. *** 38,43 ****
  123. --- 38,44 ----
  124.   #include <stdio.h>
  125.   #include "frasmdat.h"
  126.   #include "fragcon.h"
  127. + #include "proto.h"
  128.   
  129.   #define yylex lexintercept
  130.   
  131. diff +recursive -c e:\fas_orig/as8096/as8096.y ./as8096/as8096.y
  132. *** e:\fas_orig/as8096/as8096.y    Tue Dec 11 14:23:42 1990
  133. --- ./as8096/as8096.y    Wed Nov 18 16:34:50 1992
  134. ***************
  135. *** 38,43 ****
  136. --- 38,44 ----
  137.   #include <stdio.h>
  138.   #include "frasmdat.h"
  139.   #include "fragcon.h"
  140. + #include "proto.h"
  141.   
  142.   #define yylex lexintercept
  143.   
  144. diff +recursive -c e:\fas_orig/asz8/asz8.y ./asz8/asz8.y
  145. *** e:\fas_orig/asz8/asz8.y    Tue Dec 11 14:06:56 1990
  146. --- ./asz8/asz8.y    Wed Nov 18 16:34:58 1992
  147. ***************
  148. *** 34,43 ****
  149. --- 34,45 ----
  150.               September 12, 1990 - short file names
  151.               September 14, 1990 - short variable names
  152.               September 17, 1990 - use yylex as external
  153. +             December  24, 1990 - fixed error in REG/RREG (output was 0x00)  MS
  154.   */
  155.   #include <stdio.h>
  156.   #include "frasmdat.h"
  157.   #include "fragcon.h"
  158. + #include "proto.h"
  159.   
  160.   #define yylex lexintercept
  161.   
  162. ***************
  163. *** 662,669 ****
  164.   
  165.               if( ( $1 -> value & REGDEFDBL) && ( $1 -> value & 1) )
  166.                   fraerror("double register not on even boundry");
  167. !             prtequvalue("C: 0x%x\n",REGBITS & ((int) $1->value));
  168.           }
  169.           else
  170.           {
  171. --- 664,671 ----
  172.   
  173.               if( ( $1 -> value & REGDEFDBL) && ( $1 -> value & 1) )
  174.                   fraerror("double register not on even boundry");
  175. ! /* *** error in original Yaccfile: %x replaced by %lx  MS */
  176. !             prtequvalue("C: 0x%lx \n",REGBITS & ((int) $1->value));
  177.           }
  178.           else
  179.           {
  180. diff +recursive -c e:\fas_orig/asz80/asz80.y ./asz80/asz80.y
  181. *** e:\fas_orig/asz80/asz80.y    Thu Dec 13 13:11:04 1990
  182. --- ./asz80/asz80.y    Wed Nov 18 16:35:06 1992
  183. ***************
  184. *** 38,43 ****
  185. --- 38,44 ----
  186.   #include <stdio.h>
  187.   #include "frasmdat.h"
  188.   #include "fragcon.h"
  189. + #include "proto.h"
  190.   
  191.   #define yylex lexintercept
  192.   
  193. Only in .: fasdiff4
  194. diff +recursive -c e:\fas_orig/fraosub.c ./fraosub.c
  195. *** e:\fas_orig/fraosub.c    Tue Dec 11 13:58:58 1990
  196. --- ./fraosub.c    Wed Nov 18 16:35:12 1992
  197. ***************
  198. *** 27,32 ****
  199. --- 27,33 ----
  200.   #include <stdio.h>
  201.   #include "frasmdat.h"
  202.   #include "fragcon.h"
  203. + #include "proto.h"
  204.   
  205.   #define OUTRESULTLEN 256
  206.   #define NUMHEXPERL 16
  207. diff +recursive -c e:\fas_orig/frapsub.c ./frapsub.c
  208. *** e:\fas_orig/frapsub.c    Tue Dec 11 13:59:00 1990
  209. --- ./frapsub.c    Wed Nov 18 16:35:18 1992
  210. ***************
  211. *** 24,30 ****
  212. --- 24,32 ----
  213.   
  214.   #include "fragcon.h"
  215.   #include <stdio.h>
  216. + #include <stdlib.h>
  217.   #include "frasmdat.h"
  218. + #include "proto.h"
  219.   
  220.   #define STRALLOCSZ 4096
  221.   
  222. diff +recursive -c e:\fas_orig/frasmain.c ./frasmain.c
  223. *** e:\fas_orig/frasmain.c    Tue Dec 11 13:59:00 1990
  224. --- ./frasmain.c    Wed Nov 18 16:36:40 1992
  225. ***************
  226. *** 1,12 ****
  227.   /*
  228.   HEADER:     ;
  229.   TITLE:         Frankenstein Cross Assemblers;
  230. ! VERSION:     2.0;
  231.   DESCRIPTION: "    Reconfigurable Cross-assembler producing Intel (TM)
  232.           Hex format object records.  ";
  233.   KEYWORDS:     cross-assemblers, 1805, 2650, 6301, 6502, 6805, 6809, 
  234.           6811, tms7000, 8048, 8051, 8096, z8, z80;
  235. ! SYSTEM:     UNIX, MS-Dos ;
  236.   FILENAME:     frasmain.c;
  237.   WARNINGS:     "This software is in the public domain.  
  238.           Any prior copyright claims are relinquished.  
  239. --- 1,12 ----
  240.   /*
  241.   HEADER:     ;
  242.   TITLE:         Frankenstein Cross Assemblers;
  243. ! VERSION:     2.1;
  244.   DESCRIPTION: "    Reconfigurable Cross-assembler producing Intel (TM)
  245.           Hex format object records.  ";
  246.   KEYWORDS:     cross-assemblers, 1805, 2650, 6301, 6502, 6805, 6809, 
  247.           6811, tms7000, 8048, 8051, 8096, z8, z80;
  248. ! SYSTEM:     UNIX, MS-Dos, Atari ST;
  249.   FILENAME:     frasmain.c;
  250.   WARNINGS:     "This software is in the public domain.  
  251.           Any prior copyright claims are relinquished.  
  252. ***************
  253. *** 33,47 ****
  254.   #define    Global
  255.   
  256.   #include <stdio.h>
  257.   #include "frasmdat.h"
  258.   
  259.   FILE * intermedf = (FILE *) NULL;
  260. - char *interfn = 
  261.   #ifdef DOSTMP
  262. !  "frtXXXXXX";
  263.   #else
  264.    "/usr/tmp/frtXXXXXX";
  265.   #endif
  266.   char *hexfn, *loutfn;
  267.   int errorcnt = 0, warncnt = 0;
  268.   int listflag = FALSE, hexflag = FALSE, hexvalid = FALSE;
  269. --- 33,50 ----
  270.   #define    Global
  271.   
  272.   #include <stdio.h>
  273. + #include <stdlib.h>
  274.   #include "frasmdat.h"
  275. + #include "proto.h"
  276.   
  277.   FILE * intermedf = (FILE *) NULL;
  278.   #ifdef DOSTMP
  279. ! char interfn[256];
  280.   #else
  281. + char *interfn =
  282.    "/usr/tmp/frtXXXXXX";
  283.   #endif
  284.   char *hexfn, *loutfn;
  285.   int errorcnt = 0, warncnt = 0;
  286.   int listflag = FALSE, hexflag = FALSE, hexvalid = FALSE;
  287. ***************
  288. *** 54,59 ****
  289. --- 57,90 ----
  290.   #ifdef NOGETOPT
  291.   #include "getopt.h"
  292.   #endif
  293. + /* print a brief description of command line options */
  294. + usage(char *name)
  295. + {
  296. +     fprintf(stderr,"usage:\n"
  297. +         "%s [-o binary] [-l listing] [-s symbols] [-p type] [-d] input\n"
  298. +         "The input file must appear after the optional entries on the command line.\n"
  299. +         "If the file name is a single minus sign, the standard input is used.\n"
  300. +         "\n"
  301. +         "Listing File: -l filename\n"
  302. +         "An annotated listing will only be produced if an optional list file is\n"
  303. +         "provided.\n"
  304. +         "\n"
  305. +         "Hex Output File: -h filename or -o filename\n"
  306. +         "The binary output will only be produced if the optional file is provided.\n"
  307. +         "\n"
  308. +         "Symbol Listing File: -s filename\n"
  309. +         "The symbol table is dumped with one entry per line.\n"
  310. +         "\n"
  311. +         "Debug: -d   (Saves the intermediate files)\n"
  312. +         "\n"
  313. +         "Processor Selection: -p string\n"
  314. +         "The operand is scanned for unique substrings which identify the target\n"
  315. +         "processor. The CPU pseudo-operation has precedence over the -p option.\n"
  316. +         "\n"
  317. +         ,name);
  318. + }
  319.   main(argc, argv)
  320.       int argc;
  321.       char *(argv[]);
  322. ***************
  323. *** 69,78 ****
  324. --- 100,117 ----
  325.       return        exit(2) for error, exit(0) for OK
  326.   */
  327.   {
  328. +     extern char *defaultname;
  329.       extern char *optarg;
  330.       extern int optind;
  331.       int grv;
  332. + #ifdef DOSTMP
  333. +     char *p;
  334. + #endif
  335.   
  336. +     argv[0] = defaultname;  /* argv[0] not available on ST/TOS */
  337. +     fprintf(stderr,"Frankenstein Cross-Assembler %s V2.1 by Mark Zenier\n"
  338. +                    "Atari ST version by M. Schwingen\n",argv[0]);
  339.       grv = cpumatch(argv[0]);
  340.   
  341.       while( (grv = getopt(argc, argv, "dh:o:l:s:p:")) != EOF)
  342. ***************
  343. *** 133,144 ****
  344.       else
  345.       {
  346.           fprintf(stderr, "%s: no input file\n", argv[0]);
  347.           exit(1);
  348.       }
  349.   
  350.       if(listflag)
  351.       {
  352. !         if(strcmp(argv[optind], loutfn) == 0) 
  353.           {
  354.               fprintf(stderr, "%s: list file overwrites input %s\n",
  355.                   argv[0], loutfn);
  356. --- 172,184 ----
  357.       else
  358.       {
  359.           fprintf(stderr, "%s: no input file\n", argv[0]);
  360. +         usage(argv[0]);
  361.           exit(1);
  362.       }
  363.   
  364.       if(listflag)
  365.       {
  366. !         if(strcmp(argv[optind], loutfn) == 0)
  367.           {
  368.               fprintf(stderr, "%s: list file overwrites input %s\n",
  369.                   argv[0], loutfn);
  370. ***************
  371. *** 157,162 ****
  372. --- 197,215 ----
  373.           loutf = stdout;
  374.       }
  375.   
  376. + #ifdef DOSTMP
  377. +     p = getenv("TMP");
  378. +     if (p == 0)
  379. +         p = getenv("TEMP");
  380. +     if (p == 0)
  381. +         interfn[0] = 0;
  382. +     else
  383. +     {
  384. +         strcpy(interfn,p);
  385. +         strcat(interfn,"\\");
  386. +     }
  387. +     strcat(interfn,"frtXXXXX.tmp");
  388. + #endif
  389.       mktemp(interfn);
  390.       if( (intermedf = fopen(interfn, "w")) == (FILE *) NULL)
  391.       {
  392. diff +recursive -c e:\fas_orig/frasmdat.h ./frasmdat.h
  393. *** e:\fas_orig/frasmdat.h    Tue Dec 11 13:59:00 1990
  394. --- ./frasmdat.h    Wed Nov 18 17:10:58 1992
  395. ***************
  396. *** 174,180 ****
  397. --- 174,183 ----
  398.   char * savestring(), *findgen();
  399.   long    strtol();
  400.   void    reservedsym();
  401. + #ifndef __STDC__
  402.   char    *calloc(), *malloc();
  403. + #endif
  404.   
  405.   extern struct symel * endsymbol;
  406.   extern char ignosyn[] ;
  407. diff +recursive -c e:\fas_orig/fryylex.c ./fryylex.c
  408. *** e:\fas_orig/fryylex.c    Tue Dec 11 13:59:22 1990
  409. --- ./fryylex.c    Wed Nov 18 16:35:34 1992
  410. ***************
  411. *** 33,38 ****
  412. --- 33,39 ----
  413.   
  414.   #include <stdio.h>
  415.   #include "frasmdat.h"
  416. + #include "proto.h"
  417.   #include "fraytok.h"
  418.   
  419.   #ifndef DEBUG
  420. ***************
  421. *** 119,125 ****
  422.   #define     CXC25_BSLASH    25
  423.   #define  NUMCHARSETS    26
  424.   
  425. ! static char chartrantab[128] = {
  426.   /* 00 nul soh stx etx*/  CXC00_SKIP, CXC00_SKIP, CXC00_SKIP, CXC00_SKIP,
  427.   /* 04 eot enq ack bel*/  CXC00_SKIP, CXC00_SKIP, CXC00_SKIP, CXC00_SKIP,
  428.   /* 08 bs  ht  nl  vt */  CXC00_SKIP, CXC01_SPACE, CXC02_NL, CXC00_SKIP,
  429. --- 120,126 ----
  430.   #define     CXC25_BSLASH    25
  431.   #define  NUMCHARSETS    26
  432.   
  433. ! static char chartrantab[256] = {
  434.   /* 00 nul soh stx etx*/  CXC00_SKIP, CXC00_SKIP, CXC00_SKIP, CXC00_SKIP,
  435.   /* 04 eot enq ack bel*/  CXC00_SKIP, CXC00_SKIP, CXC00_SKIP, CXC00_SKIP,
  436.   /* 08 bs  ht  nl  vt */  CXC00_SKIP, CXC01_SPACE, CXC02_NL, CXC00_SKIP,
  437. ***************
  438. *** 151,157 ****
  439.   /* 70  p  q  r  s */  CXC03_LETTER, CXC21_OQ, CXC03_LETTER, CXC03_LETTER,
  440.   /* 74  t  u  v  w */  CXC03_LETTER, CXC03_LETTER, CXC03_LETTER, CXC03_LETTER,
  441.   /* 78  x  y  z  { */  CXC03_LETTER, CXC03_LETTER, CXC03_LETTER, CXC05_OTHER,
  442. ! /* 7c vb  }  ~  del*/  CXC05_OTHER, CXC05_OTHER, CXC03_LETTER, CXC00_SKIP } ;
  443.   
  444.   
  445.   #if DEBUG
  446. --- 152,190 ----
  447.   /* 70  p  q  r  s */  CXC03_LETTER, CXC21_OQ, CXC03_LETTER, CXC03_LETTER,
  448.   /* 74  t  u  v  w */  CXC03_LETTER, CXC03_LETTER, CXC03_LETTER, CXC03_LETTER,
  449.   /* 78  x  y  z  { */  CXC03_LETTER, CXC03_LETTER, CXC03_LETTER, CXC05_OTHER,
  450. ! /* 7c vb  }  ~  del*/  CXC05_OTHER, CXC05_OTHER, CXC03_LETTER, CXC00_SKIP,
  451. ! /* 80 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  452. ! /* 84 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  453. ! /* 88 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  454. ! /* 8c */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  455. ! /* 90 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  456. ! /* 94 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  457. ! /* 98 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  458. ! /* 9c */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  459. ! /* a0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  460. ! /* a4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  461. ! /* a8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  462. ! /* ac */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  463. ! /* b0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  464. ! /* b4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  465. ! /* b8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  466. ! /* bc */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  467. ! /* c0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  468. ! /* c4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  469. ! /* c8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  470. ! /* cc */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  471. ! /* d0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  472. ! /* d4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  473. ! /* d8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  474. ! /* dc */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  475. ! /* e0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  476. ! /* e4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  477. ! /* e8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  478. ! /* ec */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  479. ! /* f0 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  480. ! /* f4 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  481. ! /* f8 */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER,
  482. ! /* fc */              CXC05_OTHER, CXC05_OTHER, CXC05_OTHER, CXC05_OTHER } ;
  483.   
  484.   
  485.   #if DEBUG
  486. ***************
  487. *** 637,643 ****
  488.   
  489.           while( (nextchar = *frainptr++) != '\0' )
  490.           {
  491. !             charset = chartrantab[nextchar & 0x7f];
  492.               do {
  493.                   thisact =  & characttab [scanstate][charset];
  494.   
  495. --- 670,676 ----
  496.   
  497.           while( (nextchar = *frainptr++) != '\0' )
  498.           {
  499. !             charset = chartrantab[nextchar & 0xff];
  500.               do {
  501.                   thisact =  & characttab [scanstate][charset];
  502.   
  503. Only in .: getopt.c
  504. diff +recursive -c e:\fas_orig/makefile.st ./makefile.st
  505. *** e:\fas_orig/makefile.st    Wed Nov 18 17:45:44 1992
  506. --- ./makefile.st    Wed Nov 18 16:03:24 1992
  507. ***************
  508. *** 0 ****
  509. --- 1,109 ----
  510. + # HEADER:    ;
  511. + # TITLE:    Frankenstein Cross Assemblers;
  512. + # VERSION:     2.0;
  513. + # SYSTEM:    Atari ST/TOS;
  514. + # FILENAME:    Makefile ;
  515. + # DESCRIPTION: "Reconfigurable Cross-assembler producing Intel (TM)
  516. + #        Hex format object records.  ";
  517. + # KEYWORDS:     cross-assemblers, 1805, 2650, 6301, 6502, 6805, 6809, 
  518. + #        6811, tms7000, 8048, 8051, 8096, z8, z80;
  519. + # WARNINGS:    "This software is in the public domain.  
  520. + #        Any prior copyright claims are relinquished.  
  521. + #    
  522. + #        This software is distributed with no warranty whatever.  
  523. + #        The author takes no responsibility for the consequences 
  524. + #        of its use.
  525. + #    
  526. + #        Yacc (or Bison) required to compile."  ;
  527. + # AUTHORS:    Mark Zenier;
  528. + # COMPILERS:    Pure C;
  529. + #
  530. + #    usage    
  531. + #        make somename TARGET=somename 
  532. + #        make newmachine       clean out machine dependent *.o
  533. + #        make clean          clean out for release disk
  534. + #
  535. + #    Conditional Compilation Flags
  536. + #
  537. + #    DOSTMP        use the current directory for temporary intermediate
  538. + #            file
  539. + #    NOGETOPT    use the getopt.h file
  540. + #    USEINDEX    redefine the strchr() library function to use
  541. + #            the older equivalent name index()
  542. + #    NOSTRING    use internal definitions if the <string.h> include
  543. + #            file does not exist
  544. + #
  545. + CC = e:\pc\pcc.ttp
  546. + LD = e:\pc\plink.ttp
  547. + YACC = byacc
  548. + TARGET = as8051
  549. + PRINTSPOOL = lpr
  550. + # LEXERDEBUG = -DDEBUG=1
  551. + LEXERDEBUG =
  552. + CFLAGS = -W-rvl -W-sig -W-pia -D__STDC__ -Ie:\pc\include -DDOSTMP
  553. + LDFLAGS = -S=32768 e:\pc\lib\pcstart.o e:\pc\lib\PCSTDLIB.LIB e:\pc\lib\PCEXTLIB.LIB e:\pc\lib\PCTOSLIB.LIB
  554. + YACCLEXLIB =
  555. + MAINNEEDS =
  556. + MAINDEPENDS =
  557. + asm:    $(TARGET).ttp
  558. + $(TARGET).ttp:    frasmain.o frapsub.o l$(TARGET).o $(TARGET).o fraosub.o x$(TARGET).o getopt.o mktemp.o
  559. +     $(LD) $(LDFLAGS) -O=$(TARGET).ttp frasmain.o frapsub.o \
  560. +         fraosub.o l$(TARGET).o x$(TARGET).o $(TARGET).o $(YACCLEXLIB) \
  561. +         getopt.o mktemp.o
  562. +     rm -f fraytok.h
  563. + getopt.o:    getopt.c
  564. +     $(CC) $(CFLAGS) getopt.c
  565. +     
  566. + mktemp.o:    mktemp.c
  567. +     $(CC) $(CFLAGS) mktemp.c
  568. +     
  569. + x$(TARGET).o:    target.c
  570. +     $(CC) $(CFLAGS) -Ox$(TARGET).o -DTARGET='"$(TARGET)"' target.c
  571. + l$(TARGET).o:    fryylex.c frasmdat.h $(TARGET).h
  572. +     cp $(TARGET).h fraytok.h 
  573. +     $(CC) $(CFLAGS) $(LEXERDEBUG) -O=l$(TARGET).o fryylex.c
  574. + frasmain.o : frasmain.c  frasmdat.h $(MAINDEPENDS)
  575. +     $(CC) $(CFLAGS) $(MAINNEEDS) frasmain.c
  576. + $(TARGET).c $(TARGET).h : $(TARGET)/$(TARGET).y
  577. +     $(YACC) -d $(TARGET)/$(TARGET).y
  578. +     mv ytab.c $(TARGET).c
  579. +     mv ytab.h $(TARGET).h
  580. +     rm -f fraytok.h
  581. + $(TARGET).o : $(TARGET).c  frasmdat.h fragcon.h
  582. +     $(CC) $(CFLAGS) $(TARGET).c
  583. + frapsub.o : frapsub.c fragcon.h frasmdat.h fraeuni.h fraebin.h
  584. +     $(CC) $(CFLAGS) frapsub.c
  585. + fraosub.o : fraosub.c  frasmdat.h fragcon.h fraeuni.h fraebin.h
  586. +     $(CC) $(CFLAGS) fraosub.c
  587. + clean:
  588. +     rm -f *.o fraytok.h *.pdb
  589. +     rm -f ytab.[ch]
  590. +     rm -f as*.[cho]
  591. +     rm -f as*.lst *.bak
  592. +     
  593. + clobber:    clean
  594. +     rm -f as*.ttp
  595. + newmachine :
  596. +     rm -f fraytok.h
  597. +     rm -f fryylex.o
  598. +     rm -f $(TARGET).c $(TARGET).h $(TARGET).o
  599. + test:    asm
  600. +     -$(TARGET).ttp -l $(TARGET).lst $(TARGET)\$(TARGET).tst
  601. +     -diff -c $(TARGET)\$(TARGET).tut $(TARGET).lst
  602. diff +recursive -c e:\fas_orig/mktemp.c ./mktemp.c
  603. *** e:\fas_orig/mktemp.c    Wed Nov 18 17:00:56 1992
  604. --- ./mktemp.c    Sat Dec 22 17:29:10 1990
  605. ***************
  606. *** 0 ****
  607. --- 1,26 ----
  608. + /*
  609. +    mini MKTEMP for FAS (ST-port)
  610. +    (C) 1990 M. Schwingen
  611. + */
  612. + #include <stdio.h>
  613. + void mktemp(char *str)
  614. + {
  615. +     static int tmpcnt = 0;
  616. +     char buf[10];
  617. +     char *p1,*p2;
  618. +     
  619. +     sprintf(buf,"%08d",tmpcnt++);
  620. +     p1 = buf;
  621. +     while (*p1)
  622. +         p1++;
  623. +     p2 = str;
  624. +     p1--;
  625. +     while (*p2)
  626. +     {
  627. +         if (*p2 == 'X')
  628. +             *p2 = *p1--;
  629. +         p2++;
  630. +     }
  631. + }
  632. diff +recursive -c e:\fas_orig/proctype.txt ./proctype.txt
  633. *** e:\fas_orig/proctype.txt    Wed Nov 18 17:01:38 1992
  634. --- ./proctype.txt    Mon Dec 24 16:27:14 1990
  635. ***************
  636. *** 0 ****
  637. --- 1,14 ----
  638. + AS1805: RCA 1802, RCA 1804/1805/1806
  639. + AS2650: 2650
  640. + AS6301: 6301
  641. + AS6502: R65C00/21, 65(C)02/6504/6510 
  642. + AS6805: 6305, 68(HC/L)05
  643. + AS6809: 6809
  644. + AS6811: 6800/6802/6808, 6801/6803, 6811
  645. + AS7000: TMS7000
  646. + AS8048: 80(C)48/80(C)35, 80(C)49/80(C)39, 80(C)50/80(C)40, 8041,8042
  647. + AS8051: 80(C)51
  648. + AS8096: 8096, 80C196
  649. + ASZ8:   Z8/Z8600, UPC/Z8090
  650. + ASZ80:  8080, 8085, Z80, 64180
  651. diff +recursive -c e:\fas_orig/proto.h ./proto.h
  652. *** e:\fas_orig/proto.h    Wed Nov 18 17:02:32 1992
  653. --- ./proto.h    Sun Dec 23 15:39:24 1990
  654. ***************
  655. *** 0 ****
  656. --- 1,81 ----
  657. + #ifdef __STDC__
  658. + # define    P(s) s
  659. + #else
  660. + # define P(s) ()
  661. + #endif
  662. + /* fraosub.c */
  663. + int outphase P((void ));
  664. + int outeval P((void ));
  665. + int flushlisthex P((void ));
  666. + int listhex P((void ));
  667. + int listouthex P((void ));
  668. + int outhexblock P((void ));
  669. + int flushhex P((void ));
  670. + int intelout P((int type , long addr , int count , char data []));
  671. + int frp2undef P((struct symel *symp ));
  672. + int frp2warn P((char *str ));
  673. + int frp2error P((char *str ));
  674. + int flushsourceline P((void ));
  675. + static long dgethex P((void));
  676. + /* frapsub.c */
  677. + char *savestring P((char *stx , int len ));
  678. + int clrexpr P((void ));
  679. + int exprnode P((int swact , int left , int op , int right , long value , struct symel *symbol ));
  680. + struct symel *allocsym P((void ));
  681. + int syhash P((char *str ));
  682. + struct symel *symbentry P((char *str , int toktyp ));
  683. + void reservedsym P((char *str , int tok , int value ));
  684. + int buildsymbolindex P((void ));
  685. + int setophash P((void ));
  686. + int findop P((char *str ));
  687. + int opcodehash P((char *str ));
  688. + char *findgen P((int op , int syntax , int crit ));
  689. + int genlocrec P((int seg , long loc ));
  690. + void goutch P((char ch ));
  691. + int gout2hex P((int inv ));
  692. + int goutxnum P((unsigned long num ));
  693. + int geninstr P((char *str ));
  694. + int chtcreate P((void ));
  695. + int chtcfind P((int *chtab , char **sourcepnt , int **tabpnt , int *numret ));
  696. + int chtran P((char **sourceptr ));
  697. + int genstring P((char *str ));
  698. + int pevalexpr P((int sub , int exn ));
  699. + int polout P((char ch ));
  700. + int polnumout P((unsigned long inv ));
  701. + int pepolcon P((int esub ));
  702. + static struct symel *getsymslot P((char *str));
  703. +     
  704. + /* frasmain.c */
  705. + int main P((int argc , char *(argv [])));
  706. + int frafatal P((char *str ));
  707. + int frawarn P((char *str ));
  708. + int fraerror P((char *str ));
  709. + int fracherror P((char *str , char *start , char *beyond ));
  710. + int prtequvalue P((char *fstr , long lv ));
  711. + int printsymbols P((void ));
  712. + int filesymbols P((void ));
  713. + int usage P((char *name));
  714. + /* fryylex.c */
  715. + int frareadrec P((void ));
  716. + int yylex P((void ));
  717. + int yyerror P((char *str ));
  718. + static char *erryytextex P((int type));
  719. + /* getopt.c */
  720. + int getopt P((int nargc , char **nargv , char *ostr ));
  721. + /* mktemp.c */
  722. + void mktemp P((char *str ));
  723. + /* as6502.c */
  724. + int lexintercept P((void ));
  725. + int setreserved P((void ));
  726. + int cpumatch P((char *str ));
  727. + int strcontains P((char *s1 , char *sm ));
  728. + int yyparse P((void ));
  729. + #undef P
  730. diff +recursive -c e:\fas_orig/target.c ./target.c
  731. *** e:\fas_orig/target.c    Wed Nov 18 17:04:30 1992
  732. --- ./target.c    Wed Nov 18 14:04:42 1992
  733. ***************
  734. *** 0 ****
  735. --- 1,4 ----
  736. + #include <stdio.h>
  737. + char *defaultname = TARGET;
  738. *** e:\fas_orig\getopt.c    Wed Nov 18 18:29:36 1992
  739. --- .\getopt.c    Wed Nov 18 16:53:08 1992
  740. ***************
  741. *** 0 ****
  742. --- 1,3 ----
  743. + #include <stdio.h>
  744. + #include <string.h>
  745. + #include "getopt.h"
  746.