From 3d4957c86ff239b24b43933924ec72a3fd288518 Mon Sep 17 00:00:00 2001 From: Robert de Bath Date: Fri, 11 Jun 1999 14:11:38 +0200 Subject: Import Dev86src-0.14.8.tar.gz --- as/as.c | 13 ++++++++----- as/assemble.c | 3 ++- as/genobj.c | 5 +---- as/proto.h | 1 + as/readsrc.c | 2 ++ 5 files changed, 14 insertions(+), 10 deletions(-) (limited to 'as') diff --git a/as/as.c b/as/as.c index 8c26b71..d86d917 100644 --- a/as/as.c +++ b/as/as.c @@ -61,13 +61,14 @@ char **argv; inst_keywords(); initbin(); initobj(); - initsource(); /* only nec to init for unsupported mem file */ + initsource(); typeconv_init(INT_BIG_ENDIAN, LONG_BIG_ENDIAN); as_warn.global = TRUE; /* constant */ as_warn.semaphore = -1; last_pass=1; process_args(argc, argv); initscan(); + line_zero(); assemble(); /* doesn't return, maybe use setjmp */ @@ -133,8 +134,12 @@ PUBLIC void initp1p2() lcp->data = lcdata = RELBIT; /* lc relocatable until 1st ORG */ lcp->lc = lc = 0; } - if( textseg > 0 ) - lcdata |= textseg; +} + +PUBLIC void line_zero() +{ + if( textseg >= 0 ) + ptext(); } PRIVATE int my_creat(name, message) @@ -297,8 +302,6 @@ char **argv; #ifdef I80386 origcpuid = cpuid; #endif - if( textseg > 0 ) - lcdata |= textseg; inidata = (~binaryg & inidata) | (RELBIT | UNDBIT); } /* IMPBIT from inidata unless binaryg */ diff --git a/as/assemble.c b/as/assemble.c index 5ae7319..2b92c76 100644 --- a/as/assemble.c +++ b/as/assemble.c @@ -216,7 +216,8 @@ PRIVATE void asline() getsym(); if (sym != IDENT) /* expect label, mnemonic or macro */ { - if( sym != EOLSYM ) + /* Warn if not a comment marker or a hash (for /lib/cpp) */ + if( sym != EOLSYM && sym != IMMEDIATE ) list_force = TRUE; return; /* anything else is a comment */ } diff --git a/as/genobj.c b/as/genobj.c index 09eda1c..abe140a 100644 --- a/as/genobj.c +++ b/as/genobj.c @@ -565,10 +565,7 @@ PUBLIC void objheader() } putobj1(0); } - if( textseg >= 0 ) - putobj1(OBJ_SET_SEG | textseg); /* default segment, |0010|SEGM| */ - else - putobj1(OBJ_SET_SEG | 0); /* default segment 0, |0010|SEGM| */ + putobj1(OBJ_SET_SEG | 0); /* default segment 0, |0010|SEGM| */ } /* write trailer to object file */ diff --git a/as/proto.h b/as/proto.h index b4fb82b..9cc6446 100644 --- a/as/proto.h +++ b/as/proto.h @@ -5,6 +5,7 @@ int main P((int argc, char **argv)); void as_abort P((char *message)); void finishup P((void)); void initp1p2 P((void)); +void line_zero P((void)); /* assemble.c */ void assemble P((void)); diff --git a/as/readsrc.c b/as/readsrc.c index 557ca5d..6cfbaf5 100644 --- a/as/readsrc.c +++ b/as/readsrc.c @@ -275,6 +275,8 @@ PUBLIC void pproceof() if(pass==last_pass) binheader(); + + line_zero(); } else finishup(); -- cgit v1.2.1