Added a method to write variable sized unsigned values. Use this method for

all sorts of things in the object files. This does not only make the object
files smaller, but does also remove several limits (strings may be longer
than 255 bytes, several counters no longer have 8 or 16 bit limits).


git-svn-id: svn://svn.cc65.org/cc65/trunk@260 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2000-08-02 13:23:06 +00:00
parent 85d8b3badf
commit 097a01094e
29 changed files with 423 additions and 295 deletions

View File

@@ -44,15 +44,12 @@
/* Size of position in file */
#define POS_SIZE 5
/* Type of a file position */
typedef struct FilePos_ FilePos;
struct FilePos_ {
unsigned long Line; /* Line */
unsigned char Col; /* Column */
unsigned char Name; /* File */
unsigned Col; /* Column */
unsigned Name; /* File */
};

View File

@@ -6,10 +6,10 @@
/* */
/* */
/* */
/* (C) 1998 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* (C) 1998-2000 Ullrich von Bassewitz */
/* Wacholderweg 14 */
/* D-70597 Stuttgart */
/* EMail: uz@musoftware.de */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
@@ -55,10 +55,6 @@
#define FRAG_BYTEMASK 0x07 /* Mask for byte count */
#define FRAG_LITERAL 0x00 /* Literal data */
#define FRAG_LITERAL8 0x01 /* Literal data with 8 bit length */
#define FRAG_LITERAL16 0x02 /* Literal data with 16 bit length */
#define FRAG_LITERAL24 0x03 /* Literal data with 24 bit length */
#define FRAG_LITERAL32 0x04 /* Literal data with 32 bit length */
#define FRAG_EXPR 0x08 /* Expression */
#define FRAG_EXPR8 0x09 /* 8 bit expression */