]> granicus.if.org Git - yasm/log
yasm
23 years agoAdd unary precedence to some of the expression rules.
Peter Johnson [Wed, 11 Jul 2001 21:04:58 +0000 (21:04 -0000)]
Add unary precedence to some of the expression rules.
Add '+' as a unary operator.
Change target to use expr instead of just explabel.

svn path=/trunk/yasm/; revision=126

23 years agoAdd strdup and strtoul replacements to EXTRA_DIST.
Peter Johnson [Wed, 11 Jul 2001 21:03:16 +0000 (21:03 -0000)]
Add strdup and strtoul replacements to EXTRA_DIST.

svn path=/trunk/yasm/; revision=125

23 years agoMove ..start in with ..@label.
Peter Johnson [Wed, 11 Jul 2001 21:01:54 +0000 (21:01 -0000)]
Move ..start in with ..@label.

svn path=/trunk/yasm/; revision=124

23 years agoMove some previously seperate identifiers into general label handlers.
Peter Johnson [Wed, 11 Jul 2001 21:00:34 +0000 (21:00 -0000)]
Move some previously seperate identifiers into general label handlers.

svn path=/trunk/yasm/; revision=123

23 years agoThis is now in the root directory, so no need to include it here.
Peter Johnson [Wed, 11 Jul 2001 18:10:17 +0000 (18:10 -0000)]
This is now in the root directory, so no need to include it here.

svn path=/trunk/yasm/; revision=122

23 years agoMatch build changes.
Peter Johnson [Wed, 11 Jul 2001 17:03:43 +0000 (17:03 -0000)]
Match build changes.

svn path=/trunk/yasm/; revision=121

23 years agoRepo-copied include files to src to make automake/autoconf build structure
Peter Johnson [Wed, 11 Jul 2001 16:57:25 +0000 (16:57 -0000)]
Repo-copied include files to src to make automake/autoconf build structure
work properly.  Changed Makefile.am, src/Makefile.am, and configure.in to
match directory changes.

svn path=/trunk/yasm/; revision=120

23 years agoFirst attempt at supporting relative jump instructions. A few hacks, but
Peter Johnson [Wed, 11 Jul 2001 04:07:11 +0000 (04:07 -0000)]
First attempt at supporting relative jump instructions.  A few hacks, but
seems to work well.
A few other minor fixes/changes as well (noticed when coding).

svn path=/trunk/yasm/; revision=119

23 years agoBetter and more generalized kludge for sliding $0.\d down.
Michael Urman [Mon, 9 Jul 2001 05:30:55 +0000 (05:30 -0000)]
Better and more generalized kludge for sliding $0.\d down.

svn path=/trunk/yasm/; revision=118

23 years agoIntegrate expression handling into memory address expressions.
Michael Urman [Fri, 6 Jul 2001 06:25:53 +0000 (06:25 -0000)]
Integrate expression handling into memory address expressions.
Consequently change Imm->EA, and update DebugPrintBC (fix segvs too)

svn path=/trunk/yasm/; revision=117

23 years agoFix and tighten down on validation regexps. Add support for 4th group
Peter Johnson [Fri, 6 Jul 2001 04:42:59 +0000 (04:42 -0000)]
Fix and tighten down on validation regexps.  Add support for 4th group
parameter.

svn path=/trunk/yasm/; revision=116

23 years agoEliminate conflicts by setting associativity (and precedence too).
Peter Johnson [Thu, 5 Jul 2001 09:50:51 +0000 (09:50 -0000)]
Eliminate conflicts by setting associativity (and precedence too).

svn path=/trunk/yasm/; revision=115

23 years agoAlign inst the same as !grp to improve readability.
Peter Johnson [Thu, 5 Jul 2001 09:39:30 +0000 (09:39 -0000)]
Align inst the same as !grp to improve readability.

svn path=/trunk/yasm/; revision=114

23 years agoFixed the non-ansi attempts to pass a union member casted as the union
Michael Urman [Thu, 5 Jul 2001 09:32:58 +0000 (09:32 -0000)]
Fixed the non-ansi attempts to pass a union member casted as the union
type.

svn path=/trunk/yasm/; revision=113

