Commit graph

1623 commits

Author SHA1 Message Date
ceriel 6dac59f2d4 some more changes to use VAX assembler 1990-01-12 10:29:26 +00:00
ceriel c9312a41da make labels disappear 1990-01-12 10:11:44 +00:00
ceriel 5521ebb35a Adapted for use of ACK VAX assembler 1990-01-11 16:44:19 +00:00
ceriel 7fed954836 use LABEL_STARTER 1990-01-11 16:33:53 +00:00
ceriel 15d1e95d31 Adapted for use of ACK VAX assembler 1990-01-11 16:10:13 +00:00
ceriel de564c09b2 Adapted for use of ACK VAX assembler 1990-01-11 16:00:19 +00:00
ceriel 776f85238f bug fix: cannot optimize IMUL 1990-01-10 11:23:45 +00:00
eck a8f0aa6016 various fixes to makefile 1990-01-03 16:42:36 +00:00
eck 02d396c33a forgot .distr 1989-12-19 15:46:39 +00:00
eck 68a72d2ceb Initial revision 1989-12-19 15:45:15 +00:00
ceriel a5f05e8ba0 changed character comparisons with NULL 1989-12-13 09:19:47 +00:00
ceriel a022b9490c LOE INE used address register; it is probably better to use a general register 1989-11-30 10:07:49 +00:00
ceriel 75cab1f389 Added a move 1989-11-29 12:47:23 +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 0e2861d8b0 Added 80[23]87 support 1989-11-29 09:49:35 +00:00
ceriel 2465ad8ed8 fixed bug: sometimes destroyed contents of register variable 1989-11-28 14:42:56 +00:00
ceriel 55a133aa3c fef did not work properly for negative args 1989-11-28 12:51:35 +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 1758da9285 Added fp8087.s 1989-11-27 16:19:16 +00:00
ceriel 61c646a496 Added 8087 support 1989-11-27 16:19:15 +00:00
ceriel 5ffd738802 cleaned up a bit 1989-11-21 15:44:29 +00:00
ceriel 6a19ee76cc removed some superfluous instructions 1989-11-21 15:42:56 +00:00
ceriel 43e04499d0 changed label formats 1989-11-21 15:40:24 +00:00
ceriel 295c8d2515 a fix to ZER ? and simplified ZRL, ZRE 1989-11-21 11:38:08 +00:00
ceriel a46596cbba new object module makes buffering superfluous 1989-11-17 16:50:59 +00:00
ceriel f9d19e9302 fixed assembler part of link instruction 1989-11-15 17:46:25 +00:00
ceriel edf2f575a2 link instruction does not work for more than 32768 bytes locals on M68000 1989-11-15 16:10:18 +00:00
ceriel c5ee3b6735 Added patterns 1989-11-09 18:43:02 +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 636c151d51 fix: printed wrong message; now dumps core at end 1989-11-08 14:42:09 +00:00
ceriel 9dcaf4ecdc improved checking 1989-11-08 12:30:55 +00:00
ceriel f3250e5db5 fixed: commited wrong version 1989-11-08 11:22:50 +00:00
ceriel 1546ac1235 fixed: send ended up in data segment! 1989-11-06 11:35:52 +00:00
ceriel 6d39055193 use fwrite instead of write 1989-11-03 18:32:32 +00:00
ceriel 1158018fdf Added some patterns 1989-11-03 13:28:37 +00:00
ceriel 0928518b8d Added a nicer trap handler 1989-11-03 11:54:41 +00:00
ceriel a951391408 removed stop.s 1989-11-03 11:53:47 +00:00
ceriel bc565a13f1 updated to minix 1.3 1989-11-03 09:25:46 +00:00
ceriel d72e4424cd modified labels 1989-11-01 15:35:42 +00:00
ceriel c33ae16bce the include file is called con_float, not float_cst 1989-11-01 10:57:04 +00:00
ceriel 9c03f2c8bd kill tokens using address registers better 1989-11-01 10:14:27 +00:00
ceriel da85a0fa2f Added code expander 1989-10-31 11:14:01 +00:00
ceriel 64c2ad3838 There is no d0 register! 1989-10-27 18:20:14 +00:00
ceriel c2f70c4857 andl3 does not exist! use bicl3 instead 1989-10-27 18:03:37 +00:00
ceriel f04baf2201 Added code expander 1989-10-27 09:06:43 +00:00
ceriel cd1bb106ec improved STI 8 code 1989-10-26 15:54:21 +00:00
ceriel 9196107b79 fixed so that jumps back to local labels also work 1989-10-26 15:42:30 +00:00
ceriel 74546bd985 Added a command to kill a register 1989-10-26 15:41:38 +00:00
ceriel adc8fc6e9e Added _exit.c 1989-10-26 11:51:46 +00:00
ceriel acfb0f2eed Added _exit.c 1989-10-26 11:39:31 +00:00
ceriel 69d8dc3b44 use new version of con_float 1989-10-26 11:07:26 +00:00
ceriel a751b2ef42 Use Motorola byte order for floating point 1989-10-26 11:04:53 +00:00
ceriel 7f4a6b31a7 Use Intel byte order for floating point 1989-10-26 11:03:30 +00:00
ceriel cf855ea282 fixed so that jumps back to local labels also work 1989-10-26 11:01:44 +00:00
ceriel ed479cbb76 Do not call the .nop subroutine for a NOP (ANSI C modification) 1989-10-26 10:10:34 +00:00
ceriel 851a0c4501 Use Intel byte order for floating point 1989-10-26 09:52:41 +00:00
ceriel 3a8a4fc1df Use Motorola byte order for floating point 1989-10-26 09:49:32 +00:00
ceriel 3899b18911 Motorola byte ordering 1989-10-25 17:35:09 +00:00
ceriel d4d3e6b484 use 8087 byte order 1989-10-25 17:33:49 +00:00
ceriel a5b0790d96 Added CSA ==4 and CSB ==4 entries, needed for ANSI C 1989-10-25 17:21:52 +00:00
ceriel 13ea4896b0 changes for different byte orderings 1989-10-25 17:15:37 +00:00
ceriel 07f019213d Added csa4.s and csb4.s 1989-10-25 17:08:45 +00:00
ceriel 68a2852f57 fixed bug and changed con_float 1989-10-25 13:24:29 +00:00
ceriel 88a316478d adapted floating point package to handle IEEE format in different byte orders 1989-10-24 16:10:01 +00:00
ceriel b4e38b8fcd adapted to use 80387 floating point format 1989-10-24 16:00:37 +00:00
ceriel b5a1f8a3b3 define IEEEFLOAT 1989-10-24 15:08:27 +00:00
ceriel 8740dcc72e adapted to use 80387 floating point format 1989-10-24 15:00:09 +00:00
ceriel c5dcddd4fd adapted to also generate other byte-orders 1989-10-24 14:57:17 +00:00
ceriel 42940634dd Added ce directory 1989-10-24 09:30:32 +00:00
ceriel ead414d725 only give warning about relocation info if -u flag is not given 1989-10-23 10:51:46 +00:00
ceriel ba8482c5ab Added another pattern 1989-10-23 10:26:00 +00:00
ceriel 10dd78edbf Added patterns 1989-10-20 17:32:04 +00:00
ceriel 64b7d49c0a Added patterns 1989-10-20 14:36:26 +00:00
eck 78d3e500fb added CPP variable to Makefile 1989-10-20 11:05:00 +00:00
ceriel 95563ae3bc small improvement: added pattern for LDC -1 CMS 4 ZEQ/ZNE 1989-10-18 10:15:49 +00:00
ceriel 85da3bcac1 only give warning about unresolved references if -u option is not given 1989-10-16 14:52:03 +00:00
ceriel 7b969cc623 head_em.sun renamed to head_ext 1989-10-16 14:45:00 +00:00
ceriel 284bd607fd Added head_em.s for Sun floating point emulation 1989-10-13 14:35:50 +00:00
ceriel 9d08fc6678 use strindex() instead of index() 1989-10-12 11:16:43 +00:00
ceriel 19df56bc23 use EMHOME instead of ../../.. 1989-10-11 14:21:37 +00:00
ceriel ebcd62f7d2 bug fix in rounding for 4-byte floating point numbers 1989-10-11 13:34:05 +00:00
ceriel 9feb3f9254 Added i386 to .distr file 1989-10-10 14:20:45 +00:00
ceriel 48252cc673 initial version 1989-10-10 11:40:55 +00:00
ceriel 010bade227 many fixes, found by actually running the code 1989-10-10 11:38:18 +00:00
ceriel 9715c40c3f initial version 1989-10-10 11:01:01 +00:00
ceriel a96f33ef34 many fixes; got working afcc with this version 1989-10-10 10:58:30 +00:00
ceriel e713e6f8fe many fixes, found by actually running the code it produces 1989-10-10 10:54:20 +00:00
ceriel d25472bbfb many fixes; now passes the tests 1989-10-10 10:44:26 +00:00
ceriel 8f74dd7ae6 Initial revision 1989-10-10 10:38:39 +00:00
ceriel 7e0c59d59a some fixes 1989-10-09 14:15:51 +00:00
ceriel eb2a76270f corrected XOR problem, and ILOCAL does not exist for m68k4 1989-10-06 11:13:16 +00:00
ceriel 5d8db9045e fixed: removed an #endif 1989-10-04 11:06:18 +00:00
ceriel 463a0e7f40 use the con_float include file 1989-10-04 10:28:50 +00:00
ceriel 77259cd2f9 removed yet another eor.l error 1989-09-29 11:45:19 +00:00
ceriel 18439ffa3f exit from main instead of return 1989-08-22 11:46:56 +00:00
ceriel 360caa08bb use strindex instead of index 1989-08-21 17:03:05 +00:00
ceriel 4c0ea89fe0 use strindex instead of index 1989-08-21 16:56:15 +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 650c178631 fix: did not handle 0.0 right 1989-08-15 09:02:38 +00:00
ceriel 92bccdd4fa inline FEF code for M68881 was wrong; replaced bu subroutine call 1989-08-10 14:17:50 +00:00
ceriel 8a096ffacb removed old comment 1989-08-09 16:38:12 +00:00
ceriel f755d6683d fix to fix: did not handle negative arguments right 1989-08-09 16:29:15 +00:00
ceriel 5785bb133b fixed problem with fef on Infinity 1989-08-09 14:37:37 +00:00
ceriel 98f011552e improved rounding 1989-08-09 14:37:07 +00:00
ceriel c302ed167c much improved version 1989-08-01 16:40:28 +00:00
ceriel 2b2698c44c Added fp68881.s 1989-08-01 16:32:34 +00:00
ceriel 3ed9932864 removed #define for IEEEFORMAT; now, the floating point package always
uses this format
1989-07-31 15:15:41 +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 338fb5fb30 use con_float routine 1989-07-31 15:10:36 +00:00
ceriel d12053873a adapted for changed floating point package 1989-07-31 14:54:53 +00:00
ceriel ed19a3d568 removed IEEEFORMAT #define 1989-07-31 14:52:45 +00:00
ceriel 6572fa2def use con_float file, and use new interface to fif and fef routines 1989-07-31 14:50:19 +00:00
ceriel 066c005493 Added #define for CODE_GENERATOR 1989-07-31 14:45:40 +00:00
ceriel 0ad83c648e fixed interface to fef routines 1989-07-31 14:43:51 +00:00
ceriel 1280176fb0 removed IEEEFORMAT #define, and define USE_DIVIDE for i386 1989-07-31 14:35:34 +00:00
ceriel 022b40d40c use new interface to fif and fef routines 1989-07-31 14:34:23 +00:00
ceriel fc9e01c8d8 removed IEEEFORMAT #define 1989-07-31 14:32:08 +00:00
ceriel 0ef99949bc use con_float file, and use new interface to fif and fef routines 1989-07-31 14:25:53 +00:00
ceriel ef8450fce9 use con_float file, and use new interface to fif and fef routines 1989-07-31 11:42:27 +00:00
ceriel 4759f1c9f9 use con_float file 1989-07-31 11:22:43 +00:00
ceriel 6f9afbf0d5 use IEEE format in floating point package 1989-07-25 15:50:29 +00:00
ceriel f7360f0fec many changes, to use IEEE format 1989-07-25 14:21:09 +00:00
ceriel c7be2d1a44 bug fix in NGI for longs 1989-07-24 10:40:21 +00:00
ceriel c8ca61ba6e con_float now uses the flt_arith module 1989-07-11 14:17:34 +00:00
ceriel 96916a7ab4 there is no longer a lib directory; it is replaced by ../libce 1989-07-11 11:34:51 +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 811612634a replaced some db.. instructions; they are wrong if the count register
contains a count > 65535
1989-07-07 16:01:03 +00:00
ceriel 00c4a00675 replaced some db.. instructions; they are wrong if the count register
contains a count > 65535
1989-07-07 15:11:35 +00:00
ceriel b32fb46dfe replaced some db.. instructions; they are wrong if the count register
contains a count > 65535
1989-07-07 15:05:33 +00:00
ceriel 01a95e3b08 replaced some db.. instructions; they are wrong if the count register
contains a count > 65535
1989-07-07 13:53:37 +00:00
ceriel 55da4da081 some fixes 1989-06-28 12:51:16 +00:00
ceriel 3aec06a088 Added ret.s 1989-06-28 12:40:22 +00:00
ceriel 7fadcacc26 fixed bug: the assembler suppressed a relocation record because it
thought it was RELPC. It was not
1989-06-27 16:26:02 +00:00
ceriel b005d26d3f removed the ACKFLOAT #define 1989-06-27 13:17:39 +00:00
ceriel 1ae39bf15b Added con_float, for floating point constants 1989-06-27 13:16:17 +00:00
ceriel 869ba1ec9e use make_asobj 1989-06-19 11:27:36 +00:00
ceriel 0374c089c3 Added some patterns for floating point code 1989-06-19 11:24:10 +00:00
ceriel eabc223bf0 generated stupid code for long unsigned comparison 1989-06-19 11:23:08 +00:00
ceriel 9953b58092 don't remove compiler generated labels when they are external 1989-06-19 11:19:22 +00:00
ceriel a9102764e6 Added ranlib line 1989-06-19 11:16:53 +00:00
ceriel 56e985729d some added patterns for M688881, and a fix 1989-06-15 10:35:42 +00:00
ceriel e8aadf4409 some optimizations for M68881; it is still horrible, though 1989-06-12 14:05:25 +00:00
ceriel 43fb961091 Added simple support for M68881 1989-06-12 09:30:39 +00:00
ceriel 133ecee90d fixed typo 1989-06-09 09:53:29 +00:00
ceriel 2b8ee048c8 Added saving of registers 1989-06-09 09:32:40 +00:00
ceriel 2cd40f68e6 Added support for MC68881 floating point processor 1989-06-08 12:46:17 +00:00
ceriel 7c26c21b87 fixed typo, which resulted in memory fault 1989-05-30 10:41:42 +00:00
ceriel 2f81a59738 removed printf.s, put in dia.s 1989-05-30 10:38:45 +00:00
ceriel 3d7da616bf Added files 1989-05-29 14:45:56 +00:00
ceriel 013ccf9149 changed printf name: removed underscore 1989-05-29 14:42:18 +00:00
ceriel ce81b47935 removed printf.s 1989-05-29 14:40:51 +00:00
ceriel 03d44703a2 bug fixes 1989-05-16 16:02:46 +00:00
ceriel f45eda8c23 call .sts instead of .sti for STS instruction 1989-05-16 15:44:49 +00:00
ceriel 57106471dc some fixes 1989-05-16 15:41:36 +00:00
ceriel 7531131416 fix: kills line for STI 1 with ADDR_LOCAL was wrong 1989-05-11 13:55:31 +00:00
ceriel 3c8a8f0349 fixes: you cannot do stack-references in EM replacements! 1989-05-11 11:25:16 +00:00
ceriel 5a9d09a854 some fixes 1989-05-11 10:57:34 +00:00
ceriel b7c7d50513 fixed typo 1989-05-11 10:43:37 +00:00
ceriel ff4f0602ff Added 'all' entry 1989-05-08 12:42:53 +00:00
ceriel bc1ab42895 some fixes 1989-05-01 18:32:24 +00:00
ceriel 6d9d69aebf take care of proper exit status 1989-04-14 18:33:56 +00:00
ceriel 50114318e2 fixed typo 1989-04-06 14:18:17 +00:00
ceriel 1b6fe5b9ed Added DUP pattern 1989-04-04 09:46:47 +00:00
ceriel c847bfb6c8 improved ASP patterns 1989-04-03 16:16:10 +00:00
ceriel f1c6de0f1f fix: initialize relocation records properly: some fields that are
not used on SunOs 3.5 are used on SunOs 4.0
1989-03-30 14:36:07 +00:00
ceriel 52d3ee55e2 Added ce and libce to .distr 1989-03-22 15:16:36 +00:00
ceriel eef9b6237b Initial revision 1989-03-22 15:06:05 +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 7ed597eefc Added tables1 files to .distr 1989-03-16 11:32:16 +00:00
ceriel c69004d5df Added pattern for BLS 4 1989-03-16 11:21:37 +00:00
ceriel c1fc03b7e2 fixed typo's 1989-03-16 11:20:47 +00:00
ceriel fb0051c85a fixed: pattern for ADI STL and the like was wrong 1989-03-14 14:05:10 +00:00
ceriel 101e93205b some more improvements; made fancy modes dependant on #define 1989-03-14 12:47:11 +00:00
ceriel bf62834959 commented out some code 1989-03-06 18:15:50 +00:00
ceriel 7e2d5f6065 commented out some code 1989-03-06 18:02:53 +00:00
ceriel e8aab09b4b some improvements and corrections 1989-03-03 15:16:12 +00:00
ceriel 62729ad0b2 Added some patterns 1989-03-03 12:46:59 +00:00
ceriel 0e3f85e837 Added some patterns 1989-03-03 11:10:13 +00:00
ceriel bc1eb3116e made several patterns dependant on a #define. Using some of the
fancy addressing modes actually made the code slower.
1989-03-01 16:28:18 +00:00
ceriel 992dc3eb65 Many new patterns 1989-03-01 11:32:37 +00:00
ceriel da2ba8e093 Added some patterns 1989-03-01 11:28:49 +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 5c7325e0de fix: tst instruction also allowed on address register 1989-02-28 18:40:35 +00:00
ceriel ef6efdee12 simplified CFF somewhat 1989-02-24 14:58:21 +00:00
ceriel 4c755666b8 fixed bug in Usage line 1989-02-24 14:53:49 +00:00
ceriel 587a8e8274 Added patterns and made some improvements 1989-02-24 14:09:46 +00:00
ceriel 80d87777f0 Added pattern for unlk after stack adjustment 1989-02-24 13:34:49 +00:00
ceriel c3408302c1 better rule for LOE LOF DUP ADP ... 1989-02-23 17:59:30 +00:00
ceriel c6a806ac4d generate better code for LOL ADP STL 1989-02-23 15:46:46 +00:00
ceriel b4e24c5bdd bug fix: some variables were not initialized all the time 1989-02-23 10:40:12 +00:00
ceriel 6f4bdccf04 removed prt_ext 1989-02-23 10:08:20 +00:00
ceriel 19c225f75f fixed error in previous commit 1989-02-22 17:38:07 +00:00
ceriel f2c241fe3a do not depend on SP for restoring registers 1989-02-22 17:18:34 +00:00
ceriel 13c2a9a2a5 changed interface to CSA and CSB 1989-02-22 17:18:17 +00:00
ceriel 4fd066bb54 many improvements to the table, mostly to make it more readable
and less chaotic. Also removed some dummy routines in mach.c
1989-02-22 16:13:51 +00:00