diff options
author | Robert de Bath <rdebath@poboxes.com> | 1999-06-11 14:11:38 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2013-10-23 23:41:25 +0200 |
commit | 3d4957c86ff239b24b43933924ec72a3fd288518 (patch) | |
tree | da8225a4d7bb2d9123e10d558cdc3eebae6254c8 /as | |
parent | e62b35169cdcd13632ae353b1e5ffde7dec44201 (diff) | |
download | dev86-3d4957c86ff239b24b43933924ec72a3fd288518.tar.gz |
Import Dev86src-0.14.8.tar.gzv0.14.8
Diffstat (limited to 'as')
-rw-r--r-- | as/as.c | 13 | ||||
-rw-r--r-- | as/assemble.c | 3 | ||||
-rw-r--r-- | as/genobj.c | 5 | ||||
-rw-r--r-- | as/proto.h | 1 | ||||
-rw-r--r-- | as/readsrc.c | 2 |
5 files changed, 14 insertions, 10 deletions
@@ -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 */ @@ -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(); |