23 years agoEnable and add support for (in gen_instr.pl) short xchg AX and EAX forms.
Peter Johnson [Thu, 5 Jul 2001 09:30:04 +0000 (09:30 -0000)]
Enable and add support for (in gen_instr.pl) short xchg AX and EAX forms.

svn path=/trunk/yasm/; revision=112

23 years agoOops. Used the write struct this time.
Michael Urman [Thu, 5 Jul 2001 08:59:29 +0000 (08:59 -0000)]
Oops.  Used the write struct this time.

svn path=/trunk/yasm/; revision=111

23 years agoAdded prototype for ConvertExprToImm()
Michael Urman [Thu, 5 Jul 2001 08:58:31 +0000 (08:58 -0000)]
Added prototype for ConvertExprToImm()

svn path=/trunk/yasm/; revision=110

23 years agoLong hairy integration of expression handling into the grammar.
Michael Urman [Thu, 5 Jul 2001 08:37:59 +0000 (08:37 -0000)]
Long hairy integration of expression handling into the grammar.
Added printing, getvalue functionality to expr.[ch]
Changed immval to house an expr* instead of an unsigned long.

gen_instr.pl needs to be updated for ONE cases to fix pointer compares.
bison s/r conflicts still need to be handled.

svn path=/trunk/yasm/; revision=109

23 years agoChange groupdate into an array, and make everything 0-based in the output
Peter Johnson [Thu, 5 Jul 2001 07:21:35 +0000 (07:21 -0000)]
Change groupdate into an array, and make everything 0-based in the output
code.  Bit of a kludge required in gen_instr.pl to slide the $0.\d down by
one (is there a better way to do it?).

svn path=/trunk/yasm/; revision=108

23 years agoAllow opsize parameters, to eliminate !onebyte16 and !onebyte32.
Peter Johnson [Thu, 5 Jul 2001 07:00:01 +0000 (07:00 -0000)]
Allow opsize parameters, to eliminate !onebyte16 and !onebyte32.

svn path=/trunk/yasm/; revision=107

23 years agoInitial checkin of expression handling.
Michael Urman [Thu, 5 Jul 2001 06:28:54 +0000 (06:28 -0000)]
Initial checkin of expression handling.

svn path=/trunk/yasm/; revision=106

23 years agoFix movdq2q, movq2dq encodings.
Peter Johnson [Thu, 5 Jul 2001 06:24:09 +0000 (06:24 -0000)]
Fix movdq2q, movq2dq encodings.

svn path=/trunk/yasm/; revision=105

23 years agoFix typo (cmpneqps -> cmpneqsd).
Peter Johnson [Thu, 5 Jul 2001 06:18:19 +0000 (06:18 -0000)]
Fix typo (cmpneqps -> cmpneqsd).

svn path=/trunk/yasm/; revision=104

23 years agoImplement all variations of the SSE and SSE2 cmp* family.
Peter Johnson [Thu, 5 Jul 2001 06:16:56 +0000 (06:16 -0000)]
Implement all variations of the SSE and SSE2 cmp* family.

svn path=/trunk/yasm/; revision=103

23 years ago#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.
Peter Johnson [Thu, 5 Jul 2001 05:41:45 +0000 (05:41 -0000)]
#0 and #1 -> @0 and @1 (for the CPU field), to avoid warning from Perl.

svn path=/trunk/yasm/; revision=102

23 years agoMany minor relocations, fixes, particularly with the CPU field.
Peter Johnson [Thu, 5 Jul 2001 05:38:40 +0000 (05:38 -0000)]
Many minor relocations, fixes, particularly with the CPU field.

svn path=/trunk/yasm/; revision=101

23 years agoBackroll 1.12 and 1.13, they cause conflicts. We need to find a better way
Peter Johnson [Thu, 5 Jul 2001 05:04:37 +0000 (05:04 -0000)]
Backroll 1.12 and 1.13, they cause conflicts.  We need to find a better way
to do this.

svn path=/trunk/yasm/; revision=100

23 years agoAdded support for spitting out multiple warnings and errors.
Michael Urman [Thu, 5 Jul 2001 04:53:13 +0000 (04:53 -0000)]
Added support for spitting out multiple warnings and errors.
And consequently decided that i'm probably not validating half the
  fields correctly.  Maybe peter will fix that.  Hint hint.

