ceriel
32f21c2bfa
changed 'uses REG=%1' behaviour: if no REG containing %1 is found, an
...
attempt is made to find an empty one
1990-10-26 18:18:53 +00:00
eck
5badcb4296
changed stackheight computation to top element size computation
1990-09-04 17:16:00 +00:00
ceriel
2f83a7e3d9
fix: also kill condition codes if they are set to a register that is to be killed
1990-09-03 11:12:44 +00:00
ceriel
e0ff37aa6e
support for long strings
1990-08-01 14:30:45 +00:00
ceriel
6d675af42c
removed limit on string size
1990-07-30 15:40:08 +00:00
ceriel
5c0938d05b
Added some more support for debugger
1990-07-30 09:43:45 +00:00
eck
7ef2d1bc37
switch to text segment when generating a label
1990-07-20 14:02:35 +00:00
eck
4ef2c70ed3
added stackheight message handling
1990-07-18 14:53:19 +00:00
ceriel
f2b4713c24
cast ptrdiff_t to int for ANSI
1990-04-25 14:23:05 +00:00
ceriel
16ef0467a8
Fixed wrong assertion, and fixed bug in distance routine: it did not check
...
that each stackpattern token that does not exactly match can be made from the
stack
1990-04-04 14:52:29 +00:00
ceriel
95632b0fef
Oops in assertion: MAXPROCARG instead of MAXPROCARGS
1990-02-23 17:05:04 +00:00
ceriel
0ec452930f
print pointer as hex
1990-02-23 16:58:34 +00:00
ceriel
3f950c9f17
Added a new operator for ncg: is_rom()
1990-02-09 16:34:17 +00:00
ceriel
0c5cce9a96
max filename length too short in error messages
1990-01-31 16:27:05 +00:00
ceriel
89b736ba83
Added mechanism to warn correctly about conflicts
1990-01-19 16:05:44 +00:00
ceriel
a5f05e8ba0
changed character comparisons with NULL
1989-12-13 09:19:47 +00:00
ceriel
cd64ce0424
rounding for un-normalized numbers was wrong
1989-11-29 09:56:59 +00:00
ceriel
79b0bb3347
do not declare sprintf. On some systems it is an int, on others it is
...
a char *
1989-11-29 09:55:03 +00:00
ceriel
b91af798bc
fixed rounding on ties to round to even, and fixed extend bug (test for 0
...
was wrong)
1989-11-27 16:26:02 +00:00
ceriel
a46596cbba
new object module makes buffering superfluous
1989-11-17 16:50:59 +00:00
ceriel
95fc55f840
fix: did not work for 4-byte floats
1989-11-09 17:01:29 +00:00
ceriel
d9d6cc127f
Allow more procedure parameters
1989-11-09 11:04:18 +00:00
ceriel
339f9dd942
fixed bug in EM replacement code, and use new #defines from tables.h
1989-11-08 17:13:33 +00:00
ceriel
74546bd985
Added a command to kill a register
1989-10-26 15:41:38 +00:00
ceriel
13ea4896b0
changes for different byte orderings
1989-10-25 17:15:37 +00:00
eck
78d3e500fb
added CPP variable to Makefile
1989-10-20 11:05:00 +00:00
ceriel
319d9bcfe0
declaration of sprintf only if __STDC__ is not defined
1989-08-21 11:43:41 +00:00
ceriel
04dcaf5685
did not handle -0.0 right
1989-08-15 09:04:49 +00:00
ceriel
37379d70ba
some fixes: fif did loose too many bits; unnormalized form did not work
1989-07-31 15:10:54 +00:00
ceriel
f7360f0fec
many changes, to use IEEE format
1989-07-25 14:21:09 +00:00
ceriel
a7b5504034
new mechanism for floating point constants
1989-07-10 17:15:55 +00:00
ceriel
c820d77690
new floating point constant mechanism
1989-07-10 16:52:02 +00:00
ceriel
9953b58092
don't remove compiler generated labels when they are external
1989-06-19 11:19:22 +00:00
ceriel
3ecaa0b634
some fixes: fix order in which registers are allocated, make sure that
...
a pattern chosen by the distance routine can be made from the stack if the
fakestack does not contain enough tokens
1989-03-17 16:49:58 +00:00
ceriel
a22bbe847f
use calloc instead of malloc, to make sure block is initialized to 0
1989-03-01 10:00:37 +00:00
ceriel
6f4bdccf04
removed prt_ext
1989-02-23 10:08:20 +00:00
ceriel
59ea3478ac
Add include directory when compiling head
1989-02-16 09:40:52 +00:00
ceriel
920ba0eebe
delinted somewhat
1989-02-02 16:31:51 +00:00
ceriel
b45706ce7a
delinted a little
1989-01-19 16:41:55 +00:00
ceriel
4c76583aba
simplified assertion
1989-01-19 13:48:09 +00:00
ceriel
406d024e9f
change to keep lint happy
1989-01-17 11:23:33 +00:00
ceriel
17e980aa15
Also pass SRC
1988-10-04 10:04:37 +00:00
ceriel
143531822a
speeded up :-)
1988-08-11 22:02:53 +00:00
ceriel
5aa128ea62
speeded up again :-)
1988-08-11 14:50:18 +00:00
ceriel
2cb7fcf861
leave maximum value if overflow trap is handled
1988-08-11 10:28:30 +00:00
ceriel
d308f4a3c2
fix: the minimum exponent is 1, not 0!
1988-08-10 22:33:48 +00:00
ceriel
bb46f5218c
Added version for machines with proper 4-byte operations
1988-08-10 10:07:53 +00:00
ceriel
05bac6c619
also detect 0/0
1988-08-05 11:40:29 +00:00
ceriel
dc72163d44
cleaned up a bit
1988-08-04 18:10:34 +00:00
ceriel
b26e580a74
cleaned up a bit, and made add_ext and sub_ext proper entry points,
...
without preconditions on the arguments
1988-08-04 11:16:20 +00:00
ceriel
2a9fe2a774
some modifications to improve speed (sorry, I mean, make a bit less slow)
1988-08-03 23:31:40 +00:00
ceriel
0406776361
fixed again
1988-08-02 11:57:37 +00:00
ceriel
bcec2e84b5
merged with Michael Felts latest version
1988-07-25 10:46:15 +00:00
ceriel
24c59f9f68
adf and sbf did not work with 0.0
1988-07-22 20:54:49 +00:00
ceriel
b9aa04dbb3
fixed problem with temporary DEALLOCATES: sometimes a register was
...
used for stacking, that was only temporarily deallocated
1988-07-15 11:23:44 +00:00
ceriel
f0d3a648af
fixed problem with temporary DEALLOCATES: sometimes a register was
...
used for stacking, that was only temporarily deallocated
1988-07-15 11:12:13 +00:00
ceriel
7aca78dc21
Also hide name b64_sft
1988-07-14 11:11:48 +00:00
ceriel
e8931fe5de
make to compile on Xenix
1988-07-14 10:11:01 +00:00
ceriel
1cf834f731
did not work properly; assumet it could remove sign AFTER converting to
...
machine dependant order
1988-07-13 20:00:22 +00:00
ceriel
722bf6de1e
Added debug statement
1988-07-13 13:43:45 +00:00
ceriel
ccbf4f0cf6
made to compile on Xenix
1988-07-12 14:19:03 +00:00
ceriel
53bda08502
do not use shell meta characters in dependents; some makes do not like it
1988-07-12 11:10:31 +00:00
ceriel
3048d94603
bug fix: an array was declared too small
1988-07-07 10:55:52 +00:00
ceriel
5391cf8b17
fixed; did not compile
1988-06-29 16:48:07 +00:00
ceriel
78f0107cb8
only change sign when value is not 0
1988-06-29 16:34:40 +00:00
ceriel
e64951e1d3
removed some lint complaints
1988-06-28 14:41:02 +00:00
ceriel
2f7e414d42
corrected lint entry
1988-06-28 14:36:21 +00:00
ceriel
3be40e8f15
removed some lint complaints
1988-06-28 13:55:25 +00:00
ceriel
bd975e3041
removed some lint complaints
1988-06-28 13:43:54 +00:00
ceriel
d3723b3d38
modified distance function somewhat
1988-06-24 12:03:02 +00:00
ceriel
b72f2848dd
fixed panic mode
1988-06-22 18:47:48 +00:00
ceriel
c146e278fc
distance routine improved a little; still not safe!
1988-06-22 16:22:07 +00:00
ceriel
a0934dc7e0
made bittable dynamic
1988-06-16 13:24:10 +00:00
ceriel
8f1cac51c8
Added option for temporary directory
1988-06-16 09:57:59 +00:00
ceriel
adadb10b17
corrected
1988-06-13 18:01:47 +00:00
ceriel
be8815e2b7
made nbits a long
1988-06-13 17:57:39 +00:00
ceriel
192de9bf32
linenumber in long instead of short
1988-06-13 15:28:19 +00:00
ceriel
cd893a6ff8
corrected
1988-06-03 14:25:26 +00:00
ceriel
0be2e884b1
some last-minute minor changes
1988-05-06 17:03:30 +00:00
ceriel
c4d0a4f449
corrected the overflow checks
1988-04-28 14:21:55 +00:00
ceriel
d9638fca0e
fixed bug: did not convert 0 right
1988-04-25 18:13:32 +00:00
ceriel
3edf9486c9
fixed to not accept dots in numbers
1988-04-22 18:34:22 +00:00
ceriel
b948e4b59d
corrected; sometimes lookahead would fail
1988-04-22 14:02:43 +00:00
ceriel
0aa6d4ed5d
corrected: a shift of 32 is not portable!
1988-04-21 18:40:42 +00:00
ceriel
1c7c9c60cf
fef4 and fef8 did not quite work properly: the exponent part is an
...
int, not a short!
1988-04-14 18:06:47 +00:00
ceriel
f92dad2d9d
only fclose on non-NULL streams
1988-04-14 16:09:02 +00:00
ceriel
6eb15567ae
Added some debug print statements
1988-04-11 10:55:07 +00:00
ceriel
10b3d3d862
added floating point lib
1988-04-07 11:42:21 +00:00
ceriel
8ee3542787
Added copyright notices
1988-04-07 11:40:46 +00:00
ceriel
8a96f95c59
Initial revision
1988-04-07 10:57:49 +00:00
ceriel
92f28ae164
Added another debug statement
1988-03-31 12:50:12 +00:00
ceriel
14d7db7499
remove some of the lint complaints
1988-03-31 11:17:47 +00:00
ceriel
092292683c
modified to use a different 'panic' strategy, and use
...
new clash-table in tables.c when possible, and some other tuning
1988-03-31 10:14:48 +00:00
ceriel
ea9e90d785
fixed for operand separators within operands
1988-03-14 15:58:07 +00:00
ceriel
8fc22f0db7
allow assembler to read from STDIN
1988-02-05 15:10:08 +00:00
ceriel
048eac2d67
fixed to also read from standard input
1987-11-25 16:55:51 +00:00
ceriel
a1ae336247
first arg to putc must be int or char, not long
1987-09-01 18:31:42 +00:00
ceriel
f00c143b28
added declaration for fopen
1987-09-01 15:58:30 +00:00
ceriel
cb16212a09
declared freopen; apparently it is not declared in stdio.h
...
on some systems
1987-09-01 15:24:15 +00:00
ceriel
16c73e6654
use malloc instead of sbrk
1987-08-06 13:04:20 +00:00
ceriel
6d85667761
bigger define for MAXSTAB
1987-08-06 13:00:47 +00:00
ceriel
c9f7d845a2
temporary fix for commas within operands
1987-08-05 13:09:37 +00:00
ceriel
69843cf9ce
Added -DNDEBUG to Makefile, table now kills regvars
1987-07-06 15:28:59 +00:00
ceriel
d41028a664
pass EMHOME to nested make
1987-06-30 18:30:45 +00:00
ceriel
d473c8b1df
Added some register decls
1987-06-30 18:24:27 +00:00
ceriel
87c67b8c5f
EM --> EMHOME
1987-06-30 18:20:25 +00:00
ceriel
798261d992
pass EMHOME to nested make
1987-06-09 10:19:47 +00:00
ceriel
dd2cf6bbaa
Fix in wrong assertion
1987-05-21 09:28:33 +00:00
ceriel
45f384c870
improved ROM handling
1987-05-18 15:50:42 +00:00
ceriel
32a436bab4
handle ROM's better
1987-05-18 13:29:32 +00:00
ceriel
81b1d21c35
Initial revision
1987-04-13 10:32:47 +00:00
ceriel
96d15a6c05
minor mod
1987-04-03 11:18:49 +00:00
ceriel
4b30a95d7a
minor mods
1987-04-03 11:16:46 +00:00
ceriel
11db9b8fdc
Added EMHOME
1987-04-01 08:54:00 +00:00
ceriel
1d443b6b4b
bug fix
1987-03-27 13:34:46 +00:00
ceriel
391f6cc9ea
could not be handled by MINIX pre-processor
1987-03-23 14:48:56 +00:00
ceriel
8829d77144
made name shorter
1987-03-19 10:15:58 +00:00
ceriel
88db8b43da
Added distr entry
1987-03-19 10:12:51 +00:00
ceriel
6eaf182cee
Added Rcs Id
1987-03-10 11:49:39 +00:00
ceriel
5537abbdfb
Added copyright notice
1987-03-10 01:26:51 +00:00
ceriel
815166e421
Added copyright notice
1987-03-09 19:15:41 +00:00
ceriel
f36ee6de55
could loop again
1987-03-05 17:40:48 +00:00
ceriel
5380ae4768
Set "saveemp" before calling compute. compute might need it.
1987-03-04 10:34:57 +00:00
ceriel
0b92bc0cd7
Set saveemp before calling "compute". "compute" might need it!
1987-03-04 10:32:22 +00:00
ceriel
f2a77335b0
An attempt to make "erasereg" a little more efficient, as it seems
...
often to be called to erase the condition codes.
1987-02-21 22:20:10 +00:00
ceriel
d493ffcfde
bug fix
1987-02-20 17:35:08 +00:00
ceriel
a3c78bffe6
Bug fix
1987-02-20 17:33:06 +00:00
ceriel
04d031d33d
Added some buffering for writes
1987-02-13 12:44:33 +00:00
ceriel
6d0a4a9ce0
changed directory: nas --> as
1987-02-09 16:29:15 +00:00
ceriel
2c29e9f07c
Changed an assertion that was no longer valid
1987-02-07 01:50:48 +00:00
ceriel
729490c212
*** empty log message ***
1987-02-07 00:35:16 +00:00
ceriel
622530ae68
Changed hash function, added "registers"
1987-02-07 00:13:56 +00:00
ceriel
4d92d60469
Added some "registers"
1987-02-07 00:04:05 +00:00
ceriel
5afc7363f0
*** empty log message ***
1987-02-04 17:43:20 +00:00
ceriel
aab8668d4b
Bug fix
1987-01-28 15:15:28 +00:00
ceriel
fb8fc4e07c
Fixed introduced bug
1987-01-28 13:00:33 +00:00
ceriel
ebd44261fe
cc --> $(CC), added -O flag to CFLAGS
1987-01-28 12:49:42 +00:00
ceriel
6c762a19e7
Changed /lib/cpp to ../../../lib/cpp
1987-01-20 13:09:56 +00:00
ceriel
0b941ef495
Bug fixes
1987-01-16 13:51:45 +00:00
ceriel
324cbd8327
Fixed a minor problem with off_fmt, when it did not produce
...
a '-' sign when neccesary
1987-01-14 17:49:19 +00:00
ceriel
9877db53d9
Fixed a minor problem with off_fmt, when this format would not
...
produce the '-' sign.
1987-01-14 17:47:31 +00:00
ceriel
e77bde5e75
Added TABLEFLAGS and CGGFLAGS.
1987-01-12 15:10:49 +00:00
ceriel
031d26deb4
Preprocess table.
1987-01-12 14:50:25 +00:00
ceriel
3245258560
Added exclusive or operator
1987-01-08 14:27:07 +00:00
ceriel
ceee24a4cd
Added bitwise and and or operators
1987-01-08 14:11:23 +00:00
ceriel
01ac83b971
fix to prevent loop resulting in stack overflow
1987-01-08 14:10:02 +00:00
ceriel
bfb60b8a33
small adaption to "awayreg".
1987-01-08 14:09:14 +00:00
ceriel
ceff6f834a
Removed a bug that led to infinite looping in obscure cases.
1987-01-06 18:49:00 +00:00
ceriel
9e6fe01229
Improved testing for 0-strings in the routine "mycat".
1986-12-11 17:04:40 +00:00
ceriel
e98c02b831
Corrected a typo.
1986-12-11 17:03:11 +00:00
ceriel
e188fe0956
Version that uses libobject.a
1986-12-01 15:41:29 +00:00
ceriel
b44e39cce8
Version that uses libobject.a.
1986-12-01 15:35:28 +00:00
sater
59861f883b
added support for modhead
1986-11-28 13:47:44 +00:00
sater
17f5bc21e7
debugging stuff happened to end up on stdout instead of stderr.
1986-11-28 13:41:09 +00:00
ceriel
dbb351f078
Handled gen.c wrong. This is corrected.
1986-11-24 21:30:57 +00:00
ceriel
7c5553640e
Added -DNDEBUG
1986-11-24 21:01:42 +00:00
ceriel
5ced6d6aef
Initial revision
1986-11-24 20:58:35 +00:00
ceriel
86018d09e1
changed sizes of labstr and argstr to accomodate longer identifiers.
1986-11-12 21:14:05 +00:00
ceriel
f7a6dc503c
Changed sizes of "argstr" and "labstr", to accomodate longer
...
identifiers.
1986-11-12 21:04:38 +00:00
sater
02ff84337a
Typo corrected
1986-10-24 16:58:46 +00:00
sater
2672c87f68
empty string was returned when it was not so good.
1986-10-09 16:15:00 +00:00
sater
ae2f236663
nullpointer and empty string were confused.
...
Long live the PDP and VAX
1986-10-09 16:12:24 +00:00
sater
9092e509c6
changed ad2str function not to add +0 at labels
1986-09-22 13:15:15 +00:00
sater
b5009c57b4
made debiug output better
1986-09-22 13:14:54 +00:00
ceriel
f45f393b71
replaced all occurrences of "cc" by "$(CC)".
1986-07-22 11:01:54 +00:00
sater
851a68883c
repaired inreg() pseudofunction, it delivered total nonsense
1986-03-27 15:49:16 +00:00
bal
5ac646f89f
Yet another bug reported by sater.
1985-11-18 16:55:53 +00:00
bal
98d06cffb2
0 / -1 confusion for properties (bug reported by sater).
1985-10-03 14:47:28 +00:00
bal
de79024451
0 / -1 confusion for properties (2 bugs reported by sater).
1985-10-03 14:45:53 +00:00
bal
0d9459bdd6
MAXSTAB set to 2500 (problem with argument list of ROM for new C front-end).
1985-09-06 11:06:32 +00:00
keie
177af75c93
*** empty log message ***
1985-05-13 11:19:24 +00:00
keie
5472fafa56
Add hoc solution of .align problem.
1985-04-23 12:55:01 +00:00
keie
eb3fc1d43e
Added provision to print (possibly in mach.h defined) modhead
...
on the output assmble file as the very first text.
1985-04-16 16:14:55 +00:00
keie
772b64fabd
*** empty log message ***
1985-04-12 16:56:43 +00:00
em
9f203c9a17
Expressions are now always calculated in long.
...
Some backends needed that.
1985-03-12 10:41:29 +00:00
em
0c92039ba4
Expression are always evaluated in longs.
...
Some 2-4 backends needed long expressions.
1985-03-12 10:39:24 +00:00
keie
cb0b2e08cf
1 - At RREMOVE also check the stack set aside for coercions.
...
2 - When coercions unexpectedly need stack of part of the
stakpattern, discontinue this option.
1985-03-01 16:25:21 +00:00
keie
c2a990768d
The top of the stack, which is set aside for certain
...
coercions is now saved with special routines.
This allows RREMOVE to check for registers.
1985-03-01 16:20:13 +00:00
keie
e7f7f33f60
cg tried to stack register parameters of moves, when
...
these registers were killed.
1985-02-26 16:31:38 +00:00
keie
815b0e0f0f
*** empty log message ***
1985-02-12 14:20:30 +00:00
keie
987ed39adb
Added an entry "distr" to make tables1.c and tables1.h.
1985-02-03 23:50:51 +00:00
sater
7f0def8861
RREMOVE section updated.
1985-01-11 09:44:34 +00:00
sater
4ba6e7a39c
*** empty log message ***
1985-01-08 15:34:54 +00:00
keie
5edf93d2de
*** empty log message ***
1985-01-07 15:54:38 +00:00
sater
0a00b80726
Added support for the fmt_id and fmt_ilb macros
1984-11-26 10:50:46 +00:00
sater
6a4dc794a2
In the RREMOVE section of this file, the field e_con of the
...
expression union was used in stead of e_reg.
Fixed. Checked all other occurrances, are correct.
1984-11-20 16:56:26 +00:00
sater
7c07f91e1c
The constant 512 slipped in instead of BUFSIZ.
...
Changed.
1984-11-20 10:22:12 +00:00
keie
2976b590af
The flag -LIB was missing in the call to the shell-procedure
...
compmodule. Thus the generated libraries could not be effectively
used by our assembler/linker.
1984-11-05 11:37:23 +00:00
keie
828b4d62c9
We have only one copy of the script for compare and install now
...
they are present in ../..
1984-10-23 15:14:17 +00:00
sater
a4a5fc4bfa
changed references to EM_?SIZE to TEM_?SIZE
1984-10-23 15:04:24 +00:00
sater
79ea4bdea3
Changed to use -h flag to cgg and better way of preserving old tables.h
...
if not changed. Nice huh, Andy?
1984-10-23 13:29:41 +00:00
sater
ab0db1c5fb
added rcsid(again). Who took that away?
1984-10-16 13:45:16 +00:00
keie
550d1fa79e
New installation procedure:
...
1 - New place for binaries and libraries in the ACK tree.
2 - The ranlib action is moved to ../../install which tries it at
every action.
1984-10-08 14:09:28 +00:00
sater
13d6e6815e
added missing cast at call to regsave, in ms_gto case
1984-10-02 11:17:57 +00:00
sater
92aecb175c
changed definition of myalloc to extern
1984-10-02 10:31:06 +00:00
sater
a3f62d0255
added external definition for myalloc()
1984-10-02 10:30:44 +00:00
sater
5689e6ab64
Increased the amount of information passed through error routines
...
to printf. The routine badassert, running on a 2/4 machine lost it's
last argument on the way.
Anyone know of a better way to solve this problem?
1984-08-17 15:35:28 +00:00
sater
ff9d23e4ec
A move from a nonreg to a reg did not have the effect that all
...
registers clashing with the destination were erased. Erase added.
1984-08-02 16:31:25 +00:00
sater
e20ab23a4b
added rcsid
1984-07-19 15:03:30 +00:00
sater
5fb767966b
Initial revision
1984-07-19 15:01:43 +00:00
sater
4558cb8836
Replaced call to newilb after pro pseudo to call to newplb,
...
including retrofit for existing mach.h files
1984-07-12 09:26:24 +00:00
sater
7d75cf2799
Reworked to work, I think
1984-05-19 12:44:53 +00:00
sater
c4826294dc
added rcsid
...
Tried to make machine independent,
machine independent sources now taken from ../../proto/cg
Changed according to suggestion from ceriel to prevent running cgg twice
1984-05-19 12:03:22 +00:00
sater
ceeeca40f6
added code to save all registers for ms_gto
...
changed place of #ifdef to make this null-module compile faster
when no register variables are used.
1984-05-19 11:49:37 +00:00
sater
0cd7d8826e
erase(reg) now also erases all register whose contents depend on
...
the contents of reg.
1984-05-19 11:49:01 +00:00
sater
9dfcd76f4b
added code to recognize ms_gto
1984-05-19 11:48:40 +00:00
sater
54e681c6cc
added rcsid
1984-05-19 11:42:19 +00:00
sater
445ee4ccb8
added rcsid
...
added code to check for write errors on codefile
1984-05-19 11:40:08 +00:00
sater
f792cb549e
added rcsid
...
removed sign extension bug in large constants
1984-05-19 11:38:48 +00:00
sater
65e35e6d53
added rcsid
...
added code to insure instructions come out in .text space
1984-05-19 11:38:15 +00:00
sater
18e0859e5d
Initial revision
1984-05-19 11:08:27 +00:00
sater
5eeba1c1e0
Initial revision
1984-05-18 21:27:39 +00:00