*/
int fflag; /* -f(f), relocations flagged flag
*/
-addr_t laddr; /* address of current assembler line
+Addr_T laddr; /* address of current assembler line
* or value of .if argument
*/
-addr_t fuzz; /* tracks pass to pass changes in the
+Addr_T fuzz; /* tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
*/
* char m_id[NCPS]; Mnemonic
* char m_type; Mnemonic subtype
* char m_flag; Mnemonic flags
- * addr_t m_valu; Value
+ * Addr_T m_valu; Value
* };
*/
struct mne *mnehash[NHASH];
* char s_flag; Symbol flags
* struct area *s_area; Area line, 0 if absolute
* int s_ref; Ref. number
- * addr_t s_addr; Address
+ * Addr_T s_addr; Address
* };
*/
struct sym sym[] = {
* struct area *a_ap; Area link
* char a_id[NCPS]; Area Name
* int a_ref; Reference number
- * addr_t a_size; Area size
- * addr_t a_fuzz; Area fuzz
+ * Addr_T a_size; Area size
+ * Addr_T a_fuzz; Area fuzz
* int a_flag; Area flags
* };
*/
*
* asexpr.c contains the following functions:
* VOID abscheck()
- * addr_t absexpr()
+ * Addr_T absexpr()
* VOID clrexpr()
* int digit()
* VOID expr()
unget(c);
}
-/*)Function addr_t absexpr()
+/*)Function Addr_T absexpr()
*
* The function absexpr() evaluates an expression, verifies it
* is absolute (i.e. not position dependent or relocatable), and
* a 'r' error is reported.
*/
-addr_t
+Addr_T
absexpr()
{
struct expr e;
/*
* General assembler address type
*/
-typedef unsigned int addr_t;
+typedef unsigned int Addr_T;
/*
* The structures of head, area, areax, and sym are created
{
struct area *a_ap; /* Area link */
struct areax *a_axp; /* Area extension link */
- addr_t a_addr; /* Beginning address of area */
- addr_t a_size; /* Total size of the area */
+ Addr_T a_addr; /* Beginning address of area */
+ Addr_T a_size; /* Total size of the area */
char a_type; /* Area subtype */
char a_flag; /* Flag byte */
char a_id[NCPS]; /* Name */
struct areax *a_axp; /* Area extension link */
struct area *a_bap; /* Base area link */
struct head *a_bhp; /* Base header link */
- addr_t a_addr; /* Beginning address of section */
- addr_t a_size; /* Size of the area in section */
+ Addr_T a_addr; /* Beginning address of section */
+ Addr_T a_size; /* Size of the area in section */
};
/*
struct areax *s_axp; /* Symbol area link */
char s_type; /* Symbol subtype */
char s_flag; /* Flag byte */
- addr_t s_addr; /* Address */
+ Addr_T s_addr; /* Address */
char *s_id; /* Name: JLH change from [NCPS] */
};
{
struct area *s_area; /* Paged Area link */
struct areax *s_areax; /* Paged Area Extension Link */
- addr_t s_addr; /* Page address offset */
+ Addr_T s_addr; /* Page address offset */
};
/*
{
int aindex; /* Linking area */
int mode; /* Relocation mode */
- addr_t rtbase; /* Base address in section */
+ Addr_T rtbase; /* Base address in section */
int rindex; /* Area/Symbol reloaction index */
- addr_t rval; /* Area/Symbol offset value */
+ Addr_T rval; /* Area/Symbol offset value */
};
/*
extern int rtcnt; /* count of elements in the
* rtval[] and rtflg[] arrays
*/
-extern addr_t rtval[]; /* data associated with relocation
+extern Addr_T rtval[]; /* data associated with relocation
*/
extern int rtflg[]; /* indicates if rtval[] value is
* to be sent to the output file.
extern struct lbfile *lbfhead; /* pointer to the first
* library file structure
*/
-extern addr_t iram_size; /* internal ram size
+extern Addr_T iram_size; /* internal ram size
*/
extern int symeq();
extern VOID syminit();
extern VOID symmod();
-extern addr_t symval();
+extern Addr_T symval();
/* lkeval.c */
extern int digit();
-extern addr_t eval();
-extern addr_t expr();
+extern Addr_T eval();
+extern Addr_T expr();
extern int oprio();
-extern addr_t term();
+extern Addr_T term();
/* lklist.c */
extern int dgt();
extern VOID slew();
/* lkrloc.c */
-extern addr_t adb_b();
-extern addr_t adb_hi();
-extern addr_t adb_lo();
-extern addr_t adb_24_hi(addr_t v, int i);
-extern addr_t adb_24_mid(addr_t v, int i);
-extern addr_t adb_24_lo(addr_t v, int i);
-extern addr_t adw_w();
-extern addr_t adw_24(addr_t, int);
-extern addr_t adw_hi();
-extern addr_t adw_lo();
-extern addr_t evword();
+extern Addr_T adb_b();
+extern Addr_T adb_hi();
+extern Addr_T adb_lo();
+extern Addr_T adb_24_hi(Addr_T v, int i);
+extern Addr_T adb_24_mid(Addr_T v, int i);
+extern Addr_T adb_24_lo(Addr_T v, int i);
+extern Addr_T adw_w();
+extern Addr_T adw_24(Addr_T, int);
+extern Addr_T adw_hi();
+extern Addr_T adw_lo();
+extern Addr_T evword();
extern VOID rele();
extern VOID reloc();
extern VOID relt();
/* lkihx.c */
extern VOID ihx();
-extern VOID ihxEntendedLinearAddress(addr_t);
+extern VOID ihxEntendedLinearAddress(Addr_T);
/* lkstore.c */
extern char *StoreString( char *str );
/* lknoice.c */
-extern void DefineNoICE( char *name, addr_t value, int page );
+extern void DefineNoICE( char *name, Addr_T value, int page );
/* SD added this to change
strcmpi --> strcmp (strcmpi NOT ANSI) */
#define dca area[0] /* Dca, default code area */
-/* NB: for Flat24 extentions to work, addr_t must be at least 24
+/* NB: for Flat24 extentions to work, Addr_T must be at least 24
* bits. This is checked at runtime when the .flat24 directive
* is processed.
*/
-typedef unsigned int addr_t;
+typedef unsigned int Addr_T;
/*
* The area structure contains the parameter values for a
struct area *a_ap; /* Area link */
char a_id[NCPS]; /* Area Name */
int a_ref; /* Ref. number */
- addr_t a_size; /* Area size */
- addr_t a_fuzz; /* Area fuzz */
+ Addr_T a_size; /* Area size */
+ Addr_T a_fuzz; /* Area fuzz */
int a_flag; /* Area flags */
};
char *m_id; /* Mnemonic JLH: change from [NCPS] */
char m_type; /* Mnemonic subtype */
char m_flag; /* Mnemonic flags */
- addr_t m_valu; /* Value */
+ Addr_T m_valu; /* Value */
};
/*
char s_flag; /* Symbol flags */
struct area *s_area; /* Area line, 0 if absolute */
int s_ref; /* Ref. number */
- addr_t s_addr; /* Address */
+ Addr_T s_addr; /* Address */
};
#define S_GBL 01 /* Global */
int t_flg; /* flags */
struct area *t_area; /* Area */
- addr_t t_addr; /* Address */
+ Addr_T t_addr; /* Address */
};
/*
*/
extern int fflag; /* -f(f), relocations flagged flag
*/
-extern addr_t laddr; /* address of current assembler line
+extern Addr_T laddr; /* address of current assembler line
* or value of .if argument
*/
-extern addr_t fuzz; /* tracks pass to pass changes in the
+extern Addr_T fuzz; /* tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
*/
{
char e_mode; /* Address mode */
char e_flag; /* Symbol flag */
- addr_t e_addr; /* Address */
+ Addr_T e_addr; /* Address */
union {
struct area *e_ap;
struct sym *e_sp;
/* asexpr.c */
extern VOID abscheck();
-extern addr_t absexpr();
+extern Addr_T absexpr();
extern VOID clrexpr();
extern int digit();
extern int is_abs();
* int fflag -f(f), relocations flagged flag
* int flevel IF-ELSE-ENDIF flag will be non
* zero for false conditional case
- * addr_t fuzz tracks pass to pass changes in the
+ * Addr_T fuzz tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
* int gflag -g, make undefined symbols global flag
* ASCII character
* int flevel IF-ELSE-ENDIF flag will be non
* zero for false conditional case
- * addr_t fuzz tracks pass to pass changes in the
+ * Addr_T fuzz tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
* int ifcnd[] array of IF statement condition
* int incline[] current include file line
* int incfil current file handle index
* for include files
- * addr_t laddr address of current assembler line
+ * Addr_T laddr address of current assembler line
* or value of .if argument
* int lmode listing mode
* int lop current line number on page
* int tlevel current conditional level
*
* functions called:
- * addr_t absexpr() asexpr.c
+ * Addr_T absexpr() asexpr.c
* area * alookup() assym.c
* VOID clrexpr() asexpr.c
* int digit() asexpr.c
if (!strcmpi(id, "on"))
{
/* Quick sanity check: size of
- * addr_t must be at least 24 bits.
+ * Addr_T must be at least 24 bits.
*/
- if (sizeof(addr_t) < 3)
+ if (sizeof(Addr_T) < 3)
{
warnBanner();
fprintf(stderr,
*
* global variables:
* sym dot defined as sym[0]
- * addr_t fuzz tracks pass to pass changes in the
+ * Addr_T fuzz tracks pass to pass changes in the
* address of symbols caused by
* variable length instruction formats
*
/*)Function VOID phase(ap, a)
*
* area * ap pointer to area
- * addr_t a address in area
+ * Addr_T a address in area
*
* Function phase() compares the area ap and address a
* with the current area dot.s_area and address dot.s_addr
VOID
phase(ap, a)
struct area *ap;
-addr_t a;
+Addr_T a;
{
if (ap != dot.s_area || a != dot.s_addr)
err('p');
* int lkerr error flag
*
* functions called:
- * addr_t eval() lkeval.c
+ * Addr_T eval() lkeval.c
* VOID exit() c_library
* int fprintf() c_library
* VOID getid() lklex.c
* define the starting address and length of each area.
*
* local variables:
- * addr_t rloc ;current relocation address
+ * Addr_T rloc ;current relocation address
* char temp[] ;temporary string
* struct symbol *sp ;symbol structure
*
VOID
lnkarea()
{
- addr_t rloc[4];
+ Addr_T rloc[4];
int locIndex;
char temp[NCPS];
struct sym *sp;
* function.
*
* local variables:
- * addr_t size size of area
- * addr_t addr address of area
+ * Addr_T size size of area
+ * Addr_T addr address of area
* areax * taxp pointer to an areax structure
*
* global variables:
lnksect(tap)
register struct area *tap;
{
- register addr_t size, addr;
+ register Addr_T size, addr;
register struct areax *taxp;
size = 0;
int rtcnt; /* count of elements in the
* rtval[] and rtflg[] arrays
*/
-addr_t rtval[NTXT]; /* data associated with relocation
+Addr_T rtval[NTXT]; /* data associated with relocation
*/
int rtflg[NTXT]; /* indicates if rtval[] value is
* to be sent to the output file.
int gcntr; /* LST file relocation active
* counter
*/
-addr_t iram_size; /* internal ram size
+Addr_T iram_size; /* internal ram size
*/
/*
* {
* struct area *a_ap; Area link
* struct areax *a_axp; Area extension link
- * addr_t a_addr; Beginning address of area
- * addr_t a_size; Total size of the area
+ * Addr_T a_addr; Beginning address of area
+ * Addr_T a_size; Total size of the area
* char a_type; Area subtype
* char a_flag; Flag byte
* char a_id[NCPS]; Name
* struct areax *a_axp; Area extension link
* struct area *a_bap; Base area link
* struct head *a_bhp; Base header link
- * addr_t a_addr; Beginning address of section
- * addr_t a_size; Size of the area in section
+ * Addr_T a_addr; Beginning address of section
+ * Addr_T a_size; Size of the area in section
* };
*/
struct areax *axp; /* Pointer to the current
* struct areax *s_axp; Symbol area link
* char s_type; Symbol subtype
* char s_flag; Flag byte
- * addr_t s_addr; Address
+ * Addr_T s_addr; Address
* char *s_id; Name (JLH)
* };
*/
* {
* struct area *s_area; Paged Area link
* struct areax *s_areax; Paged Area Extension Link
- * addr_t s_addr; Page address offset
+ * Addr_T s_addr; Page address offset
* };
*/
struct sdp sdp; /* Base Page Structure */
* {
* int aindex; Linking area
* int mode; Relocation mode
- * addr_t rtbase; Base address in section
+ * Addr_T rtbase; Base address in section
* int rindex; Area/Symbol reloaction index
- * addr_t rval; Area/Symbol offset value
+ * Addr_T rval; Area/Symbol offset value
* };
*/
struct rerr rerr; /* Structure containing the
*
* lkeval.c contains the following functions:
* int digit()
- * addr_t eval()
- * addr_t expr()
+ * Addr_T eval()
+ * Addr_T expr()
* int oprio()
- * addr_t term()
+ * Addr_T term()
*
* lkeval.c contains no local/static variables
*/
-/*)Function addr_t eval()
+/*)Function Addr_T eval()
*
* The function eval() evaluates a character string to a
* numerical value.
* local variables:
* int c character from input string
* int v value of character in current radix
- * addr_t n evaluation value
+ * Addr_T n evaluation value
*
* global variables:
* int radix current number conversion radix
* numerical value.
*/
-addr_t
+Addr_T
eval()
{
register int c, v;
- register addr_t n;
+ register Addr_T n;
c = getnb();
n = 0;
return(n);
}
-/*)Function addr_t expr(n)
+/*)Function Addr_T expr(n)
*
* int n a firewall priority; all top
* level calls (from the user)
* local variables:
* int c current input text character
* int p current operator priority
- * addr_t v value returned by term()
- * addr_t ve value returned by a
+ * Addr_T v value returned by term()
+ * Addr_T ve value returned by a
* recursive call to expr()
*
* global variables:
* text string.
*/
-addr_t
+Addr_T
expr (n)
{
register int c, p;
- register addr_t v, ve;
+ register Addr_T v, ve;
v = term();
while (ctype[c = getnb()] & BINOP) {
return(v);
}
-/*)Function addr_t term()
+/*)Function Addr_T term()
*
* The function term() evaluates a single constant
* or symbol value prefaced by any unary operator
* int n value of digit in current radix
* int r current evaluation radix
* sym * sp pointer to a sym structure
- * addr_t v evaluation value
+ * Addr_T v evaluation value
*
* global variables:
* char ctype[] array of character types, one per
* int getmap() lklex.c
* int getnb() lklex.c
* sym * lkpsym() lksym.c
- * addr_t symval() lksym.c
+ * Addr_T symval() lksym.c
* VOID unget() lklex.c
*
* side effects:
* An arithmetic term is evaluated by scanning input text.
*/
-addr_t
+Addr_T
term()
{
register int c, r, n;
- register addr_t v;
+ register Addr_T v;
struct sym *sp;
char id[NCPS];
* head structure
*
* functions called:
- * addr_t expr() lkeval.c
+ * Addr_T expr() lkeval.c
* VOID * new() lksym.c
* VOID lkparea() lkarea.c
*
* in the standard Intel Hex format.
*
* local variables:
- * addr_t chksum byte checksum
+ * Addr_T chksum byte checksum
*
* global variables:
* int hilo byte order
* FILE * ofp output file handle
* int rtcnt count of data words
* int rtflg[] output the data flag
- * addr_t rtval[] relocated data
+ * Addr_T rtval[] relocated data
*
* functions called:
* int fprintf() c_library
VOID
ihx(i)
{
- register addr_t chksum;
+ register Addr_T chksum;
if (i) {
if (hilo == 0) {
/*)Function ihxEntendedLinearAddress(i)
*
- * addr_t i 16 bit extended linear address.
+ * Addr_T i 16 bit extended linear address.
*
* The function ihxEntendedLinearAddress() writes an extended
* linear address record (type 04) to the output file.
*
* local variables:
- * addr_t chksum byte checksum
+ * Addr_T chksum byte checksum
*
* global variables:
* FILE * ofp output file handle
* The data is output to the file defined by ofp.
*/
VOID
-ihxEntendedLinearAddress(addr_t a)
+ihxEntendedLinearAddress(Addr_T a)
{
- addr_t chksum;
+ Addr_T chksum;
/* The checksum is the complement of the bytes in the
* record: the 2 is record length, 4 is the extended linear
* int j bubble sort update status
* char * ptr pointer to an id string
* int nmsym number of symbols in area
- * addr_t a0 temporary
- * addr_t ai temporary
- * addr_t aj temporary
+ * Addr_T a0 temporary
+ * Addr_T ai temporary
+ * Addr_T aj temporary
* sym * sp pointer to a symbol structure
* sym ** p pointer to an array of
* pointers to symbol structures
/* int j; */
register char *ptr;
int nmsym;
- /* addr_t a0; */
- addr_t ai, aj;
+ /* Addr_T a0; */
+ Addr_T ai, aj;
struct sym *sp;
struct sym **p;
int memPage;
* int j bubble sort update status
* char * ptr pointer to an id string
* int nmsym number of symbols in area
- * addr_t a0 temporary
- * addr_t ai temporary
- * addr_t aj temporary
+ * Addr_T a0 temporary
+ * Addr_T ai temporary
+ * Addr_T aj temporary
* sym * sp pointer to a symbol structure
* sym ** p pointer to an array of
* pointers to symbol structures
register c, i, j;
register char *ptr;
int nmsym;
- addr_t a0, ai, aj;
+ Addr_T a0, ai, aj;
struct sym *sp;
struct sym **p;
int page;
* output file.
*
* local variables:
- * addr_t pc current program counter address
+ * Addr_T pc current program counter address
*
* global variables:
* int hilo byte order
* output RST file
* int rtcnt count of data words
* int rtflg[] output the data flag
- * addr_t rtval[] relocated data
+ * Addr_T rtval[] relocated data
* FILE *tfp The file handle to the current
* LST file being scanned
*
lkulist(i)
int i;
{
- addr_t pc;
+ Addr_T pc;
/*
* Exit if listing file is not open
VOID
lkalist(pc)
-addr_t pc;
+Addr_T pc;
{
char str[8];
int i;
VOID
lkglist(pc,v)
-addr_t pc;
+Addr_T pc;
int v;
{
char str[8];
#include "aslink.h"
/* yuck - but including unistd.h causes problems on Cygwin by redefining
- * addr_t.
+ * Addr_T.
*/
extern int unlink(const char *);
* int lkerr error flag
*
* functions called:
- * addr_t expr() lkeval.c
+ * Addr_T expr() lkeval.c
* int fprintf() c_library
* VOID getid() lklex.c
* char getnb() lklex.c
* int lkerr error flag
*
* functions called:
- * addr_t expr() lkeval.c
+ * Addr_T expr() lkeval.c
* int fprintf() c_library
* VOID getid() lklex.c
* char getnb() lklex.c
* functions called:
* char getnb() lklex.c
* VOID unget() lklex.c
- * addr_t expr() lkeval.c
+ * Addr_T expr() lkeval.c
*
* side effects:
* The iram_size may be modified.
#endif
#include "aslink.h"
-static void DefineGlobal( char *name, addr_t value, int page );
-static void DefineScoped( char *name, addr_t value, int page );
-static void DefineFile( char *name, addr_t value, int page );
-static void DefineFunction( char *name, addr_t value, int page );
-static void DefineStaticFunction( char *name, addr_t value, int page );
-static void DefineEndFunction( addr_t value, int page );
-static void DefineLine( char *lineString, addr_t value, int page );
-static void PagedAddress( addr_t value, int page );
+static void DefineGlobal( char *name, Addr_T value, int page );
+static void DefineScoped( char *name, Addr_T value, int page );
+static void DefineFile( char *name, Addr_T value, int page );
+static void DefineFunction( char *name, Addr_T value, int page );
+static void DefineStaticFunction( char *name, Addr_T value, int page );
+static void DefineEndFunction( Addr_T value, int page );
+static void DefineLine( char *lineString, Addr_T value, int page );
+static void PagedAddress( Addr_T value, int page );
/*
* Called from lstarea in lklist.c for each symbol.
* Generates appropriate NoICE commands into output file, if any is open
*
*/
-void DefineNoICE( char *name, addr_t value, int page )
+void DefineNoICE( char *name, Addr_T value, int page )
{
char token1[NCPS]; /* parse for file.function.symbol */
char token2[NCPS];
* static function:
* Define "name" as a global symbol
*/
-void DefineGlobal( char *name, addr_t value, int page )
+void DefineGlobal( char *name, Addr_T value, int page )
{
fprintf( jfp, "DEF %s ", name );
PagedAddress( value, page );
* static function:
* Define "name" as a static (scoped) symbol
*/
-void DefineScoped( char *name, addr_t value, int page )
+void DefineScoped( char *name, Addr_T value, int page )
{
fprintf( jfp, "DEFS %s ", name );
PagedAddress( value, page );
* static function:
* Define "name" as the current file
*/
-void DefineFile( char *name, addr_t value, int page )
+void DefineFile( char *name, Addr_T value, int page )
{
if (strcmpi( name, currentFile ) != 0)
{
* static function:
* Define "name" as the current function
*/
-void DefineFunction( char *name, addr_t value, int page )
+void DefineFunction( char *name, Addr_T value, int page )
{
if (strcmpi( name, currentFunction ) != 0)
{
* static function:
* Define "name" as the current static (scoped) function
*/
-void DefineStaticFunction( char *name, addr_t value, int page )
+void DefineStaticFunction( char *name, Addr_T value, int page )
{
if (strcmpi( name, currentFunction ) != 0)
{
* static function:
* Define the end of the current function
*/
-void DefineEndFunction( addr_t value, int page )
+void DefineEndFunction( Addr_T value, int page )
{
if (currentFunction[0] != 0)
{
* static function:
* Define "lineNumber" as a line in the current file
*/
-void DefineLine( char *lineString, addr_t value, int page )
+void DefineLine( char *lineString, Addr_T value, int page )
{
int indigit, lineNumber = 0;
PagedAddress( value, page );
}
-void PagedAddress( addr_t value, int page )
+void PagedAddress( Addr_T value, int page )
{
fprintf( jfp, "%X:0x%X\n", page, value );
}
* perform the relocation calculations.
*
* lkrloc.c contains the following functions:
- * addr_t adb_b()
- * addr_t adb_lo()
- * addr_t adb_hi()
- * addr_t adw_w()
- * addr_t adw_lo()
- * addr_t adw_hi()
+ * Addr_T adb_b()
+ * Addr_T adb_lo()
+ * Addr_T adb_hi()
+ * Addr_T adw_w()
+ * Addr_T adw_lo()
+ * Addr_T adw_hi()
* VOID erpdmp()
* VOID errdmp()
- * addr_t evword()
+ * Addr_T evword()
* VOID prntval()
* VOID rele()
* VOID relerr()
* int lkerr error flag
* int mode relocation mode
* adrr_t paga paging base area address
- * addr_t pags paging symbol address
- * addr_t pc relocated base address
- * addr_t r PCR relocation value
- * addr_t reli relocation initial value
- * addr_t relv relocation final value
+ * Addr_T pags paging symbol address
+ * Addr_T pc relocated base address
+ * Addr_T r PCR relocation value
+ * Addr_T reli relocation initial value
+ * Addr_T relv relocation final value
* int rindex symbol / area index
- * addr_t rtbase base code address
- * addr_t rtofst rtval[] index offset
+ * Addr_T rtbase base code address
+ * Addr_T rtofst rtval[] index offset
* int rtp index into T data
* sym **s pointer to array of symbol pointers
*
* FILE *stderr standard error device
*
* called functions:
- * addr_t adb_b() lkrloc.c
- * addr_t adb_lo() lkrloc.c
- * addr_t adb_hi() lkrloc.c
- * addr_t adw_w() lkrloc.c
- * addr_t evword() lkrloc.c
+ * Addr_T adb_b() lkrloc.c
+ * Addr_T adb_lo() lkrloc.c
+ * Addr_T adb_hi() lkrloc.c
+ * Addr_T adw_w() lkrloc.c
+ * Addr_T evword() lkrloc.c
* int eval() lkeval.c
* int fprintf() c_library
* VOID ihx() lkihx.c
relr()
{
register int mode;
- register addr_t reli, relv;
+ register Addr_T reli, relv;
int aindex, rindex, rtp, error;
- addr_t r, rtbase, rtofst, paga, pags, pc;
+ Addr_T r, rtbase, rtofst, paga, pags, pc;
struct areax **a;
struct sym **s;
*/
if (mode & R_PCR && mode & R_BYTE) {
r = relv & ~0x7F;
- if (r != (addr_t) ~0x7F && r != 0)
+ if (r != (Addr_T) ~0x7F && r != 0)
error = 2;
}
* areax **a pointer to array of area pointers
* int aindex area index
* int mode relocation mode
- * addr_t relv relocation value
+ * Addr_T relv relocation value
* int rindex symbol / area index
* int rtp index into T data
* sym **s pointer to array of symbol pointers
* FILE *stderr standard error device
*
* called functions:
- * addr_t adw_w() lkrloc.c
- * addr_t evword() lkrloc.c
+ * Addr_T adw_w() lkrloc.c
+ * Addr_T evword() lkrloc.c
* int eval() lkeval.c
* int fprintf() c_library
* int more() lklex.c
{
register int aindex, rindex;
int mode, rtp;
- addr_t relv;
+ Addr_T relv;
struct areax **a;
struct sym **s;
}
}
-/*)Function addr_t evword()
+/*)Function Addr_T evword()
*
* The function evword() combines two byte values
* into a single word value.
*
* local variable:
- * addr_t v temporary evaluation variable
+ * Addr_T v temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
evword()
{
- register addr_t v;
+ register Addr_T v;
if (hilo) {
v = (eval() << 8);
return(v);
}
-/*)Function addr_t adb_b(v, i)
+/*)Function Addr_T adb_b(v, i)
*
* int v value to add to byte
* int i rtval[] index
*
*/
-addr_t
+Addr_T
adb_b(v, i)
-register addr_t v;
+register Addr_T v;
register int i;
{
return(rtval[i] += v);
}
-/*)Function addr_t adb_lo(v, i)
+/*)Function Addr_T adb_lo(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The MSB rtflg[] is cleared.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
adb_lo(v, i)
-addr_t v;
+Addr_T v;
int i;
{
- register addr_t j;
+ register Addr_T j;
j = adw_w(v, i);
/*
return (j);
}
-/*)Function addr_t adb_hi(v, i)
+/*)Function Addr_T adb_hi(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The LSB rtflg[] is cleared.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
adb_hi(v, i)
-addr_t v;
+Addr_T v;
int i;
{
- register addr_t j;
+ register Addr_T j;
j = adw_w(v, i);
/*
return (j);
}
-/*)Function addr_t adb_24_hi(v, i)
+/*)Function Addr_T adb_24_hi(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The LSB & middle byte rtflg[] is cleared.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
-adb_24_hi(addr_t v, int i)
+Addr_T
+adb_24_hi(Addr_T v, int i)
{
- register addr_t j;
+ register Addr_T j;
j = adw_24(v, i);
return (j);
}
-/*)Function addr_t adb_24_mid(v, i)
+/*)Function Addr_T adb_24_mid(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The LSB & MSB byte rtflg[] is cleared.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
-adb_24_mid(addr_t v, int i)
+Addr_T
+adb_24_mid(Addr_T v, int i)
{
- register addr_t j;
+ register Addr_T j;
j = adw_24(v, i);
return (j);
}
-/*)Function addr_t adb_24_lo(v, i)
+/*)Function Addr_T adb_24_lo(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The MSB & middle byte rtflg[] is cleared.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
-adb_24_lo(addr_t v, int i)
+Addr_T
+adb_24_lo(Addr_T v, int i)
{
- register addr_t j;
+ register Addr_T j;
j = adw_24(v, i);
return (j);
}
-/*)Function addr_t adw_w(v, i)
+/*)Function Addr_T adw_w(v, i)
*
* int v value to add to word
* int i rtval[] index
* The new value of rtval[i] / rtval[i+1] is returned.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
adw_w(v, i)
-register addr_t v;
+register Addr_T v;
register int i;
{
- register addr_t j;
+ register Addr_T j;
if (hilo) {
j = v + (rtval[i] << 8) + (rtval[i+1] & 0xff);
return(j);
}
-/*)Function addr_t adw_24(v, i)
+/*)Function Addr_T adw_24(v, i)
*
* int v value to add to word
* int i rtval[] index
* The new value of rtval[i] - rtval[i+2] is returned.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
* The word value of rtval[] is changed.
*
*/
-addr_t
-adw_24(addr_t v, int i)
+Addr_T
+adw_24(Addr_T v, int i)
{
- register addr_t j;
+ register Addr_T j;
if (hilo) {
j = v + ((rtval[i] & 0xff) << 16)
return(j);
}
-/*)Function addr_t adw_lo(v, i)
+/*)Function Addr_T adw_lo(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The MSB rtval[] is zeroed.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
adw_lo(v, i)
-addr_t v;
+Addr_T v;
int i;
{
- register addr_t j;
+ register Addr_T j;
j = adw_w(v, i);
/*
return (j);
}
-/*)Function addr_t adw_hi(v, i)
+/*)Function Addr_T adw_hi(v, i)
*
* int v value to add to byte
* int i rtval[] index
* The MSB rtval[] is zeroed.
*
* local variable:
- * addr_t j temporary evaluation variable
+ * Addr_T j temporary evaluation variable
*
* global variables:
* hilo byte ordering parameter
*
*/
-addr_t
+Addr_T
adw_hi(v, i)
-addr_t v;
+Addr_T v;
int i;
{
- register addr_t j;
+ register Addr_T j;
j = adw_w(v, i);
/*
/*)Function VOID prntval(fptr, v)
*
* FILE *fptr output file handle
- * addr_t v value to output
+ * Addr_T v value to output
*
* The function prntval() outputs the value v, in the
* currently selected radix, to the device specified
VOID
prntval(fptr, v)
FILE *fptr;
-addr_t v;
+Addr_T v;
{
if (xflag == 0) {
fprintf(fptr, "%04X\n", v);
* in the standard Motorola S19 format.
*
* local variables:
- * addr_t chksum byte checksum
+ * Addr_T chksum byte checksum
*
* global variables:
* int hilo byte order
* FILE * ofp output file handle
* int rtcnt count of data words
* int rtflg[] output the data flag
- * addr_t rtval[] relocated data
+ * Addr_T rtval[] relocated data
*
* functions called:
* int fprintf() c_library
VOID
s19(i)
{
- register addr_t chksum;
+ register Addr_T chksum;
if (i) {
if (hilo == 0) {
* int symeq()
* VOID syminit()
* VOID symmod()
- * addr_t symval()
+ * Addr_T symval()
*
* lksym.c contains no local/static variables.
*/
* int lkerr error flag
*
* functions called:
- * addr_t eval() lkeval.c
+ * Addr_T eval() lkeval.c
* VOID exit() c_library
* int fprintf() c_library
* char get() lklex.c
return (sp);
}
-/*)Function addr_t symval(tsp)
+/*)Function Addr_T symval(tsp)
*
* sym * tsp pointer to a symbol structure
*
* value to the areax base address.
*
* local variables:
- * addr_t val relocated address value
+ * Addr_T val relocated address value
*
* global variables:
* none
* none
*/
-addr_t
+Addr_T
symval(tsp)
register struct sym *tsp;
{
- register addr_t val;
+ register Addr_T val;
val = tsp->s_addr;
if (tsp->s_axp) {