svn path=/trunk/yasm/; revision=99

23 years agoUpdated validation regexps for $0.\d fields.
Michael Urman [Thu, 5 Jul 2001 04:32:13 +0000 (04:32 -0000)]
Updated validation regexps for $0.\d fields.
Removed obosolete commented "next unless ref $instr{$inst};"s

svn path=/trunk/yasm/; revision=98

23 years agoRemoved use of "our," so as not to require perl 5.6
Michael Urman [Thu, 5 Jul 2001 04:17:52 +0000 (04:17 -0000)]
Removed use of "our," so as not to require perl 5.6

svn path=/trunk/yasm/; revision=97

23 years agoHandle grouped instructions format.
Michael Urman [Thu, 5 Jul 2001 03:56:14 +0000 (03:56 -0000)]
Handle grouped instructions format.

svn path=/trunk/yasm/; revision=96

23 years agoIndent sections under "groupings used throughout".
Peter Johnson [Thu, 5 Jul 2001 03:43:13 +0000 (03:43 -0000)]
Indent sections under "groupings used throughout".

svn path=/trunk/yasm/; revision=95

23 years agoMove !ssepsimm up to before it's used.
Peter Johnson [Thu, 5 Jul 2001 03:00:26 +0000 (03:00 -0000)]
Move !ssepsimm up to before it's used.

svn path=/trunk/yasm/; revision=94

23 years agoMove cmpps/cmppd to the right location in the file.
Peter Johnson [Thu, 5 Jul 2001 02:57:56 +0000 (02:57 -0000)]
Move cmpps/cmppd to the right location in the file.

svn path=/trunk/yasm/; revision=93

23 years agoCompletely reorder instructions to match that in GNU binutils
Peter Johnson [Thu, 5 Jul 2001 02:53:35 +0000 (02:53 -0000)]
Completely reorder instructions to match that in GNU binutils
/include/opcode/i386.h, used for the GAS assembler.
This also helped find some missing instructions and CPU field errors, not
all of which have been added/corrected yet.

svn path=/trunk/yasm/; revision=92

23 years agoAdd memref to declared types.
Peter Johnson [Thu, 5 Jul 2001 02:51:01 +0000 (02:51 -0000)]
Add memref to declared types.

svn path=/trunk/yasm/; revision=91

23 years agoFixed comment in test opcode encodings.
Peter Johnson [Wed, 4 Jul 2001 21:28:22 +0000 (21:28 -0000)]
Fixed comment in test opcode encodings.

svn path=/trunk/yasm/; revision=90

23 years agoCombine a couple instances of imm & imm8x into imm8 (and 16 and 32).
Peter Johnson [Wed, 4 Jul 2001 21:22:23 +0000 (21:22 -0000)]
Combine a couple instances of imm & imm8x into imm8 (and 16 and 32).

svn path=/trunk/yasm/; revision=89

23 years agoUse %1 and %2 instead of %s and %d for "duplicate definition" error message
Peter Johnson [Wed, 4 Jul 2001 20:57:53 +0000 (20:57 -0000)]
Use %1 and %2 instead of %s and %d for "duplicate definition" error message
(allows message to be arbitarily changed, including reversing order of %1 and
%2 without having to change every location it's called from).

svn path=/trunk/yasm/; revision=88

23 years agoChange mem (other sized memory reference) to cause operand size mismatch error
Peter Johnson [Wed, 4 Jul 2001 20:53:21 +0000 (20:53 -0000)]
Change mem (other sized memory reference) to cause operand size mismatch error
if a size is specified.

svn path=/trunk/yasm/; revision=87

23 years agoAdd CPU field to fence instructions.
Peter Johnson [Wed, 4 Jul 2001 20:22:34 +0000 (20:22 -0000)]
Add CPU field to fence instructions.

svn path=/trunk/yasm/; revision=86

23 years agoImplement lfence and missing mfence, minpd/ps/sd/ss.
Peter Johnson [Wed, 4 Jul 2001 20:16:43 +0000 (20:16 -0000)]
Implement lfence and missing mfence, minpd/ps/sd/ss.

svn path=/trunk/yasm/; revision=85

23 years agoImplement sfence.
Peter Johnson [Wed, 4 Jul 2001 20:09:44 +0000 (20:09 -0000)]
Implement sfence.

svn path=/trunk/yasm/; revision=84

23 years agoAdd !onebytemem and !twobytemem.
Peter Johnson [Wed, 4 Jul 2001 08:14:46 +0000 (08:14 -0000)]
Add !onebytemem and !twobytemem.

svn path=/trunk/yasm/; revision=83

23 years agoCombine cmpxchg and xadd into !cmpxchgxadd.
Peter Johnson [Wed, 4 Jul 2001 08:03:04 +0000 (08:03 -0000)]
Combine cmpxchg and xadd into !cmpxchgxadd.
Combine !sseps and !sse2ps.
Change !sse2mmx to !mmxsse and make more flexible (handle both SSE and SSE2).

svn path=/trunk/yasm/; revision=82

23 years agoxadd reg,mem is invalid.
Peter Johnson [Wed, 4 Jul 2001 07:05:13 +0000 (07:05 -0000)]
xadd reg,mem is invalid.

svn path=/trunk/yasm/; revision=81

23 years agoDelete a couple blank lines accidently left in last commit.
Peter Johnson [Wed, 4 Jul 2001 04:45:51 +0000 (04:45 -0000)]
Delete a couple blank lines accidently left in last commit.

svn path=/trunk/yasm/; revision=80

23 years agoAdd instruction grouping to decrease size of generated yacc code.
Peter Johnson [Wed, 4 Jul 2001 04:24:52 +0000 (04:24 -0000)]
Add instruction grouping to decrease size of generated yacc code.
gen_instr.pl still needs to actually implement this, so this currently breaks
the build.

svn path=/trunk/yasm/; revision=79

23 years agoAdd --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".
Peter Johnson [Fri, 29 Jun 2001 06:25:08 +0000 (06:25 -0000)]
Add --enable-dev option to force CFLAGS to "-ansi -pedantic -Wall -g".

svn path=/trunk/yasm/; revision=78

23 years agoMove extra autoconf/automake files to config/ directory.
Peter Johnson [Fri, 29 Jun 2001 05:35:11 +0000 (05:35 -0000)]
Move extra autoconf/automake files to config/ directory.

svn path=/trunk/yasm/; revision=77

23 years agoForce standard C compilation.
Peter Johnson [Fri, 29 Jun 2001 05:15:52 +0000 (05:15 -0000)]
Force standard C compilation.

svn path=/trunk/yasm/; revision=76

23 years agoDon't distribute config.h, and bison.tab.h is gone due to changes in
Peter Johnson [Fri, 29 Jun 2001 05:14:57 +0000 (05:14 -0000)]
Don't distribute config.h, and bison.tab.h is gone due to changes in
src/Makefile.am.

svn path=/trunk/yasm/; revision=75

23 years agoReverse include and src directories to make sure config.h is built first.
Peter Johnson [Fri, 29 Jun 2001 05:14:17 +0000 (05:14 -0000)]
Reverse include and src directories to make sure config.h is built first.

svn path=/trunk/yasm/; revision=74

23 years agoRemove bison.tab.h due to changes in src/Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:13:33 +0000 (05:13 -0000)]
Remove bison.tab.h due to changes in src/Makefile.am.

svn path=/trunk/yasm/; revision=73

23 years agoChange lex and yacc filenames to match changes in Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:12:44 +0000 (05:12 -0000)]
Change lex and yacc filenames to match changes in Makefile.am.

svn path=/trunk/yasm/; revision=72

23 years agoUse bison.h instead of bison.tab.h to match changes to Makefile.am.
Peter Johnson [Fri, 29 Jun 2001 05:11:40 +0000 (05:11 -0000)]
Use bison.h instead of bison.tab.h to match changes to Makefile.am.

svn path=/trunk/yasm/; revision=71

23 years agoFix how lex and yacc are handled.
Peter Johnson [Fri, 29 Jun 2001 05:11:17 +0000 (05:11 -0000)]
Fix how lex and yacc are handled.

svn path=/trunk/yasm/; revision=70

23 years agoAdd additional checks: const, size_t, vprintf() family, strtoul, and toascii.
Peter Johnson [Fri, 29 Jun 2001 02:13:08 +0000 (02:13 -0000)]
Add additional checks: const, size_t, vprintf() family, strtoul, and toascii.

svn path=/trunk/yasm/; revision=69

23 years agoUse toascii() again (now implemented in util.h if not present on system).
Peter Johnson [Fri, 29 Jun 2001 02:12:15 +0000 (02:12 -0000)]
Use toascii() again (now implemented in util.h if not present on system).

svn path=/trunk/yasm/; revision=68

23 years agoAdd toascii() implementation.
Peter Johnson [Fri, 29 Jun 2001 02:11:36 +0000 (02:11 -0000)]
Add toascii() implementation.

svn path=/trunk/yasm/; revision=67

23 years agostrtoul() implementation for systems that lack it (from BSD).
Peter Johnson [Fri, 29 Jun 2001 02:06:55 +0000 (02:06 -0000)]
strtoul() implementation for systems that lack it (from BSD).

svn path=/trunk/yasm/; revision=66

23 years agoChange copyright and code to match original UCB source.
Peter Johnson [Thu, 28 Jun 2001 22:21:17 +0000 (22:21 -0000)]
Change copyright and code to match original UCB source.

svn path=/trunk/yasm/; revision=65

23 years agoUse ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).
Peter Johnson [Thu, 28 Jun 2001 21:22:01 +0000 (21:22 -0000)]
Use ANSI C compliant #ifndef wrappers (_A_H_ -> YASM_A_H).

svn path=/trunk/yasm/; revision=64

23 years agoIgnore aclocal/autoheader/autoconf/automake files.
Peter Johnson [Thu, 28 Jun 2001 08:55:29 +0000 (08:55 -0000)]
Ignore aclocal/autoheader/autoconf/automake files.

svn path=/trunk/yasm/; revision=63

23 years agoUse autoconf to determine when to include our implementation of strdup, so
Peter Johnson [Thu, 28 Jun 2001 08:50:09 +0000 (08:50 -0000)]
Use autoconf to determine when to include our implementation of strdup, so
remove util.c and create strdup.c. Make util.h, strdup.c, and several source
files use config.h defines.

svn path=/trunk/yasm/; revision=62

23 years agoUse autoconf to determine when to include our implementation of strdup, so
Peter Johnson [Thu, 28 Jun 2001 08:48:32 +0000 (08:48 -0000)]
Use autoconf to determine when to include our implementation of strdup, so
remove util.c and create strdup.c.  Make util.h, strdup.c, and several source
files use config.h defines.

svn path=/trunk/yasm/; revision=61

23 years agoRemove unfinished expr.h from listed sources so that dist target works.
Peter Johnson [Thu, 28 Jun 2001 03:20:06 +0000 (03:20 -0000)]
Remove unfinished expr.h from listed sources so that dist target works.

svn path=/trunk/yasm/; revision=60

23 years agoRemoved unfinished expr.c from listed sources.
Michael Urman [Wed, 27 Jun 2001 22:57:21 +0000 (22:57 -0000)]
Removed unfinished expr.c from listed sources.

svn path=/trunk/yasm/; revision=59

23 years agoInitial checkin of automake/autoconf files.
Michael Urman [Wed, 27 Jun 2001 22:45:20 +0000 (22:45 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.

svn path=/trunk/yasm/; revision=58

23 years agoRemoved to leave space for automake/autoconf generated one.
Michael Urman [Wed, 27 Jun 2001 22:43:11 +0000 (22:43 -0000)]
Removed to leave space for automake/autoconf generated one.

svn path=/trunk/yasm/; revision=57

23 years agoInitial checkin of automake/autoconf files.
Michael Urman [Wed, 27 Jun 2001 20:07:20 +0000 (20:07 -0000)]
Initial checkin of automake/autoconf files.
Proper split directory builds may fail on the lex/yacc generated files.

svn path=/trunk/yasm/; revision=56

23 years agoisascii -> implementation. This is ANSI C, but some headers don't believe it.
Peter Johnson [Wed, 13 Jun 2001 06:05:08 +0000 (06:05 -0000)]
isascii -> implementation.  This is ANSI C, but some headers don't believe it.

svn path=/trunk/yasm/; revision=55

23 years agoAdded appropriate header for y_strdup. (oops)
Michael Urman [Wed, 13 Jun 2001 05:58:21 +0000 (05:58 -0000)]
Added appropriate header for y_strdup.  (oops)

svn path=/trunk/yasm/; revision=54

23 years agoAdded error for duplicate definitions of labels.
Michael Urman [Wed, 13 Jun 2001 05:56:06 +0000 (05:56 -0000)]
Added error for duplicate definitions of labels.
Changed strdup to y_strdup (ANSI compatibility).

svn path=/trunk/yasm/; revision=53

23 years agotoascii -> &= 0x7F for ANSI C compatibility.
Peter Johnson [Wed, 13 Jun 2001 05:53:25 +0000 (05:53 -0000)]
toascii -> &= 0x7F for ANSI C compatibility.

svn path=/trunk/yasm/; revision=52

23 years agoAdded handling of labels including:
Michael Urman [Wed, 13 Jun 2001 05:43:59 +0000 (05:43 -0000)]
Added handling of labels including:
  better symbol table functions
  calling them from yacc rather than lex
  a new warning for .label before normal_label
  locallabel_base now a symrec* instead of a strdup'd string.

Still needs some more error checking (to not allow multiple copies of
the same label, etc.)

Also includes move to y_strdup for bison.y.in (ANSI compatibility)

svn path=/trunk/yasm/; revision=51

23 years agoAdded util.o to dependencies.
Peter Johnson [Wed, 13 Jun 2001 05:25:21 +0000 (05:25 -0000)]
Added util.o to dependencies.

svn path=/trunk/yasm/; revision=50

23 years agoInitial check-in of utility functions.
Peter Johnson [Wed, 13 Jun 2001 05:24:50 +0000 (05:24 -0000)]
Initial check-in of utility functions.

svn path=/trunk/yasm/; revision=49

23 years agoChanged bison.y and token.l build rule.
Peter Johnson [Wed, 30 May 2001 23:35:55 +0000 (23:35 -0000)]
Changed bison.y and token.l build rule.
Added bison.y and token.l to "clean" target.

svn path=/trunk/yasm/; revision=48

23 years agoAdd error rule for all instructions.
Michael Urman [Wed, 30 May 2001 21:39:53 +0000 (21:39 -0000)]
Add error rule for all instructions.

svn path=/trunk/yasm/; revision=47

23 years agoImplemented rcpss and fixed opcode encoding for rcpps.
Peter Johnson [Wed, 30 May 2001 08:02:47 +0000 (08:02 -0000)]
Implemented rcpss and fixed opcode encoding for rcpps.

svn path=/trunk/yasm/; revision=46

23 years agoRealign table columns to allow enough space for the opcode.
Peter Johnson [Wed, 30 May 2001 08:00:26 +0000 (08:00 -0000)]
Realign table columns to allow enough space for the opcode.
Caveat: does make some lines >80 columns.

svn path=/trunk/yasm/; revision=45

23 years agoUse new interface functions in bytecode.c instead of writing values directly.
Peter Johnson [Wed, 30 May 2001 07:41:27 +0000 (07:41 -0000)]
Use new interface functions in bytecode.c instead of writing values directly.

svn path=/trunk/yasm/; revision=44

23 years agoReorganize (yet again) effective address, immediate value, and instruction
Peter Johnson [Wed, 30 May 2001 07:41:03 +0000 (07:41 -0000)]
Reorganize (yet again) effective address, immediate value, and instruction
structures.
Add more interface functions to isolate structure internals and make it
easier to add warnings (such as for multiple overrides/prefixes).

svn path=/trunk/yasm/; revision=43

23 years agoAdd multiple segment override/prefix warnings.
Peter Johnson [Wed, 30 May 2001 07:38:42 +0000 (07:38 -0000)]
Add multiple segment override/prefix warnings.

svn path=/trunk/yasm/; revision=42

23 years agoAdded third opcode byte
Michael Urman [Wed, 30 May 2001 07:26:28 +0000 (07:26 -0000)]
Added third opcode byte

svn path=/trunk/yasm/; revision=41

23 years agomore modular retrofitting
Michael Urman [Wed, 30 May 2001 07:25:13 +0000 (07:25 -0000)]
more modular retrofitting

svn path=/trunk/yasm/; revision=40

23 years agoMoved from 2-byte to 3-byte opcodes.
Peter Johnson [Wed, 30 May 2001 07:07:16 +0000 (07:07 -0000)]
Moved from 2-byte to 3-byte opcodes.

svn path=/trunk/yasm/; revision=39

23 years agoHorrible hack to fold ONE, and REG_A* into more general versions of the
Michael Urman [Wed, 30 May 2001 06:43:02 +0000 (06:43 -0000)]
Horrible hack to fold ONE, and REG_A* into more general versions of the
grammar, but only if they actually exist in the set; generate normally
if the more general version doesn't exist.

svn path=/trunk/yasm/; revision=38

23 years agoCall new error output functions after every line.
Peter Johnson [Tue, 22 May 2001 20:48:21 +0000 (20:48 -0000)]
Call new error output functions after every line.
Moved line_number increment into single location.
Use SetEASegment() to set the segment override in memory addresses.

svn path=/trunk/yasm/; revision=37

23 years agoAdded SetEASegment and SetEAAddressSize (not yet implemented).
Peter Johnson [Tue, 22 May 2001 20:46:13 +0000 (20:46 -0000)]
Added SetEASegment and SetEAAddressSize (not yet implemented).

svn path=/trunk/yasm/; revision=36

23 years agoSplit error and warning handlers into notify and output functions.
Peter Johnson [Tue, 22 May 2001 20:44:32 +0000 (20:44 -0000)]
Split error and warning handlers into notify and output functions.
Paired with changes in bison.y.in, this will make sure only one error
and/or warning is output for each line.

svn path=/trunk/yasm/; revision=35

23 years agoBrought @valid_regs up-to-date with bison.y.in.
Peter Johnson [Tue, 22 May 2001 07:17:50 +0000 (07:17 -0000)]
Brought @valid_regs up-to-date with bison.y.in.

svn path=/trunk/yasm/; revision=34

23 years agoFix all shift/reduce and reduce/reduce conflicts except for those that
Peter Johnson [Tue, 22 May 2001 07:17:04 +0000 (07:17 -0000)]
Fix all shift/reduce and reduce/reduce conflicts except for those that
involve REG_AL, REG_AX, and REG_EAX with immediates.  Also eliminated
various unused rules.
Still need to figure out the proper thing to do with XCHG and AX/EAX as
one of the parameters.
Build still breaks because ONE is not a real token (it needs to be handled
along with the AL, AX, and EAX conflicts in gen_instr.pl).

svn path=/trunk/yasm/; revision=33

23 years agoChanged structure to one hash - now order is not preserved.
Michael Urman [Mon, 21 May 2001 22:33:23 +0000 (22:33 -0000)]
Changed structure to one hash - now order is not preserved.
On the bright side, rules use the | where appropriate.
Arguments after TO rules are shifted right by 1.
Aliased arguments are handled in the lexer.

svn path=/trunk/yasm/; revision=32

23 years agoAdded bison.y and token.l (now dynamically generated).
Peter Johnson [Mon, 21 May 2001 22:11:13 +0000 (22:11 -0000)]
Added bison.y and token.l (now dynamically generated).

svn path=/trunk/yasm/; revision=31

23 years agoAdded TO and segreg.
Peter Johnson [Mon, 21 May 2001 22:10:27 +0000 (22:10 -0000)]
Added TO and segreg.

svn path=/trunk/yasm/; revision=30

23 years agoAdded "TO".
Peter Johnson [Mon, 21 May 2001 22:10:02 +0000 (22:10 -0000)]
Added "TO".

svn path=/trunk/yasm/; revision=29

23 years agoFirst commit. Generates all needed sections of token.l, bison.y from
Michael Urman [Mon, 21 May 2001 21:46:33 +0000 (21:46 -0000)]
First commit.  Generates all needed sections of token.l, bison.y from
instrs.dat, token.l.in, bison.y.in.  Optionally can use other files, or
just verify input is valid.

svn path=/trunk/yasm/; revision=28

23 years agoInserted /* @FOO@ */ markers for dynamic generation via gen_instr.pl.
Michael Urman [Mon, 21 May 2001 21:44:47 +0000 (21:44 -0000)]
Inserted /* @FOO@ */ markers for dynamic generation via gen_instr.pl.

svn path=/trunk/yasm/; revision=27